我正在使用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) {}
}
}
}
谢谢:)