【问题标题】:Render a XML file to PDF in byte [] format以字节 [] 格式将 XML 文件渲染为 PDF
【发布时间】:2018-06-04 17:41:04
【问题描述】:

我正在使用飞碟/iText 将 XML 文件呈现为 PDF 文件。我想知道是否有任何方法可以将渲染的 PDF 文件保存为 ByteOutputStream 或 byte [] 而不是将其保存为文件。我正在使用下面的代码。非常感谢任何帮助。

byte[] bytes = outputStream.toByteArray();
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document1 = builder.parse(new ByteArrayInputStream(bytes));
String outputFile = "generated/pdfOutput/document.pdf";
OutputStream out = new FileOutputStream(outputFile);
ITextRenderer renderer = new ITextRenderer();
renderer.setDocument(document1, null);
renderer.layout();
renderer.createPDF(out);
out.close();

【问题讨论】:

  • 你试过用ByteArrayOutputStream吗?
  • @JeroenHeier 是的,我试过了......我想将 PDF 保存为 ByteArray
  • 看看this SO question。

标签: java pdf itext flying-saucer


【解决方案1】:

试试类似的东西。

byte[] bytes = outputStream.toByteArray();
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document1 = builder.parse(new ByteArrayInputStream(bytes));

ByteArrayOutputStream baos = new ByteArrayOutputStream();
ITextRenderer renderer = new ITextRenderer();
renderer.setDocument(document1, null);
renderer.layout();
renderer.createPDF(baos);
byte[] byteArray = baos.toByteArray();
baos.close();

【讨论】:

  • 非常感谢先生。这是完美的
猜你喜欢
  • 2011-02-24
  • 1970-01-01
  • 1970-01-01
  • 2014-09-02
  • 1970-01-01
  • 2018-02-20
  • 1970-01-01
  • 2017-02-16
相关资源
最近更新 更多