MochiuWiki : SUSE, EC, PCB
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
Qtの基礎 - PDFのソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
Qtの基礎 - PDF
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == Qtにおいて、PDFを作成する手順を記載する。<br> <br><br> == PDFの作成 == ==== QPdfWriterライブラリ ==== Qtでは、簡単にPDFを作成する機能が用意されている。<br> <syntaxhighlight lang="c++"> #include <QPdfWriter> // PDFを作成 QPdfWriter pdfWriter("ファイル名"); // レイアウトオブジェクト QPageLayout pdfLayout; // 単位をポイントに設定 pdfLayout.setUnits(QPageLayout::Point); // 紙サイズ、余白を設定 pdfLayout.setPageSize(QPageSize(QPageSize::A4), QMarginsF(105.0, 40.0, 40.0, 20.0)); // 縦に設定 pdfLayout.setOrientation(QPageLayout::Portrait); // レイアウトオブジェクトをPDFに設置 pdfWriter.setPageLayout(pdfLayout); // DPIを取得する場合は以下のようにする double dPixToPoints = (double)pdfWriter.resolution() / 72.0; // QPainterクラスを使用してPDFを書き込む QPainter painter; if(painter.begin(&pdfWriter)) { painter.drawText(QPoint(100, 100), "何か文字"); // 改ページ pdfWriter.newPage(); } painter.end(); </syntaxhighlight> <br> ==== Poppler-Qt5ライブラリ ==== Poppler-Qt5は、QPdfWriterライブラリと比較して、より高度なPDF操作や読み込みに適している。<br> <syntaxhighlight lang="c++"> #include <QCoreApplication> #include <QPainter> #include <poppler-qt5.h> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); // PDFファイルを読み込む Poppler::Document *document = Poppler::Document::load("input.pdf"); if (!document || document->isLocked()) { delete document; return -1; } // 最初のページを取得 Poppler::Page *page = document->page(0); if (page == nullptr) { delete document; return -1; } // ページを画像として描画 QImage image = page->renderToImage(72.0, 72.0); // 画像を保存 image.save("output.png"); delete page; delete document; return 0; } </syntaxhighlight> <br><br> __FORCETOC__ [[カテゴリ:Qt]]
Qtの基礎 - PDF
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse