Даже если ваш HTML файл большой, вам не нужно проверять по частям, и вы можете вместо этого использовать бинарный поиск - разбейте ваш документ на две более или менее равные части и попробуйте с первой половиной файла, и если проблема воспроизводит, разделите его далее на две части. Если проблема не воспроизводится для первой половины файла, тогда она должна воспроизводиться для второй половины файла, и вы будете продолжать разбивать фрагменты файла на два меньших, пока файл не станет достаточно маленьким, чтобы увидеть проблему.
Поскольку надстройка pdfHTML
является открытым исходным кодом, вы можете вместо этого отладить источник проблемы - просто go до источника PTagWorker#processTagChild
и достичь точки останова в строке return false;
(см. source на GitHub ) - если результат, если false
, то ошибка регистрируется. Оттуда вы сможете лучше увидеть контекст элементов, вызывающих ошибку журнала, проверив вызов на один уровень ниже стека вызовов в DefaultHtmlProcessor#visit
, а именно element
локальная переменная, которая соответствует элементу HTML.
Таким образом, конкретную c причину можно вывести, используя один из представленных выше подходов - это может быть ошибка / отсутствующая функция в pdf HTML или тот факт, что элемент уровня блока добавляется к уровню абзаца элемент, который не был нормализован автоматически.
Эта ошибка журнала сама по себе не помешает созданию файла PDF, но может привести к отсутствию некоторого содержимого в результирующем PDF, поэтому важно найти root причина.