客户端对服务器端的pdf文件进行自动打印.docx

上传人:b****8 文档编号:9340487 上传时间:2023-02-04 格式:DOCX 页数:51 大小:42.86KB
下载 相关 举报
客户端对服务器端的pdf文件进行自动打印.docx_第1页
第1页 / 共51页
客户端对服务器端的pdf文件进行自动打印.docx_第2页
第2页 / 共51页
客户端对服务器端的pdf文件进行自动打印.docx_第3页
第3页 / 共51页
客户端对服务器端的pdf文件进行自动打印.docx_第4页
第4页 / 共51页
客户端对服务器端的pdf文件进行自动打印.docx_第5页
第5页 / 共51页
点击查看更多>>
下载资源
资源描述

客户端对服务器端的pdf文件进行自动打印.docx

《客户端对服务器端的pdf文件进行自动打印.docx》由会员分享,可在线阅读,更多相关《客户端对服务器端的pdf文件进行自动打印.docx(51页珍藏版)》请在冰豆网上搜索。

客户端对服务器端的pdf文件进行自动打印.docx

客户端对服务器端的pdf文件进行自动打印

需要的包有

commons-codec-1.6.jar

commons-logging-1.1.3.jar

httpclient-4.3.3.jar

httpclient-cache-4.3.3.jar

httpcore-4.3.2.jar

httpmime-4.3.3.jar

log4j-1.2.15.jar

ojdbc6.jar

pdfbox-app-1.8.5.jar

代码如下:

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.SQLException;

importjavax.swing.JOptionPane;

publicclassConnOracle{

publicstaticConnectiongetConnectionOracle(Stringuser,Stringpassword,

StringurlIp,Stringsid)throwsClassNotFoundException,

SQLException{

Connectioncon=null;

Class.forName("oracle.jdbc.driver.OracleDriver");

Stringurl="jdbc:

oracle:

"+"thin:

@"+urlIp+":

"+sid;

con=DriverManager.getConnection(url,user,password);

returncon;

}

}

 

/**

*

*クラスの中に利用された定数。

*

*

*/

publicclassConstants{

publicstaticfinalStringTYOUHYOU_ID="TYOUHYOU_ID";

publicstaticfinalStringRIYOUKANNSYO_CD="RIYOUKANNSYO_CD";

publicstaticfinalStringLOCAL_PDF_BASYO="LOCAL_PDF_BASYO";

publicstaticfinalStringSERVER_PDF_BASYO="SERVER_PDF_BASYO";

publicstaticfinalStringDB_USER_ID="DB_USER_ID";

publicstaticfinalStringDB_SID="DB_SID";

publicstaticfinalStringDB_PASSWORD="DB_PASSWORD";

publicstaticfinalStringDB_URL="DB_URL";

publicstaticfinalStringTAJYUUKIDOU_ERROR="多重起動エラー:

要確認";

publicstaticfinalStringSONOTA="sonota";

publicstaticfinalStringSONOTA_UNCOMP="sonota_uncomp";

publicstaticfinalStringTYOUHYOUJIDOUSYUTURYOKU="帳票自動出力処理を実行しました";

publicstaticfinalStringTEYIJI="提示";

publicstaticfinalStringHOUTEI="houtei";

publicstaticfinalStringHOUTEI_UNCOMP="houtei_uncomp";

publicstaticfinalStringPDF="pdf";

publicstaticfinalStringJPG=".jpg";

publicstaticfinalStringC_PATH_TMP="C:

/batch/tmp";

publicstaticfinalStringLOG_FILE="lastTime.txt";

publicstaticfinalStringSTART_FILE="start.txt";

publicstaticfinalStringDB_ERROR="DBと接続する時コネクションエラーを発生しました";

publicstaticfinalStringINTERNET_ERROR="サーバと接続することができない";

publicstaticfinalStringPRINT_ERROR="ローカルのパソコンがプリンタと接続せず、自動印刷処理は中断されました。

";

publicstaticfinalStringJIDOUPRINT_ERROR="自動印刷処理が中断された";

publicstaticfinalStringPDFPRINT_ERROR="PDFを印刷している途中にエラーが発生しました";

publicstaticfinalStringPRINT_IP="PRINT_IP";

publicstaticfinalStringAPP_INTERVAL="APP_INTERVAL";

publicstaticfinalStringPROFILEPATH="C:

\\batch\\config\\AutoPrint.conf";

publicstaticfinalStringSTARTTXTJIKANGSETE="パスC:

/batch/tmpの配下のファイルlastTime.txtに日付時間を設定してください。

(日付時間のフォーマットはyy-MM-ddHH:

mm:

ss.SSSSSS)";

}

importjava.sql.Connection;

importjava.sql.PreparedStatement;

importjava.sql.ResultSet;

importjava.sql.SQLException;

importjava.sql.Timestamp;

importjava.util.ArrayList;

importjava.util.List;

publicclassDao{

publicStringgetFirstMaxTime(Connectionconn,Stringhoyukansho_cdStr,

Stringchohyo_idstr)throwsSQLException{

StringfirstMaxTime=null;

PreparedStatementpre=null;

ResultSetresult=null;

Stringsql="selectmax(to_char(tazzm208.shutsuryoku_date))"

+"fromtazzm208"

+"wheretazzm208.hoyukansho_cdin(__IN_STRING2__)"

.replaceFirst("__IN_STRING2__",hoyukansho_cdStr);

sql=sql

+"andtazzm208.chohyo_idin(__IN_STRING__)".replaceFirst(

"__IN_STRING__",chohyo_idstr);

try{

pre=conn.prepareStatement(sql);

result=pre.executeQuery();

while(result.next()){

firstMaxTime=result.getString

(1);

}

}finally{

try{

if(result!

=null)

result.close();

if(pre!

=null)

pre.close();

if(conn!

=null)

conn.close();

}catch(Exceptione){

e.printStackTrace();

}

}

returnfirstMaxTime;

}

publicListgetOutputpath(Connectionconn,

Stringhoyukansho_cdStr,Stringchohyo_idstr,StringmaxTimeStr,

StringpreviousTimeStr)throwsSQLException{

PreparedStatementpre=null;

ResultSetresult=null;

Stringsql="";

ListoutputpathList=newArrayList();

if(previousTimeStr==null){

sql="selecttazzm208.outputpath,"

+"tazzm208.chohyo_id,"

+"to_char(tazzm208.shutsuryoku_date)"

+"fromtazzm208"

+"whereto_char(tazzm208.shutsuryoku_date)<=?

"

+"andtazzm208.hoyukansho_cdin(__IN_STRING2__)"

.replaceFirst("__IN_STRING2__",hoyukansho_cdStr);

sql=sql

+"andtazzm208.chohyo_idin(__IN_STRING__)"

.replaceFirst("__IN_STRING__",chohyo_idstr);

}else{

sql="selecttazzm208.outputpath,"

+"tazzm208.chohyo_id,"

+"to_char(tazzm208.shutsuryoku_date)"

+"fromtazzm208"

+"whereto_char(tazzm208.shutsuryoku_date)<=?

"

+"andto_char(tazzm208.shutsuryoku_date)>?

"

+"andtazzm208.hoyukansho_cdin(__IN_STRING2__)"

.replaceFirst("__IN_STRING2__",hoyukansho_cdStr);

sql=sql

+"andtazzm208.chohyo_idin(__IN_STRING__)"

.replaceFirst("__IN_STRING__",chohyo_idstr);

}

try{

pre=conn.prepareStatement(sql);

pre.setString(1,maxTimeStr);

if(previousTimeStr!

=null){

pre.setString(2,previousTimeStr);

}

result=pre.executeQuery();

while(result.next()){

Stringoutputpath=result.getString

(1);

Stringchohyo_id=result.getString

(2);

Stringshutsuryoku_date=result.getString(3);

String[]record=newString[3];

record[0]=outputpath;

record[1]=chohyo_id;

record[2]=shutsuryoku_date;

outputpathList.add(record);

}

}finally{

try{

if(result!

=null)

result.close();

if(pre!

=null)

pre.close();

if(conn!

=null)

conn.close();

}catch(Exceptione){

e.printStackTrace();

}

}

returnoutputpathList;

}

/**

*

*@paramconn

*@paramchohyo_idp

*@paramshutsuryoku_date

*@return

*@throwsSQLException

*/

publicStringgetCheckOutputpathResult(Connectionconn,

Stringchohyo_idparam,Stringshutsuryoku_dateparam)

throwsSQLException{

PreparedStatementpre=null;

ResultSetresult=null;

StringoutputpathStr=null;

Stringsql="selecttazzm208.outputpath"

+"fromtazzm208"

+"wheretazzm208.chohyo_id=?

"

+"andto_char(tazzm208.shutsuryoku_date)=?

";

try{

pre=conn.prepareStatement(sql);

pre.setString(1,chohyo_idparam);

pre.setString(2,shutsuryoku_dateparam);

result=pre.executeQuery();

while(result.next()){

Stringoutputpath=result.getString

(1);

outputpathStr=outputpath;

}

}finally{

try{

if(result!

=null)

result.close();

if(pre!

=null)

pre.close();

if(conn!

=null)

conn.close();

}catch(Exceptione){

e.printStackTrace();

}

}

returnoutputpathStr;

}

}

 

importjava.awt.image.BufferedImage;

importjava.io.BufferedReader;

importjava.io.BufferedWriter;

importjava.io.File;

importjava.io.FileInputStream;

importjava.io.FileNotFoundException;

importjava.io.FileOutputStream;

importjava.io.FileReader;

importjava.io.FileWriter;

importjava.io.IOException;

importjava.io.InputStream;

import.ConnectException;

importjava.sql.Connection;

importjava.sql.SQLException;

importjava.util.ArrayList;

importjava.util.List;

importjavax.imageio.ImageIO;

importjavax.print.Doc;

importjavax.print.DocFlavor;

importjavax.print.DocPrintJob;

importjavax.print.PrintException;

importjavax.print.PrintService;

importjavax.print.PrintServiceLookup;

importjavax.print.SimpleDoc;

importjavax.print.attribute.DocAttributeSet;

importjavax.print.attribute.HashDocAttributeSet;

importjavax.print.attribute.HashPrintRequestAttributeSet;

importjavax.print.attribute.standard.MediaPrintableArea;

importjavax.print.attribute.standard.MediaSizeName;

importjavax.print.attribute.standard.OrientationRequested;

importjavax.swing.JOptionPane;

importorg.apache.http.HttpResponse;

importorg.apache.http.StatusLine;

importorg.apache.http.client.ClientProtocolException;

importorg.apache.http.client.HttpClient;

importorg.apache.http.client.methods.HttpPost;

importorg.apache.http.impl.client.DefaultHttpClient;

importorg.apache.log4j.Logger;

importorg.apache.pdfbox.pdmodel.PDDocument;

importorg.apache.pdfbox.pdmodel.PDPage;

publicclassMyThreadextendsThread{

booleanprintFlag=false;

privatestaticLoggerlogger=Logger.getLogger(MyThread.class);

publicvoidrun(){

BufferedWriterbw=null;

BufferedReaderinput=null;

BufferedReaderinputstatus=null;

Filestatus=newFile("C:

/batch/status");

Filefilestatus=newFile(status,"status.txt");

Listcheckoutputpathresult=newArrayList();

ListoutputpathNotNull=newArrayList();

logger.info("二重起動チェック");

//②二重起動チェック

// 1.以下のファイルが存在するかチェックし、存在する場合は二重起動と見なしてエラーメッセージを表示し、処理を中断する

// 二重起動チェックファイル:

【ルートフォルダ】\tmp\start.txt

Filefilepathstart=newFile(Constants.C_PATH_TMP);

Filefilestart=newFile(filepathstart,Constants.START_FILE);

if(filestart.exists()){

logger.info("*******************二重起動*******************");

//エラーメッセージを表示し、処理を中断する

//エラーメッセージ:

”多重起動エラー:

要確認”

Object[]options={"OK"};

JOptionPane.showOptionDialog(null,Constants.TAJYUUKIDOU_ERROR,

Constants.TEYIJI,JOptionPane.OK_OPTION,

JOptionPane.INFORMATION_MESSAGE,null,options,options[0]);

System.exit(0);

}

while(true){

try{

try{

inputstatus=newBufferedReader(newFileReader(filestatus));

StringstatusStr="";

Stringstatusread=inputstatus.readLine();

if(statusread!

=null){

statusStr=statusread;

if("500".equals(statusStr)){

inputstatus.close();

logger.info("処理を中断する");

Ob

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1