我们需要一个脚本,它将在filemaker pro的打印序列中打印多页PDF .
我们使用的文件制作者PRO数据库边缘粗糙,但一般适用于我们的流程 . 我们正在尝试自动化一些工作流程,但继续遇到一些令我们难以接受的故障,这些故障困扰着我们,并通过此应用程序阻碍了我们的工作效率 .
文件制作者似乎无法打印存储在其容器字段中的多页PDF . 当使用Adobe作为查看PDF文件的默认Web插件时,使mac的mater filemaker pro更加复杂,常常出现问题,因此需要默认使用mac的“预览”作为默认阅读器 .
使用预览的问题在于,当某些文档最初是使用acrobat(如带有嵌入式图片的表单或PDF)创建的时,预览将无法识别表单或嵌入式图片上的数据,从而呈现空白页面,因此必须使用Acrobat只打印文件......
我们的解决方案要求我们批量打印数据库中已发现的大量文档 .
每条记录都有一系列布局,必须按特定顺序打印,还必须打印一组附件(容器字段) .
目前,我们能够按批次的正确顺序批量打印所有文件制作者布局文档(每批平均20条记录,每条记录有10页= 200页(没有相应的附件)
但由于filemaker的限制,我们必须手动进入每个记录,打开每个相关附件,右键单击“打开”Adobe PDF,执行打印命令,手动关闭adobe窗口,手动关闭filemaker容器窗口并重复每个每条记录的相关附件......正如您可以想象的那样,这变得非常耗时 .
为了使问题更复杂,我们必须手工整理文档以插入单独打印的容器PDF并将它们与其他打印文档相关联...
我们正在尝试创建脚本,使我们能够以正确的顺序打印整个文件,以便预先整理 . (即打印5个布局,打印容器1,打印3个布局,打印容器2,打印2个布局,打印容器3和4)移动到下一个记录重复...
我相信解决这个问题的一种方法是将PDF从容器字段导出到一个监视文件夹,该文件夹上附有一个AppleScript并自动打印..但是我没有成功找出如何使用热文件夹编写脚本来打印adobe引擎 .
我创建了使用默认预览引擎打印的热文件夹,但这会导致出现空白文档 . 从adobe reader或acrobat单独的打印对话框打印时,这些文档似乎只能正确打印 .
我对这方面的任何建议持开放态度......
更新:我能够通过剔除其他帖子中的位来创建一个苹果脚本 . 这个脚本使用acrobat pro 11引擎从一个文件夹批量打印PDFS并在完成时将它们移动到一个单独的文件夹...我想帮助将这个脚本集成到filemaker中,这样当我从容器字段导出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
1 回答
我最近做了类似的事情,虽然它没有使用AppleScript那样复杂 . 但是我没有使用 Watch 文件夹 . 步骤基本如下:
通过将文件名附加到
Get( TemporaryPath )
来计算要导出的位置 .将容器字段内容导出到FileMaker到该路径 .
将路径保存到FileMaker中的全局字段
使用嵌入式AppleScript访问全局字段路径
使用AppleScript在预览中打开文件并进行打印
尝试忘记热文件夹的想法,看看你是否可以创建一个AppleScript,它只是打印一个已知位置的PDF,然后从那里开始工作,打印一个PDF,其路径存储在FileMaker全局字段中 . 一旦你完成了这项工作,上述算法应该可行 .