Handling PDF/ru: Difference between revisions
(Created page with "{{Ambox|text=TODO: Tips for implementing a custom interactive viewer, using Qt and the PDF parsing and rendering libraries mentioned above}} {{LangSwitch}} __TOC__ Category:...") |
mNo edit summary |
||
Line 4: | Line 4: | ||
[[Category:Developing_with_Qt]] | [[Category:Developing_with_Qt]] | ||
На этой странице обсуждаются различные доступные варианты работы с [http://en.wikipedia.org/wiki/Portable_Document_Format Portable Document Format (PDF)] [en.wikipedia.org] в вашем приложении Qt. Также ознакомьтесь с общими соображениями, изложенными на странице [[Handling_Document_Formats | Обработка форматов документов]]. | На этой странице обсуждаются различные доступные варианты работы с [http://en.wikipedia.org/wiki/Portable_Document_Format Portable Document Format (PDF)] [en.wikipedia.org] в вашем приложении Qt. Также ознакомьтесь с общими соображениями, изложенными на странице [[Handling_Document_Formats | Обработка форматов документов]]. | ||
== Чтение/Запись == | |||
Для создания PDF документов с нуля, вы можете использовать встроенную в Qt поддержку печати, которая также позволяет "печатать" в PDF файлы. Для этого вы можете настроить экземпляр [https://doc.qt.io/qt-5/qprinter.html QPrinter] следующим образом: <code>QPrinter printer(QPrinter::HighResolution); printer.setOutputFormat(QPrinter::PdfFormat); printer.setOutputFileName("path/to/file.pdf");</code> Поскольку QPrinter наследует [https://doc.qt.io/qt-5/qpaintdevice.html QPaintDevice], все, что поддерживает вывод графического содержимого на QPaintDevice (или имеет API для печати с помощью QPrinter), может быть использовано для создания PDF: | |||
* ручное рисование с помощью QPainter | |||
Самый основной (но не обязательно самый простой) способ создания PDF документов с помощью QPrinter - это ручная раскраска содержимого документа с помощью [https://doc.qt.io/qt-5/qtdesigner-arthurplugin-example.html системы рисования Qt]. Просто передайте объект QPrinter в качестве ссылки в конструктор [https://doc.qt.io/qt-5/paintsystem.html QPainter] (или, альтернативно, в [https://doc.qt.io/qt-5/qpainter.html#begin QPainter::begin()] для уже существующего QPainter) и затем выполняйте любые операции рисования с этим экземпляром QPainter, как вы обычно делаете (с периодическими вызовами [http://doc.qt.io/qt-5/qprinter.html#newPage QPrinter::newPage()], когда вы хотите перейти к следующей странице PDF). |
Latest revision as of 15:20, 21 August 2022
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).