Intereting Posts
PHP SOAP – добавление TicketHeader Переменная Codeigniter Post empty Laravel получает предполагаемый URL-адрес Как считать простое число от 0 до 100000000 менее чем за 1 минуту в PHP? Преобразование переменной Javascript в переменную PHP Могу ли я получить текущую информацию о маршруте в промежуточном программном обеспечении с помощью Lumen? HTML / PHP, выбирая значение из раскрывающегося меню и извлекая связанную строку и вывешивая все данные из этой строки Преобразование армейского времени в основное время AM PM в PHP динамические столбцы с использованием запроса сводной таблицы Работа с диапазонами дат в PHP / Oracle Что такое набор символов, если default_charset пуст О области и ООП в PHP Как реализовать переменную-член только для чтения в PHP? Как преобразовать изображение в черно-белое в PHP Архитектура для обработки данных из JSON / ассоциативного массива для динамического заполнения раскрывающегося списка

Ошибка mPDF: невозможно найти таблицу xref

Когда я пытаюсь загрузить PDF-файл и разделяя каждую страницу как pdf, некоторые файлы в формате pdf работают, но некоторые из файлов PDF показывают эту ошибку:

mPDF error: Unable to find xref table -" Maybe a Problem with auto_detect_line_endings" 

Мой код:

 ini_set('memory_limit', '512M'); $pagecount = Model::count_pages($documentPath.$journalDoc); for ($i=1; $i<=$pagecount; $i++) { $pdf = new mPDF('','Letter',12,'helvetica, sans-serif',200,0,0,20,0,10,'P'); $pdf->SetImportUse(); $pdf->SetSourceFile($documentPath.$journalDoc); $import_page = $pdf->ImportPage($i); $pdf->UseTemplate($import_page); $pdf->Output($output_dir.$i.'.pdf', 'F'); } 

Это может быть вызвано файлами PDF версии, несовместимой с запущенным mPDF. Вы часто можете обойти проблему, регрессируя исходные файлы PDF.

Например, для mPDF v6.0 попробуйте объединить ваши PDF-файлы до максимально v1.4, используя что-то вроде Ghostscript. (Где old.pdf – это исходный файл)

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -o new.pdf old.pdf

Ghostscript не будет записывать в файл, который он читает, поэтому, если вы делаете это, вы должны будете танцевать;

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -o new.pdf old.pdf; mv -f new.pdf old.pdf

Версия FPDI в официальном репо mPDF очень стар. Вы можете попробовать обновиться до последней версии . Или вы просто используете официальную версию FPDI, которая использует FPDF .

Если вы получите сообщение о «несвязанной компрессии», вы можете проверить дополнение FPDI PDF-Parser . Обратите внимание, что существует несовместимость лицензии с mPDF.

Это может быть вызвано версией файла PDF, которая несовместима с mPDF. Лучше регрессировать версию файла PDF.
Если вы извлекли страницу из файла, возможно, вы использовали программное обеспечение Adobe. Для решения этой проблемы просто используйте pdftk или pdfchain на платформе Linux.