【发布时间】:2014-08-13 16:58:53
【问题描述】:
我们需要一个脚本,该脚本将在 filemaker pro 的打印序列中打印多页 PDF。
我们使用了一个文件制作器 PRO 数据库,它的边缘很粗糙,但一般适用于我们的流程。我们正在尝试使一些工作流程自动化,但继续遇到巨大的故障,这些故障使我们感到困惑并阻碍了我们使用此应用程序的生产力。
filemaker 似乎无法打印存储在其容器字段中的多页 PDF。当使用 Adobe 作为默认 Web 插件查看 PDF 文件时,mac 的 mater filemaker pro 经常出现崩溃的问题,因此有必要默认使用 mac 的“预览”作为默认阅读器。
使用预览的问题在于,当某些文档最初是使用 acrobat 创建时,例如带有嵌入图片的表单或 PDF,预览将无法识别表单或嵌入图片上的数据,从而呈现空白页面,使其只需要使用 Acrobat 来打印文档...
我们的解决方案要求我们从数据库中的搜索结果中批量打印大量文档。
每条记录都有一系列必须按特定顺序打印的布局和一组必须打印的附件(容器字段)。
目前我们能够以正确的顺序批量打印所有文件制作者布局文档,(平均每批20条记录,每条记录有10页= 200页(没有相应的附件)
由于文件制作者的限制,但是我们必须手动进入每条记录,打开每个相关附件,右键单击“打开为”Adobe PDF,执行打印命令,手动关闭 adobe 窗口,手动关闭文件制作容器窗口和对每条记录的每个相关附件重复....正如您可以想象的那样,这变得非常耗时。
为了使事情变得更复杂,我们必须手动整理文档以插入单独打印的容器 PDF 并将它们与其他打印的文档相关联...
我们正在尝试创建脚本,使我们能够以正确的顺序打印整个文件,以便预先整理。 (即打印 5 个布局、打印容器 1、打印 3 个布局、打印容器 2、打印 2 个布局、打印容器 3 和 4)移动到下一个记录重复...
我相信解决此问题的一种方法是将 PDF 从容器字段导出到一个监视文件夹,该文件夹将附加一个 applescript 并自动打印。但是我没有成功弄清楚如何编写一个热文件夹的脚本使用 adobe 引擎进行打印。
我制作了使用默认预览引擎打印的热文件夹,但这会导致一个空白文档。这些文档似乎只有在单独从 adobe reader 或 acrobat 的打印对话框打印时才能正确打印。
目前我愿意接受任何建议...
更新:我能够通过从其他帖子中挑选一些内容来创建一个苹果脚本。此脚本使用 acrobat pro 11 引擎从文件夹中批量打印 PDF,并在完成后将它们移动到单独的文件夹中...我需要帮助将此脚本集成到文件制作器中,以便当我从容器字段中导出 PDF 时,它会打印在与 filemaker 记录中的其他文档进行排序...这是脚本:
property myFolder : "HD:Users:User:desktop:Print:"
set myfiles to list folder myFolder without invisibles
repeat with myfile in myfiles
set mycurrentfile to ((myFolder as string) & (myfile as string)) as string
batchprint(mycurrentfile)
end repeat
on batchprint(mycurrentfile)
tell application "Adobe Acrobat Pro"
activate -- bring up acrobat
open alias mycurrentfile -- acrobat opens that new file
tell application "System Events"
tell process "Acrobat"
click menu item "Print..." of menu 1 of menu bar item "File" of menu bar 1
click button "Print" of window "Print"
tell application "System Events"
tell process "Acrobat"
click menu item "Close" of menu 1 of menu bar item "File" of menu bar 1
end tell
end tell
end tell
end tell
end tell
tell application "Finder" -- to move the printed file out
set x to (("HD:Users:User:desktop:Printed PDFs") as text)
if alias x exists then
beep
else
make new folder at the desktop with properties {name:"Printed PDFs"}
end if
move alias mycurrentfile to folder "Printed PDFs"
end tell
end batchprint
【问题讨论】:
-
这个问题是关于编程的吗?你试过什么吗?向我们展示您的代码?也让你的问题更短,目前它 FAR 太长了。没有人会费心阅读整本书。
-
感谢您的意见。问题是关于脚本 filemaker pro 使用 applescript 打印多页 adobe acrobat 文档。我将编辑问题以使要点更清楚。
标签: pdf printing adobe acrobat filemaker