从Itext pdf源生成inputStream

时间:2017-04-11 10:45:51

标签: java pdf itext

我试图从iText库生成的文件中生成inputStream对象。这些是文件中的第一个字节:

%PDF-1.4
%âãÏÓ
2 0 obj
<</Length 1571/Filter/FlateDecode>>stream
)©toÿqûºÒç¹Ð4)ÖÞ{Ñ$,·7?ÂDCþDÆü½

1 个答案:

答案 0 :(得分:5)

假设您创建了这样的PDF:

ByteArrayOutputStream out = new ByteArrayOutputStream();
Document document = new Document();
PdfWriter.getInstance(document, out);
document.open();
document.add(new Paragraph("Hello World"));
document.close();

在这种情况下,您可以将OutputStream转换为InputStream,如下所示:

InputStream in = ByteArrayInputStream(out.toByteArray());

假设您创建了这样的PDF:

FileOutputStream out = new FileOutputStream("my.pdf");
Document document = new Document();
PdfWriter.getInstance(document, out);
document.open();
document.add(new Paragraph("Hello World"));
document.close();

然后你可以像这样创建一个InputStream

InputStream in = new FileInputStream("my.pdf");