4

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

4

2 回答 2

4

您可以使用 QTextDocument 使用 Qpr​​inter 创建 PDF。QTextDocument 具有setHtml()方法,可让您使用包括<a>tag ( <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 文件:“google”链接到“http://www.google.com”

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

于 2012-08-24T10:58:14.670 回答
0

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

于 2012-07-24T15:18:12.217 回答