gpt4 book ai didi

java - FOP 驱动程序配置与 FOPFactory 相同

转载 作者:行者123 更新时间:2023-11-30 06:36:17 24 4
gpt4 key购买 nike

我目前正在使用 FOP 嵌入使用驱动程序如下

Driver driver = new Driver();  
driver.setRenderer(Driver.RENDER_PDF);
driver.setInputSource(new InputSource(new FileInputStream(tempout)));
File tempFile = File.createTempFile("W2P", ".pdf");
FileOutputStream pdfOutput = new FileOutputStream(tempFile);
tempFile.deleteOnExit();
driver.setOutputStream(pdfOutput);
driver.run();

但我想以编程方式访问配置设置,特别是输出分辨率,因为我必须生成多个分辨率文件 72dpi 150dpi 300dpi我能找到的唯一方法是按如下方式更改为 FOPFactory

FopFactory fopFactory = FopFactory.newInstance();
OutputStream out = new BufferedOutputStream(new FileOutputStream(new File("C:/Temp/myfile.pdf")));
Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF, out);
TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer(); // identity transformer
Source src = new StreamSource(new File("C:/Temp/myfile.fo"));
Result res = new SAXResult(fop.getDefaultHandler());
transformer.transform(src, res);

有没有一种方法可以使用 Driver 控制 FOP 引擎,或者我是否必须切换到 FOPFactory,这样做有什么好处/问题?

最佳答案

Driver 类仅在旧的和未维护的 FOP 版本(0.20.5 及更早版本)中可用。 "new stable API" (包括 FopFactory)是多年前推出的。所以我的建议是使用 FopFactory 和最新的 FOP (1.0)。

关于java - FOP 驱动程序配置与 FOPFactory 相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5042486/

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