2010-09-15 3 views
0

Я пытаюсь наложить две страницы pdf; один поверх другого. Я использую Cocoa и рамки PDFKit. Когда я накладываю вторую страницу на первую, вторая страница полностью охватывает содержимое первой страницы (поэтому первая страница больше не видна). Есть ли способ изменить прозрачность второй страницы, чтобы ее фон был полностью прозрачным, чтобы страница под ним была видна?Наложение PDF-страниц

Спасибо.

EDIT: Вот мой метод. Создайте подкласс PDFPage, который содержит экземпляр другого PDFPage и следующий метод класса PDFPage, нарисуйте наложенную страницу.

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

    [overlayedPage drawWithBox:box];   
} 
+0

Пожалуйста, продемонстрируйте код, используемый для этого. –

ответ

1

Возможно, ваш код будет в порядке.

Это может быть вызвано самим PDF, если у него есть непрозрачный (белый) фон.

Сначала я попытался работать с двумя PDF-файлами, которые имеют «известные хорошие» (прозрачные) фоны, как и большинство PDF-файлов.

Вы можете легко проверить, разрешено ли Acrobat Reader показывать прозрачный фон в виде небелого растра. Используйте диалоговое окно настроек, чтобы достичь этого:
Adobe Reader showing page background is transparent
Эта страница имеет прозрачный фон. Тем не менее, фон белого ящика ... белый.

Если ваш фон страницы непрозрачен и беден, Reader отобразит весь фон страницы в белом цвете.

+0

Спасибо. Вы абсолютно правы. Фон наложенного PDF не является прозрачным. Я преобразовал документ в растровое изображение и наложил документ на некоторую прозрачность. Это так. Чтобы сделать это лучше, моим следующим подходом является использование растрового изображения и полное удаление фона с использованием фильтра порога изображения ядра. – David

+0

@ Давид: если этот ответ помог вам продвинуться вперед, пожалуйста, воздержитесь от него. –

1

Возможно, вы захотите попробовать преобразовать PDF в растровое изображение, которое будет отображаться в слое Core Animation. Затем вы можете установить прозрачность слоев на все, что вам нужно.

+0

Посмотрев на каждый метод и класс в PDFkit, я до сих пор не могу найти, как накладывать PDF-страницы так, как я хочу, так что это именно то направление, в котором я сейчас веду (если некоторые не предлагают другой жизнеспособный метод). Спасибо – David