gpt4 book ai didi

java - Vaadin 将图像转换并显示为 PDF

转载 作者:行者123 更新时间:2023-12-01 09:21:16 25 4
gpt4 key购买 nike

有谁知道如何将图像文件轻松转换为PDF格式。我需要的是从数据库中获取图像并将其以 PDF 形式显示在屏幕上。我究竟做错了什么?我尝试使用 iText 但没有结果。我的代码:

StreamResource resource = file.downloadFromDatabase();//get file from db
Document converToPdf=new Document();//Create Document Object
PdfWriter.getInstance(convertToPdf, new FileOutputStream(""));//Create PdfWriter for Document to hold physical file
convertToPdf.open();
Image convertJpg=Image.getInstance(resource); //Get the input image to Convert to PDF
convertToPdf.add(convertJpg);//Add image to Document
Embedded pdf = new Embedded("", convertToPdf);//display document
pdf.setMimeType("application/pdf");
pdf.setType(Embedded.TYPE_BROWSER);
pdf.setSizeFull();

谢谢。

最佳答案

您没有正确使用 iText:

  1. 您永远不会关闭编写器,因此添加的图像永远不会写入输出流。

  2. 您将一个空字符串传递给您的FileOutputStream。如果您想将 pdf 保存在内存中,请使用 ByteArrayOutputStream 。如果没有,请定义一个临时名称。

  3. 您将 Document 对象(它是 iText 特定的对象)传递给您的 Embedded 对象,并将其视为文件。它不是 pdf 文件或 byte[]。您可能需要传递 ByteArrayOutputStream 或将临时文件作为 ByteArrayOutputStream 读取到内存中,并将其传递给 Embedded

关于java - Vaadin 将图像转换并显示为 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40152565/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com