2016-10-16 3 views
2

Я вручную сканирую PDF (не спрашивайте, почему, это долгая история), и теперь я пытаюсь определить объект формы XObject.Ошибка в PDF-удалении перекрывающихся объектов

страница Я работаю в 8,5" х 11" , перемещает начало координат в нижнем левом углу, и преобразует до 96 точек на дюйм, так что линия на самом верху:

0.75 0 0 0.75 0 791 cm 

Для целей тестирования, я только с помощью образца из руководства PDF:

35 0 obj 
<< 
/Type/XObject /Subtype/Form /FormType 1 /Name/form1 /BBox [0 0 200 200] /Matrix [1 0 0 1 0 0] /Length 184>> 
stream 
0.5 0.5 0.0 sc 
0 0 m 
0 200 l 
200 200 l 
200 0 l 
f 
endstream 
endobj 

Когда я рисую этот объект:

q 
1 0 0 1 8 -1043 cm 
/form1 Do 
Q 

Howev э, я получаю сообщение об ошибке в Adobe Reader, и запустить проверку Acrobat Предполетной говорит мне:

An error was encountered while removing overlapping objects 

Есть ли способ, чтобы получить более подробную информацию об этой ошибке?

+0

Вы можете попробовать другой потребитель в PDF по двум причинам. Во-первых, поскольку вы обнаружили, что отчет об ошибках Acrobat является базовым. Во-вторых, Acrobat молча игнорирует многие и многие ошибки, предлагая «сохранять изменения» при закрытии файла. Ghostscript даст более значимые ошибки и предупреждения, я уверен, что другие пользователи тоже будут. И если вы публикуете весь файл PDF где-то публичным, мы могли бы посмотреть на него и рассказать вам, что не так ;-) – KenS

+0

Не могли бы вы рассказать о рассматриваемом pdf? В настоящее время это чистое догадки. – mkl

+0

Я посмотрю, если компания, с которой я это делаю (я - подрядчик), в порядке, когда я делюсь документом ... тем временем GhostScript говорит: «Файл не завершил страницу правильно и может быть поврежден «. Есть ли «подробный» вариант? –

ответ

3

Большинство других читателей дают лучшую диагностику, чем Adobe Acrobat. xpdf, например:

Syntax Error (324732): Incorrect number of arguments in 'sc' command 
Syntax Error (2083): Bad block header in flate stream 

Ошибка sc может быть исправлена ​​путем вставки /DeviceRGB cs непосредственно перед ним. Количество аргументов зависит от текущего цветового пространства, которое предположительно должно быть RGB, но в настоящее время что-то еще.

Ошибка Bad block header указывает на то, что с двоичными данными есть смещение 2083, которое является объектом 4 0 R. Что-то вам нужно будет исследовать и исправить.

Также обратите внимание, что в Спецификации PDF рекомендуется маркер конца строки перед, endstream, которого нет здесь.

+0

Как великий философ Гомер Симпсон сказал бы: «До! Прямоугольник заполнения был тестом, который я поставил, чтобы понять, почему настоящий материал не рисовал, и тогда, конечно, цвет прямоугольника был реальной проблемой. Спасибо, что указали мне на эти инструменты для проверки PDF-файлов на наличие ошибок, они будут очень полезны! –