首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PDF图像中的iText嵌入颜色空间

PDF图像中的iText嵌入颜色空间
EN

Stack Overflow用户
提问于 2020-03-18 10:57:04
回答 1查看 1.1K关注 0票数 1

我使用iText-7java库来使用下面的代码生成pdf。(我正在为pdf文档添加图像)

代码语言:javascript
复制
 pdf = new PdfDocument(writer);
 Document document = new Document(pdf);

 ImageData data = ImageDataFactory.create(imgfilepath);

 Image img = new Image(data);
 img.scaleToFit(imageWidth, imageHeight);

 img.setFixedPosition(1, 0, 0);
 document.add(img);

-Using相同的图像,我已经创建了PDF从杂技。

问题:

(1)当我打印以上两个PDFs 1创建使用iText,2-创建使用Acrobat -我看到质量不同的打印。

  • 因此,我做了研究,并了解到有一些相关的iCC配置文件(颜色配置文件),需要绑定。

当我检查这两个PDF的元数据时,我知道PDF的颜色空间属性有一些不同。(我在这里检查了元数据:https://www.metadata2go.com)

ITEXT元数据详细信息:

Acrobat元数据详细信息

所以我的问题

(1)在CMYK机( iText )打印时,如何获得与Acrobat相同的质量?

(2)是否有办法在PDF格式的图像上附加颜色轮廓(颜色空间)?(目前我所尝试的看起来不起作用)

您可以在这里检查这两个PDF:

(1) 使用Acrobat创建的PDF

(2) 使用iText创建的PDF

这里有一些来自iText RUPS的更多信息:

iText生成的PDF详细信息

杂技生成PDF:

EN

回答 1

Stack Overflow用户

发布于 2020-11-25 08:34:01

看起来,如果图像被操纵,ICC配置文件就会丢失。

我使用PdfCanvas api将从iPhone获取的图像添加到PDF中,这在我看来很不错。

代码语言:javascript
复制
    @Test
    public void testImageColorSpace() throws Exception {

        String imageWithIcc = resourceFile("image-ios-profile.jpg");
        String destination = targetFile("image-colorspace-itext-pdfcanvas.pdf");
        
        PdfDocument pdfDocument = new PdfDocument(new PdfWriter(destination));
        PdfPage page = pdfDocument.addNewPage(new PageSize(mm2pt(400f), mm2pt(400f)));

        PdfCanvas pdfCanvas = new PdfCanvas(page);
        
        ImageData imageData = ImageDataFactory.create(imageWithIcc);

        AffineTransform at = AffineTransform.getTranslateInstance(mm2pt(100f), mm2pt(100f));
        at.concatenate(AffineTransform.getScaleInstance(mm2pt(200f), mm2pt(200f)));
        float[] matrix = new float[6];
        at.getMatrix(matrix);

        pdfCanvas.addImage(imageData, matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]);
        pdfDocument.close();
    }

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60738068

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档