如何在线创建包含可变数据的pdf

时间:2014-04-29 18:08:17

标签: html pdf adobe-indesign

我不太确定如何正确提出这个问题,所以我会尝试描述我正在寻找的解决方案,然后我希望有人可以帮助我以正确的方式构建问题/解决方案。

我的pdf如下所示:http://thomasabcd.site44.com/topdf/279928-triangle.pdf基于indesign文件。

我想根据数据库中的数据更改文本和QR码,并输出新的pdf进行打印,而无需手动编辑原始的indesign文件。我在indesign中有原始布局(可在此处找到http://thomasabcd.site44.com/topdf/279928-triangle.indd),我的想法是将其导出为HTML,这样我就可以替换文本和QR代码,然后生成HTML文件作为pdf。但这似乎不起作用,因为从indesign输出的HTML似乎不是像素完美的,并且尺寸看起来不正确,并且得到的html看起来也很模糊。 所以我不知道我是通过将indesign文件转换为html然后转换为pdf,或者我是否应该做一些完全不同的事情来走错路。

所以我想我的问题的核心是如何根据我的indesign文件最好地生成pdf。

感谢

托马斯

3 个答案:

答案 0 :(得分:1)

您是此InDesign自定义路径的唯一用户吗?如果是这样,InDesign有一些相当容易使用且可以跨平台构建的优秀scripting options。即使您的用户数量有限,只要他们有InDesign,您就可以共享这些脚本。

如果您想要更强大的功能,InDesign还会公开您可以在.Net中与之交谈的COM对象。该文档几乎遵循脚本指南。他们还为Mac公开了一个Applescript字典。两者都允许您以静默或交互方式启动InDesign,并可以使用鼠标和键盘执行任何操作。

您可以通过在服务器上安装InDesign来进一步增强上述COM路径,只要您获得适当的许可,就可以使用服务器端语言(如.Net或PHP)调用它。

Adob​​e还有一个专门的server version InDesign可用,但上次我调查它时成本过高。

如果您不想依赖InDesign,那么您的下一个最佳选择是PDF库。这实际上取决于您要定位的语言/平台。 iText是一个很棒的Java库,它已经将.Net的功能移植到。iTextSharp。还有许多其他伟大的图书馆,它只取决于你的情况。沿着这条路走下去,您将在InDesign中创建PDF,然后将该PDF用作自定义模板。您无法(轻松)替换PDF中的文本,因此您只需要确定X,Y坐标以及字体信息,但它非常简单。

如果你只有文字,你可以做一些非常简单的事情,这只是让你的变量文本变成与普通文本完全一样的表单字段。然后你可以用Adobe Acrobat甚至Adobe Reader填写空白。但是,由于字体嵌入许可证,这会遇到一些问题。

我花了十多年时间做了所有这些事情,所以如果你愿意,我可以详细说明任何一件事。

答案 1 :(得分:0)

我不知道不确定,但我的猜测是你无法让它像那样工作。

对我来说,你有两种可能: 1.生成pdf服务器端 2.你生成你的pdf客户端

你有什么样的服务器/语言/ infra?你使用PHP吗? java吗? 对于100%客户端,我知道这个lib运行良好http://parall.ax/products/jspdf

但我认为这里最好的方法是在您的服务器中动态生成您的pdf并让您的客户端下载它。我是一个Java人,所以我会告诉你使用Jasper,但任何pdf生成器都会这样做

答案 2 :(得分:0)

问题的转移将是放置字段(文本为文本,按钮为QR码),并使用iText填充这些字段。有了它,你绝对不必关心放置的位置,因为字段包含该信息。