使用qt+qprinter将工作url添加到pdf中

add working url into pdf, using qt + qprinter

本文关键字:pdf 添加 url qt+qprinter 工作 使用      更新时间:2023-10-16

有没有一种简单的方法可以使用c++、qt和qprinter类将工作/可点击的url添加到pdf中?稍微澄清一下:我想在生成新文档时添加url。我没有试图编辑现有的pdf。

您可以使用QTextDocument使用Qprinter创建PDF。QTextDocument具有setHtml()方法,该方法允许您使用包括<a>标记(<a href='http://www.google.com'>google</a>)在内的html标记。之后,您可以使用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 ); 

运行此代码后,您将拥有out.pdf文件,其中包含可点击的文本:"谷歌",链接到"http://www.google.com"

附言:您甚至可以使用<img>标签添加图像。

我不这么认为。Qt没有任何用于编辑PDF的类,我也不太确定你会用QPrinter做什么。QPrinter所能做的就是在给定非PDF源的情况下生成新的PDF。PDF几乎是只写的。这种格式是专有的,而且非常复杂,因此在自由软件世界中,除了页面重新排序或其他简单的元数据更改之外,很少有任何类型的代码可以对PDF进行编辑。如果你正在尝试编辑现有的PDF,你很可能是自己一个人。