将其转换为PDF后扫描的图像模糊

时间:2017-09-13 07:32:37

标签: java image pdf itext java.util.scanner

我正在将文档扫描到存储在ByteArrayOutputStream

中的图像

然后从ByteArrayOutputStream,我使用iText创建PDF,但该PDF中的图像模糊不清。如果我们扫描小文档,就可以了,但是当我们扫描一张大小的图片时,它会被保存为PDF中的模糊图像。

我们尝试了各种方法来提高质量,但没有提高质量。 我尝试将图像转换为打印流,但这使它比以前更加模糊。

Component[] comps = MainPanel.this.getComponents();
List<ImagePanel> scannedImages = new ArrayList<ImagePanel>();
for (Component c : comps) {
    if (c instanceof ImagePanel) {
        scannedImages.add((ImagePanel) c);
    }
}
ByteArrayOutputStream output = new ByteArrayOutputStream();
Document document = new Document(PageSize.A4, 0, 0, 0, 0);
try {
    PdfWriter.getInstance(document, output);
    document.open();
    for (ImagePanel p : scannedImages) {
        com.lowagie.text.Image iTextImage = com.lowagie.text.Image.getInstance(p.getImage().getScaledInstance(documentWidth, documentHeight, Image.SCALE_DEFAULT), null);
        document.add(iTextImage);
        document.newPage();
    }
}
catch(Exception e) {
} 
    document.close();
 DocumentUploadInfo.setDocumentStream(output.toByteArray());
 DocumentUploadInfo.setDocumentMIMEType("application/pdf");

0 个答案:

没有答案