Superimposing PDF pages
I am trying to superimpose two pdf pages; one on top of the other. I am using Cocoa and the PDFKit framework. When I superimpose the second page onto the first, the s开发者_Python百科econd page covers the content of the first page entirely (so the first page is no longer visible). Is there a way to change the transparency of the second page so that its background is fully transparent so that the page underneath it is visible?
Thanks.
EDIT: Here is my method. Create a subclass of PDFPage that holds an instance of another PDFPage and in the following method of the PDFPage class, draw the superimposed page.
- (void)drawWithBox:(PDFDisplayBox)box
{
[super drawWithBox:box];
[overlayedPage drawWithBox:box];
}
Your code may be fine.
It can be caused by the PDF itself if it does have a non-transparent (white) background.
I would first try to operate with 2 PDFs that have "known good" (transparent) backgrounds, like most PDFs have.
You can easily check enable Acrobat Reader to show transparent background as a non-white raster. Use the settings dialog to achieve this:
This page has a background that is transparent. However, the white box's background is... white.
If your page background is non-transparent and white, the Reader would display all the page background in white.
You might want to try rendering the PDF into a bitmap to be displayed in a Core Animation layer. Then you can set the transparency of the layers to whatever you need.
精彩评论