【发布时间】:2021-09-25 22:10:36
【问题描述】:
我正在尝试在 macOS 上创建一个工具来光栅化存储在 PDF 文件中的矢量图像,但生成的图像在某些形状的边缘周围包含伪影。另一方面,Preview.app 总是完美地呈现 PDF,如下例所示:
我试过了:
- 使用 PDFKit 加载 PDF 文档,并使用
draw(with:to:)和thumbnail(of:for:)呈现页面 - 将 PDF 文档加载到
NSImage(创建NSPDFImageRep),并使用cgImage(forProposedRect:context:hints:)
在这两种情况下,我都会得到这些类似混叠的伪影,如上图左侧所示。 PDF 文件不在我的控制范围内,因此无法更改以修复它可能存在的任何问题。出于性能原因,我目前正在尝试从 Cairo(正确渲染)迁移到 Apple 的 PDF 渲染(PDFKit 渲染它的速度要快得多,尽管有这些工件)。
有什么我错过的可以修复输出的吗?
【问题讨论】:
-
请发布您的代码。看起来预览使用
PDFView。您是否尝试在PDFView或NSImageView中显示PDF 文件?创建一个测试项目,添加视图,设置接受拖动文件/可编辑,运行,拖动文件,任何工件? -
也许这个讨论有帮助:PDF to JPG Conversion in COCOA
-
@Willeke 我认为这实际上可能是一个单独的并发问题,一旦我确认我会发布答案。
标签: cocoa nsimage apple-pdfkit