gpt4 book ai didi

java - 使用java在网络打印机中打印pdf

转载 作者:行者123 更新时间:2023-12-04 11:08:10 25 4
gpt4 key购买 nike

伙计们,我一直在使用 java 打印 pdf。我写的代码如下:

`

public static void main(String[] args) throws PrinterException, PrintException, IOException{
DocFlavor docflavor = new DocFlavor.INPUT_STREAM ("application/octet-stream");
// DocFlavor docflavor = DocFlavor.SERVICE_FORMATTED.PAGEABLE;
/* DocFlavor flavor = DocFlavor.SERVICE_FORMATTED.;*/
PrintService printService = PrintServiceLookup.lookupDefaultPrintService();
DocFlavor[] docF = printService.getSupportedDocFlavors();
for(int i = 0; i<docF.length;i++){
System.out.println(docF[i]);
}
FileInputStream fis = new FileInputStream("pathofpdffile");



Doc pdfDoc = new SimpleDoc(fis, docflavor, null);


DocPrintJob printJob = printService.createPrintJob();
PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();

aset.add(new Copies(1));
aset.add(Sides.ONE_SIDED);
printJob.print(pdfDoc,aset);

fis.close();

}`

上面的代码启动了打印 Activity ,但问题是我在打印时只得到了编码字符。我无法获得我的确切文件。

其次,如果我将 DocFlavor 更改为 SERVICE_FORMATTED.PAGEABLE,它会抛出错误

java.lang.IllegalArgumentException: data is not of declared type
at javax.print.SimpleDoc.<init>(Unknown Source)
at com.calculator.main.PrintingTest.main(PrintingTest.java:42)

第三,如果我将 DocFlavor 更改为 INPUT_STREAM.PDF,它会抛出错误

`Exception in thread "main" sun.print.PrintJobFlavorException: invalid flavor
at sun.print.Win32PrintJob.print(Unknown Source)
at com.calculator.main.PrintingTest.main(PrintingTest.java:49)`

我正在网络打印机上尝试所有这些。任何帮助都会 gr8..

最佳答案

只需更改您的代码以使用 AUTO_SENSE,如下所示。

InputStream inputStream = new FileInputStream("C://test.pdf");
Doc doc = new SimpleDoc(inputStream, DocFlavor.INPUT_STREAM.AUTOSENSE,null);

关于java - 使用java在网络打印机中打印pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21255000/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com