2013-09-26 2 views
2

моя проблема заключается в том, что pdf-файл открыт в Acrobat Reader, созданный с помощью TCPDF на ZF2.Acrobat Reader быстро сохраняет pdf-файл при его закрытии (созданный с помощью TCPDF)

Файл создан отлично (кроме размера файла, около 500kb), контент прекрасен, но при попытке закрыть файл Acrobat предлагает сохранить изменения, хотя изменений нет. После сохранения файла и перезаписи размер файла падает примерно до 40 килобайт. Таким образом, размер файла уменьшается более чем в 10 раз, но нет видимых изменений в содержимом или иным образом.

Ближайшим я получил какой-либо родственный ответ был этот поток здесь http://forums.planetpdf.com/save-file-prompt-when-closing_topic36.html

Как я понимаю, что проблема связана с «Таблица Xref имеет неверный формат», но мой опыт работы с PDF не достаточно, чтобы понять корень мои проблема. Образец файла можно найти здесь https://dl.dropboxusercontent.com/u/29072870/test_pdf.pdf

Заранее благодарен!

+0

Я только что проверил файл, который вы включили, никаких изменений в размере до или после открытия файла не было 524kb на моей машине –

+0

Когда я перешел с WinXP-32bit на Win7-64bit, у меня была такая же проблема (вы хотите сохранить изменения до закрытия), но, возможно, я добавил слишком много кода в мой TCPDF-код, мои предыдущие файлы TCPDF работают, но не новые, надеюсь, что я найду ошибку в кодировке. (Я использую mysqlPHP no Zend) –

ответ

2

Только первые 7036 байт вашего файла составляют ваш фактический pdf. Все после этого есть некоторый HTML-код. Таким образом, вы должны проверить свой код для создания PDF-кода, он, по-видимому, содержит код HTML-кода (оставшийся от копии & паста? Добавлен в рамки?).

Adobe Reader показывает эти ведущие 7 КБ и в конечном итоге предлагает сохранить их в качестве исправленного файла, закодированного как читатель, предпочитает его (взламывает эти 7 КБ на 40 КБ).

PS: Я только что увидел, что после кода HTML там дополнительно около 80 КБ нулевых байтов.

Похоже, что вы получили полный байтовый буфер размером 0x80000 (= 524288 в десятичном выражении), содержащий ваш PDF, некоторый HTML и некоторое неиспользуемое пространство.

+0

спасибо! проблема была, конечно, между стулом и клавиатурой ... и в моей неопытности с pdf. я не выходил из процесса после вывода pdf, поэтому zend продолжал и вставлял лишние данные в конец pdf. – Kristo

0

проблема на самом деле еще не совсем решена :)

вопрос получил гораздо более странно, в настоящее время. на хром все работает отлично, созданный pdf прочный и никаких дополнительных данных. тогда как в firefox вывод в формате pdf прекрасен, сохранение файла отлично работает, открытие файла с помощью acrobat fine, закрытие дает тот же результат в приглашении на сохранение без каких-либо изменений. по-видимому, до сих пор остается часть нулевых байтов, присутствующих в конце файла. при использовании опции «загрузить как файл» в выводе TCPDF результат верный, никаких дополнительных данных после EOF. происходит только тогда, когда PDF выводится в браузере (firefox) и сохраняется оттуда. может ли это быть проблемой firefox? можно ли проверить файл для такого рода избыточных данных и как-нибудь удалить его?

+0

Возможно, вам следует указать код. Тогда люди, знающие вашу среду, могут лучше помочь. Я знаю только свой путь внутри pdf-файлов и, следовательно, вряд ли могу помочь. – mkl

Смежные вопросы