4

c ++、qt、qprinterクラスを使用して、作業中/好感の持てるURLをPDFに追加する簡単な方法はありますか?少し明確にするために:新しいドキュメントの生成中にURLを追加したいと思います。既存のPDFを編集しようとはしていません。

4

2 に答える 2

4

QTextDocumentを使用してQprinterでPDFを作成できます。QTextDocumentにはsetHtml()<a>メソッドがあり、 tag( )を含むhtmlタグを使用できます<a href='http://www.google.com'>google</a>。その後、QTextDocument print()メソッドを使用して、そのHTMLでPDFを作成できます。

コード例:

QPrinter printer(QPrinter::HighResolution);
printer.setOutputFormat(QPrinter::PdfFormat);
printer.setOutputFileName("out.pdf");

QTextDocument document;
QString html = "<a href='http://www.google.com'>google</a>";
document.setHtml(html);

document.print( &printer ); 

このコードを実行すると、「http://www.google.com」にリンクする「google」というクリック可能なテキストを含むout.pdfファイルが作成されます。

PS<img>タグを使用して画像を追加することもできます。

于 2012-08-24T10:58:14.670 に答える
0

私はそうは思わない、いや。QtにはPDFを編集するためのクラスがなく、QPrinterで何をするのかよくわかりません。QPrinterでできることは、PDF以外のソースを指定して新しいPDFを生成することだけです。PDFはほとんど書き込み専用です。この形式は独自仕様であり、非常に複雑であるため、フリーソフトウェアの世界では、ページの並べ替えやその他の単純なメタデータの変更以外にPDFを編集できるコードはほとんどありません。既存のPDFを編集しようとしている場合は、ほとんどの場合、自分で編集する必要があります。

于 2012-07-24T15:18:12.217 に答える