我在使用 iText 时遇到了一些性能问题。将图像放入 PDF 大约需要 20 秒。问题是我有时间以任何格式制作这些图像,但我应该能够非常快速地将这些图像添加到 PDF 中。
用于图像创建的代码是:
androidsScreenElement.setDrawingCacheEnabled(true);
androidsScreenElement.buildDrawingCache(true);
Bitmap cache = plot.getDrawingCache();
fos = new FileOutputStream("filepath.png", true);
cache.compress(Bitmap.CompressFormat.PNG, 75, fos);
fos.flush();
fos.close();
此代码可以运行,只要它应该为 PDF 创建者制作最佳图像。
PDF 创建者代码为:
Document document = new Document(PageSize.A4, 30, 10, 70, 70);
PdfWriter writer = PdfWriter.getInstance(document, file);
Image image = Image.getInstance(APsFile.getAbsolutePath());
image.scalePercent(65);
image.setAlignment(Image.ALIGN_CENTER);
document.add(image);
这是一个关键部分,PDF 代码执行时间太长。我想知道最佳图像格式是什么。此外,我无法进行缓存,因为我的 android 设备的内存太少了,所以我必须在运行 PDF 生成代码之前将所有 5 个图像保留在文件中。