从Itext pdf源生成inputStream

adm*_*ban 2 java pdf itext

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

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

Bru*_*gie 7

假设您是这样创建PDF的:

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

在这种情况下,您可以将转换OutputStreamInputStream如下形式:

InputStream in = ByteArrayInputStream(out.toByteArray());
Run Code Online (Sandbox Code Playgroud)

假设您是这样创建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();
Run Code Online (Sandbox Code Playgroud)

然后您可以创建一个InputStream像这样的:

InputStream in = new FileInputStream("my.pdf");
Run Code Online (Sandbox Code Playgroud)