我不太确定如何正确地提出这个问题,所以我将尝试描述我正在寻找的解决方案,然后我希望有人能帮助我以正确的方式构建问题/解决方案。
我有一个类似这样的pdf:http://thomasabcd.site44.com/topdf/279928-triangle.pdf,它是基于一个indesign文件。
我想根据数据库中的数据更改文本和二维码,并输出新的pdf进行打印,而不必手动编辑原始的indesign文件。我在indesign中有原始布局(可以在这里找到http://thomasabcd.site44.com/topdf/279928-triangle.indd),我的想法是将它导出到HTML,这样我就可以替换文本和二维码,然后将HTML文件生成为pdf。但这似乎不起作用,因为从indesign输出的HTML似乎不是像素完美的,尺寸看起来也不正确,而且生成的html看起来也很模糊。所以我不知道把indesign-file转换成html然后再转换成pdf是否走错了路,或者我是否应该做一些完全不同的事情。
所以我想我的问题的核心是如何最好地基于我的indesign文件生成一个pdf。
谢谢
托马斯
发布于 2014-04-30 02:47:00
您是此InDesign自定义路径的唯一用户吗?如果是这样的话,InDesign有一些很好的scripting options,它们相对容易使用,并且可以跨平台构建。即使您的用户数量有限,只要他们有InDesign,您也可以共享这些脚本。
如果您想要更强大的功能,InDesign还公开了一个可以在.Net中与之对话的COM对象。文档很大程度上遵循脚本指南。它们还为Mac提供了一个Applescript字典。两者都允许您静默或交互地启动InDesign,并且几乎可以用鼠标和键盘做任何您能做的事情。
您可以通过在服务器上安装InDesign来进一步增强上面的COM路径,并且只要您获得了适当的许可,就可以从服务器端语言(如.Net或PHP )调用它。
Adobe也有一个专门的InDesign server version可用,但上次我研究它时,它的成本太高了。
如果你不想依赖于InDesign,那么下一个最好的选择就是PDF库。这真的取决于你想要的目标语言/平台。iText是一个伟大的Java库,它已经作为iTextSharp移植到了.Net上。还有其他几十个很棒的库,这只是取决于你的环境。沿着这条路走下去,您将在InDesign中创建您的PDF,然后使用该PDF作为模板进行自定义。你不能(很容易地)替换PDF中的文本,所以你只需要计算出X,Y坐标以及字体信息,但这很简单。
如果你只有文本,你可以做一些非常简单的事情,那就是把你的变量文本变成看起来和普通文本完全一样的表单域。然后你就可以用Adobe Acrobat甚至Adobe Reader来填空了。然而,由于字体嵌入许可,这遇到了一点问题。
我已经花了十多年的时间来做所有这些事情,所以如果你愿意,我可以详细说明更多。
发布于 2014-04-30 02:17:34
我不知道indesign,但我猜你不可能让它像那样工作。
对我来说,你有两种可能: 1.你生成pdf服务器端2.你生成你的pdf客户端
你有什么样的服务器/语言/基础设施?你用php工作吗?java?对于100%的客户端,我知道这个库在http://parall.ax/products/jspdf上工作得很好
但我认为这里最好的方法是在你的服务器上动态生成你的pdf,然后让你的客户端下载它。我是一个Java爱好者,所以我会告诉你使用Jasper,但任何pdf生成器都可以
发布于 2014-04-30 20:58:53
问题的解决方法是放置字段(文本为文本,按钮为二维码),并使用iText填充这些字段。这样你就不需要关心放置位置了,因为字段中包含了这些信息。
https://stackoverflow.com/questions/23372122
复制相似问题