gpt4 book ai didi

java - 如何从 java 程序打印文件的任何风格(文本、word、pdf、图像等)?

转载 作者:搜寻专家 更新时间:2023-10-31 20:33:46 26 4
gpt4 key购买 nike

我需要一个 Java 程序来将任何文件打印到默认/选定的打印机(实际上我使用的是 RICOH 通用 PostScript 打印机,它可以将任何文件打印到 PostScript 文件)。此外,我将从打印机读取该流并将其写入 PostScript 文件。我已经尝试了下面来自谷歌的示例程序,但是当我得到 PostScript 文件时,它是某种未知格式。

public class PrintToFileWithJava {
private static boolean jobRunning = true;

public static void main(String[] args) throws Exception {
InputStream is = new BufferedInputStream(new FileInputStream("Authentication in Hive.pdf"));

DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
PrintService service = PrintServiceLookup.lookupDefaultPrintService();
DocPrintJob printJob = service.createPrintJob();
printJob.addPrintJobListener(new JobCompleteMonitor());

Doc doc = new SimpleDoc(is, flavor, null);
PrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();
printJob.print(doc, attributes);

while (jobRunning) {
Thread.sleep(1000);
}
System.out.println("Exiting app");
is.close();
}

private static class JobCompleteMonitor extends PrintJobAdapter {
@Override
public void printJobCompleted(PrintJobEvent jobEvent) {
System.out.println("Job completed");
jobRunning = false;
}
}

}

如有任何建议,我们将不胜感激。

最佳答案

你想做的事情在 Java 中是可能的,但并不简单。您必须编写一个框架,它可以读取您想要支持的所有文件类型,并且可以使用 Java Graphics2D API 呈现这些文件。

工作量很大。您可以使用像 ImageMagick 这样的现有框架让您的生活更轻松。它可以将许多图像格式转换为 PostScript。

要打印 Word 和其他专有格式,您需要特殊的转换器。如果安装了应用程序,您可以尝试Desktop.print() .如果没有,那么您将不得不找到一个可以为您呈现这些文档的库。

关于java - 如何从 java 程序打印文件的任何风格(文本、word、pdf、图像等)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29692468/

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