首页 文章

如何从filemaker pro打印多个布局的脚本以及依次从容器中打印多页PDF

提问于
浏览
-2

我们需要一个脚本,它将在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 回答

  • 0

    我最近做了类似的事情,虽然它没有使用AppleScript那样复杂 . 但是我没有使用 Watch 文件夹 . 步骤基本如下:

    • 通过将文件名附加到 Get( TemporaryPath ) 来计算要导出的位置 .

    • 将容器字段内容导出到FileMaker到该路径 .

    • 将路径保存到FileMaker中的全局字段

    • 使用嵌入式AppleScript访问全局字段路径

    • 使用AppleScript在预览中打开文件并进行打印

    尝试忘记热文件夹的想法,看看你是否可以创建一个AppleScript,它只是打印一个已知位置的PDF,然后从那里开始工作,打印一个PDF,其路径存储在FileMaker全局字段中 . 一旦你完成了这项工作,上述算法应该可行 .

相关问题