Кукловод PDF Название и автор (метаданные) - PullRequest
0 голосов
/ 03 июля 2018

После того, как все мои поиски и копание кода не помогли, я прошу здесь подсказку:

Как, используя Puppeteer PDF Generation, настроить метаданные файла (в частности, заголовок и автора)?

Я пытался установить метатеги в своем HTML, но он не выводил их в метаданные файла.

1 Ответ

0 голосов
/ 24 июля 2018

Puppeteer не имеет встроенной функциональности для редактирования или записи метаданных в PDF.

Вместо этого вы можете установить утилиту командной строки exiftool для редактирования метаданных PDF-файлов, созданных с помощью Puppeteer:

sudo apt install libimage-exiftool-perl

Затем вы можете использовать функцию Node.js child_process.exec() для вызова утилиты командной строки из вашей программы после создания PDF:

'use strict';

const puppeteer = require('puppeteer');
const exec = require('util').promisify(require('child_process').exec);

const execute = async command => {
  const {stdout, stderr} = await exec(command);

  console.log((stderr || stdout).trim());
};

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();

  await page.goto('https://example.com/');

  await page.pdf({
    path: 'example.pdf',
  });

  await execute('exiftool -title="Example PDF" -author="John Doe" /var/www/example.com/public_html/example.pdf');

  await browser.close();
})();
...