叠加PDF页面

时间:2010-09-15 20:02:58

标签: objective-c cocoa pdf pdfkit

我正在尝试叠加两个pdf页面;一个在另一个之上。我正在使用Cocoa和PDFKit框架。当我将第二页叠加到第一页时,第二页完全覆盖第一页的内容(因此第一页不再可见)。有没有办法改变第二页的透明度,使其背景完全透明,以便下面的页面可见?<​​/ p>

感谢。

编辑:这是我的方法。创建一个包含另一个PDFPage实例的PDFPage子类,并在PDFPage类的以下方法中绘制叠加页面。

- (void)drawWithBox:(PDFDisplayBox)box
{       
    [super drawWithBox:box];

    [overlayedPage drawWithBox:box];        
}

2 个答案:

答案 0 :(得分:1)

您可能希望尝试将PDF呈现为位图以显示在Core Animation图层中。然后,您可以将图层的透明度设置为您需要的任何内容。

答案 1 :(得分:1)

您的代码可能没问题。

如果它具有非透明(白色)背景,则可能由PDF本身引起。

我会首先尝试使用具有“已知良好”(透明)背景的2个PDF,就像大多数PDF一样。

您可以轻松检查启用Acrobat Reader以将透明背景显示为非白色栅格。使用设置对话框实现此目的:
Adobe Reader showing page background is transparent
此页面的背景是透明的。但是,白盒子的背景是......白色。

如果您的页面背景不透明且为白色,则Reader会以白色显示所有页面背景。