在 Qt 中创建具有可编辑表单的 PDF

发布于 2024-11-01 18:43:27 字数 358 浏览 4 评论 0原文

我试图找出是否有一种方法可以在 Qt 应用程序生成的 PDF 中嵌入可编辑文本单元格。我目前正在使用 QPrinter 生成 PDF,但如果有另一个库可以做到这一点,那就没问题了。不过,环境仅限于 C 或 C++,因此像 iText 这样的库已经不可用了。就表单功能而言,此 pdf http://examples.itextpdf.com/results/part2/chapter08/text_fields.pdf 是一个很好的例子,但我不需要密码文本字段。

谢谢,
坦率

I'm trying to find out if there's a way to embed an editable text cell in a PDF generated in a Qt application. I'm currently using QPrinter to generate the PDF, but if there's another library that could do this, that would be fine. The environment is limited, though, to C or C++, so libraries like iText are out. In terms of form capabilities, this pdf,
http://examples.itextpdf.com/results/part2/chapter08/text_fields.pdf, is a good example with the exception that I don't need a password text field.

Thanks,
Frank

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

伤痕我心 2024-11-08 18:43:27

这可能不是很有帮助,但无论如何我都会把它扔掉。

  1. wkhtmltopdf 基于 QTWebkit。
  2. 其命令行选项之一是将 HTML 字段转换为 PDF 字段(默认情况下关闭)。
  3. wkhtmltopdf 中几乎没有与 pdf 相关的代码。当然,与字段无关。上游正在为他们进行 PDF 转换。

所以找出那个“东西”是什么,你就很成功了。

编辑:或者花费大量时间为 iText 编写 JNI 包装器。 :/我自己已经这样做了,我可以说编写一个针对 iText 定制的 JNI 生成器会更有趣,但编写一个使用 iText 的 Java 应用程序然后从 C/C++ 应用程序进行 JNI 调用要实用得多传递它需要的数据并检索任何响应。


  1. 表单字段边框是页面的一部分,而不是字段本身。奇怪,但这不是我第一次遇到这种情况。我们自己的软件 LiquidOffice 用于生成具有背景的字段,AcroForms 无法支持相同的方式(现在我们使用仅图标按钮)。

  2. 这些真实 PDF 字段的可见性标志在 PDF 中设置为“可见但不打印”。我怀疑 wkhtmltopdf 会让你直接控制它。补丁时间。

    但是,您可以使用一些 PDF 操作库进行第二遍检查并更改字段的可见性设置。我偏爱 iText,但那个特定的海域里还有很多其他鱼。

This may not be terribly helpful, but I'll throw it out there anyway.

  1. wkhtmltopdf is based on QTWebkit.
  2. One of its command line options is to convert HTML fields into PDF fields (off by default).
  3. There's almost no pdf-related code within wkhtmltopdf. Certainly nothing dealing with fields. Something upstream is doing the PDF conversion for them.

So find out what that "something" is and you're golden.

EDIT: That or spend a lot of time writing JNI wrappers for iText. :/ Having done so myself, I can say it'd be much more interesting to write a JNI generator tailored to iText, but far more practical to write a Java app that uses iText and then make JNI calls from your C/C++ app to pass the data it'll need and retrieve any response.


  1. The form field borders are a part of the page, not the field itself. Odd, but that's not the first time I've encountered it. Our own software, LiquidOffice, used to generate fields with backgrounds AcroForms couldn't support the same way (now we use an icon-only button).

  2. Those Real PDF Fields have their visibility flags set to "visible but doesn't print" within the pDF. I doubt wkhtmltopdf will let you control that directly. Patch time.

    BUT, you could make a second pass with some PDF manipulation library to go through and change the visibility settings on your fields. I'm partial to iText, but there are many other fish in that particular sea.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文