我正在使用 android pdf 文档库将图像转换为 pdf,但它正在生成非常大的 pdf。
PdfDocument document = new PdfDocument();
PdfDocument.PageInfo pageInfo =new
PdfDocument.PageInfo.Builder(bitmap.getWidth(), bitmap.getHeight(), 1).create();
PdfDocument.Page page = document.startPage(pageInfo);
Bitmap scaledBitmap = Bitmap.createScaledBitmap(bitmap, bitmap.getWidth(),
bitmap.getHeight(),false);
Canvas canvas = page.getCanvas();
canvas.drawBitmap(scaledBitmap, 0f, 0f, null);
document.finishPage(page);
document.writeTo(new FileOutputStream(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS)+"/"+newPDFNameSingle));
document.close();
这是 apache pdf 框的实现,但它正在输出 pdf 中剪切图像
PDDocument document = new PDDocument();
PDPage page = new PDPage();
document.addPage(page);
PDPageContentStream contentStream = new PDPageContentStream(document, page);
InputStream inputStream = new FileInputStream(tempFile);
PDImageXObject ximage = JPEGFactory.createFromStream(document,inputStream);
contentStream.drawImage(ximage, 20, 20);
contentStream.close();
document.save(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS)+"/"+newPDFNameSingle);
document.close();
如何实现常规大小的 pdf 生成?我的图像大小为 100 kb,但 pdf 生成 1 mb 文件。