感知specfic目录中的pdf文件并使用Java打印“.pdf”文件

时间:2015-12-22 10:01:55

标签: java file pdf netbeans printing

我正在使用Java通过Netbeans创建一个程序,它可以感知特定目录(C:\ Users \ User \ Documents)中的新文件。要检测的文件应仅为“.pdf”文件格式。一旦程序检测到新文件,它将输出在特定目录中检测到新文件。它应显示“检测到新文件”。文件检测后,java会自动将新检测到的文件打印到特定的打印机。 (只使用一台打印机)。还应打印要打印的文件,具有特定属性,例如份数,纸张类型等。打印后,java将通知用户该文件已被打印。

我到处搜索,我刚刚找到了用于打印pdf的骨架代码。我想知道下面的代码该做什么以及要改变什么。我刚接触java编程,我发现很难确定要改变什么以及在程序中添加什么。我研究了java的基础知识,但我觉得很难:(

package printpdf;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import javax.print.Doc;
import javax.print.DocFlavor;
import javax.print.DocPrintJob;
import javax.print.PrintException;
import javax.print.PrintService;
import javax.print.PrintServiceLookup;
import javax.print.SimpleDoc;
import javax.print.attribute.HashPrintRequestAttributeSet;
import javax.print.attribute.PrintRequestAttributeSet;
import javax.print.attribute.standard.Copies;
import javax.print.attribute.standard.MediaSize;
import javax.print.attribute.standard.MediaSizeName;
import javax.print.attribute.standard.Sides;


public class Printpdf {

public static void main(String[] args) {

FileInputStream textStream; 
try { 
    FileInputStream textstream = new FileInputStream("GMA trip.pdf"); 
} catch (FileNotFoundException ffne) { 
} 
        Object textstream = null;
if (textstream == null) { 
        return; 
} 

DocFlavor myFormat = DocFlavor.INPUT_STREAM.PDF;
        Object texttream = null;

Doc myDoc = new SimpleDoc(texttream, myFormat, null); 

PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet(); 
aset.add(new Copies(5)); 
aset.add(MediaSizeName.ISO_A4);
aset.add(Sides.DUPLEX); 

PrintService[] services =
        PrintServiceLookup.lookupPrintServices(myFormat, aset);

if (services.length > 0) { 
        DocPrintJob job = services[0].createPrintJob(); 
        try { 
                job.print(myDoc, aset); 
        } catch (PrintException pe) {} 
} 
    }
} 

谢谢:)

0 个答案:

没有答案