java - 从 Itext pdf 源生成 inputStream

标签 java pdf itext

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

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

最佳答案

假设您是这样创建 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");

关于java - 从 Itext pdf 源生成 inputStream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43343733/

相关文章:

java - 如何检查结果集是否为空

Java:如何将字符串解析为不同的指定类

java - Mandrill/Java - 附件损坏

java - 使用 iText 将 HTML 转换为 PDF

java - Spring Data JPA 不适用于 CascaseType.PERSIST 和 @OneToOne

java - 如何编写 Java for 循环以避免重复计算上限

java - 在 iText pdf 处理过程中识别下划线和删除线属性

java - 如何通过iText7配置连字符?

php - Adobe Reader 无法从使用 mPDF 生成的 PDF 中检索嵌入字体

pdf - 是否可以从可搜索的PDF中访问文字叠加层?