【发布时间】:2016-07-18 06:02:34
【问题描述】:
我正在开发一个需要将图像转换为 PDF 的应用程序。我尝试了一些方法,但问题是,该 PDF 中的图像尺寸非常小。我需要解决方案来解决这个问题。我也在寻找将多个图像转换为单个 PDF 文档。 我将发布我尝试过的代码。
public void convertPDF(byte[] path)
{
String FILE = "mnt/sdcard/FirstPdf.pdf";
Document document=new Document();
try {
PdfWriter.getInstance(document, new FileOutputStream(FILE));
document.open();
try {
image=Image.getInstance(path);
document.add(new Paragraph("My Heading"));
document.add(image);
document.close();
} catch (IOException e) {
e.printStackTrace();
}
} catch (DocumentException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
当我将位图转换为字节数组时,我正在压缩图像,我猜这就是原因。如果不压缩图像,我无法将位图转换为字节数组。
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.PNG,100,stream);
byte[] byteArray=stream.toByteArray();
convertPDF(byteArray);
有什么解决办法吗?
更新
在这里,我已经实现了@Burak Cakir 在答案中建议的答案。但现在我在 PDF 中获得了更大的图像。为了更好地理解,请找到下面的图片。
【问题讨论】:
-
您可以为此使用 itext 库。这是一个例子。 concretepage.com/itext/add-image-in-pdf-using-itext-in-java
-
我试过了。我在这里实现了该代码。我的问题是,PDF 中的图像非常小。
标签: android android-image android-bitmap android-pdf-api