Qt wiki will be updated on October 12th 2023 starting at 11:30 AM (EEST) and the maintenance will last around 2-3 hours. During the maintenance the site will be unavailable.
Handling PDF/ru
TODO: Tips for implementing a custom interactive viewer, using Qt and the PDF parsing and rendering libraries mentioned above |
На этой странице обсуждаются различные доступные варианты работы с Portable Document Format (PDF) [en.wikipedia.org] в вашем приложении Qt. Также ознакомьтесь с общими соображениями, изложенными на странице Обработка форматов документов.
Чтение/Запись
Для создания PDF документов с нуля, вы можете использовать встроенную в Qt поддержку печати, которая также позволяет "печатать" в PDF файлы. Для этого вы можете настроить экземпляр QPrinter следующим образом:
QPrinter printer(QPrinter::HighResolution); printer.setOutputFormat(QPrinter::PdfFormat); printer.setOutputFileName("path/to/file.pdf");
Поскольку QPrinter наследует QPaintDevice, все, что поддерживает вывод графического содержимого на QPaintDevice (или имеет API для печати с помощью QPrinter), может быть использовано для создания PDF:
- ручное рисование с помощью QPainter
Самый основной (но не обязательно самый простой) способ создания PDF документов с помощью QPrinter - это ручная раскраска содержимого документа с помощью системы рисования Qt. Просто передайте объект QPrinter в качестве ссылки в конструктор QPainter (или, альтернативно, в QPainter::begin() для уже существующего QPainter) и затем выполняйте любые операции рисования с этим экземпляром QPainter, как вы обычно делаете (с периодическими вызовами QPrinter::newPage(), когда вы хотите перейти к следующей странице PDF).