У меня есть несколько файлов PDF, которые мне нужно изменить, используя скрипт PHP.Я также могу выполнить exec (), поэтому могу использовать практически все, что работает в CentOS.
Файлы PDF при открытии через Adobe Acrobat Pro X показывают 2 слоя на панели «Слои»:
- Фон
- Цвет
Когда я отключаю оба этих слоя, я получаю черно-белый текст и изображения (текст не является векторным,это отсканированный документ).
Я хочу отключить эти слои и любые другие подобные слои, найденные в PDF-файлах, используя PHP и / или C # или любой инструмент командной строки.
Другая полезная информация:
Когда я запускаю pdfimages (поставляется с XPDF) в моих PDF-файлах, он извлекает именно то, что мне действительно нужно, удаляясь с каждой страницы ...
Обновление дополнительной информации: я изменил пример PDFSharp здесь: http://www.pdfsharp.net/wiki/ExportImages-sample.ashx:
Изменено:
Строка 28: ExportImage(xObject, ref imageCount);
Кому:
PdfObject obj = xObject.Elements.GetObject("/OC");
Console.WriteLine(obj);
Я получил следующий вывод вконсоль для каждого изображения:
<< /Name Background /Type /OCG >>
<< /OCGs [ 2234 0 R ] /P /AllOff /Type /OCMD >>
<< /Name Text Color /Type /OCG >>
, которая фактически является информацией о слое, и документация PDFSharp для ключа / OC:
Перед обработкой изображения его видимость определяется на основе этой записи.Если определено, что оно невидимо, все изображение пропускается, как если бы не было оператора Do для его вызова.
Итак, как мне теперь изменить значение / OC на что-то, что сделаетэти слои невидимы?