pdfapi

Документы Office

Источник office преобразует документы .docx, .xlsx и .pptx в PDF. Внутри работает LibreOffice. Доступен на тарифах Premium и Business.

Отправка#

Файл передаётся в теле запроса в base64 вместе с именем, по расширению выбирается конвертер. Библиотеки читают файл и кодируют его самостоятельно.

cURL
curl -X POST https://pdfapi.ru/api/v1/convert \
  -H "Authorization: Bearer $PDFAPI_KEY" \
  -H "Content-Type: application/json" \
  -d "{\"source\":\"office\",\"filename\":\"report.docx\",\"fileBase64\":\"$(base64 < report.docx | tr -d '\n')\"}" \
  -o report.pdf

Ограничения#

  • Форматы — только .docx, .xlsx и .pptx. Старые .doc, .xls и .ppt требуется пересохранить в новом формате.
  • Размер — до 3,7 МБ. После base64 файл вырастает на треть, а тело запроса ограничено 5 МБ. Большие картинки внутри документа стоит сжать.
  • Проверка — файл должен быть ZIP-архивом, как любой настоящий docx, xlsx и pptx. PDF или картинка, переименованные в .docx, вернут 400. Библиотеки SDK ловят этот момент до отправки данных.
  • Параметры — функционирует только landscape. Размер листа и поля берутся из самого документа.

Шрифты#

Если в документе шрифт, которого нет на сервере, LibreOffice подставит схожий, в этом случае строки могут перенестись по-другому. Для документов, где важна точная верстка, используйте популярные шрифты или встраивайте их в документ при сохранении.

Таблицы Excel#

Печатается то, что Excel напечатал бы сам: области печати, масштаб и ориентация из настроек листа. Широкую таблицу удобнее отправить с landscape: true или заранее задать в файле параметр «вписать в одну страницу по ширине».