Java 以byte[]格式将XML文件呈现为PDF

Java 以byte[]格式将XML文件呈现为PDF,java,pdf,itext,flying-saucer,Java,Pdf,Itext,Flying Saucer,我正在使用flyingdiscer/iText将XML文件呈现为PDF文件。我想知道是否有任何方法可以将呈现的PDF文件保存为ByteOutputStream或byte[],而不是将其保存为文件。我正在使用下面的代码。非常感谢您的帮助 byte[] bytes = outputStream.toByteArray(); DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder bu

我正在使用flyingdiscer/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();

试试那样的

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();

你试过使用ByteArrayOutputStream吗?@JeroenHeier是的,我试过了……我想把PDF保存为ByteArray看看这个问题。非常感谢,先生。那太完美了