#pdf-generation #node-modules #html2pdf #hapi #pdftron
#генерация pdf #узел-модули #html2pdf #hapi #pdftron
Вопрос:
У меня есть @pdftron
модуль node, установленный в приложении test Node (Hapi) на моем Mac. Я пытаюсь сгенерировать PDF-файл из HTML-строки, но сохраненный файл имеет размер 0 КБ. Я пробовал это двумя способами:
- Путем реализации примера кода в обработчике GET для маршрута, настроенного в index.js
- Запустив примеры сценариев, которые установлены на
node_modules/@pdftron/pdfnet-node/samples/HTML2PDFTest/NODEJS/HTML2PDFTest.js
В обоих случаях все новые сохраненные PDF-файлы имеют размер 0 КБ, а все существующие PDF-файлы, которые должны быть изменены процессом, остаются неизменными.
Я проверил, что html2pdf
путь к библиотеке модуля задан правильно.
Следующий код обработчика маршрута соответствует примеру кода, предоставленному PDFTron.
server.route({
method: 'GET',
path: '/pdftron/html',
handler: (request, h) => {
const { PDFNet } = require('@pdftron/pdfnet-node/lib/pdfnet.js')
const main = async () => {
await PDFNet.initialize()
await PDFNet.HTML2PDF.setModulePath('node_modules/@pdftron/pdfnet-node/lib')
const output_path = '/tmp/'
try {
const html2pdf = await PDFNet.HTML2PDF.create();
const doc = await PDFNet.PDFDoc.create();
const html = '<html><body><h1>Heading</h1><p>Paragraph.</p></body></html>'
html2pdf.insertFromHtmlString(html);
await html2pdf.convert(doc);
doc.save(output_path.concat('pdf2html.pdf'), PDFNet.SDFDoc.SaveOptions.e_linearized);
} catch (err) {
console.log(err)
}
}
PDFNet.runWithCleanup(main, 0).then(function () { PDFNet.shutdown(); })
return 'PDF2HTML Test'
}
})
Любые мысли / предложения будут высоко оценены.
Комментарии:
1. Недавно я использовал
puppeteer
пакет для преобразования html2pdf, и у меня это отлично сработало2. Спасибо, мы пробовали это, но не хотим использовать headkess Chrome и использовать скриншоты. Нам нужно больше контроля, а также соответствие требованиям PDF / A.
3. pdftron, я думаю, не бесплатный
4. Это не проблема
5. обратитесь за поддержкой к компании
Ответ №1:
Обновление по этому поводу — я получил отзыв от PDFTron, в котором говорилось, что в настоящее время существует проблема с текущей стабильной версией сборки Mac OS и что они решают ее.
Тем временем они указали мне на ночные экспериментальные сборки здесь. Я загрузил и установил недавнюю экспериментальную сборку, и при ее использовании PDF-файлы теперь сохраняются нормально.