mac如何利用 applescript 批量将word转换成pdf

2023-11-09

没有更多的废话,直接上代码,代码的注释应该很清楚了。

property word_docs : {"org.openxmlformats.wordprocessingml.document", "com.microsoft.word.doc"}
property default_path : (path to desktop) as alias
property Delim : {".docx", ".doc"}
property PDF : ".pdf"

set outPDF to {}

-- 打开文件选择对话框,只允许选择Word文档,并将所选文件存储在变量 selected_files 中
set selected_files to (choose file of type word_docs default location default_path with multiple selections allowed without invisibles and showing package contents)

-- 将Word文档的扩展名替换为PDF,并将PDF文件路径添加到 outPDF 列表中
set {TID, AppleScript's text item delimiters} to {AppleScript's text item delimiters, Delim}
repeat with afile in selected_files
    copy item 1 of text items of (afile as text) & PDF to the end of outPDF
end repeat
set AppleScript's text item delimiters to TID

-- 使用Microsoft Word应用程序对象
tell application id "com.microsoft.Word"
    -- 将Microsoft Word窗口设置为活动窗口
    activate
    -- 循环遍历所选的Word文档
    repeat with i from 1 to count of selected_files
        -- 获取所选Word文档的POSIX路径
        set theOriginalPath to POSIX path of (item i of selected_files)
        -- 打开Word文档
        open theOriginalPath
        -- 等待0.5秒,以确保Word文档已完全打开
        delay 0.5
        -- 获取转换后的PDF文件的POSIX路径
        set theOutputPath to POSIX path of (item i of outPDF)
        -- 开始一个异常处理块,以处理Word文档访问权限请求的问题
        try
            -- 获取当前打开的Word文档对象
            tell active document
                -- 将Word文档另存为PDF文件
                save as it file name theOutputPath file format format PDF
                -- 关闭Word文档,并不保存更改
                close saving no
            end tell
        on error err
            -- 如果在保存Word文档为PDF文件时发生错误,则执行以下操作
            -- 使用System Events应用程序对象
            tell application "System Events"
                -- 按下ESC键,以关闭访问权限请求窗口
                key code 53
            end tell
            -- 等待2秒钟,以确保访问权限请求窗口已关闭
            delay 2
            -- 获取当前打开的Word文档对象
            tell active document
                -- 将Word文档另存为PDF文件
                save as it file name theOutputPath file format format PDF
                -- 关闭Word文档,并不保存更改
                close saving no
            end tell
        end try
    end repeat
end tell

-- 返回转换后的PDF文件路径列表
return outPDF

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mac如何利用 applescript 批量将word转换成pdf 的相关文章

  • 如何使 SFSpeechRecognizer 在 macOS 上可用?

    我正在尝试使用 Apple 的语音框架在 macOS 10 15 1 上进行语音识别 在 macOS 10 15 之前 语音识别仅在 iOS 上可用 但根据文档 https developer apple com documentation
  • 使用 apache PDF-Box 插入 PDF 附件的缩略图

    我有一个代码可以将文件附加到 PDF 文件 PDDocument doc new PDDocument PDPage page new PDPage doc addPage page read attachment file File fi
  • 检测文本字段溢出

    假设我有一个 PDF 文档 其中的文本字段定义了某种字体和大小 有没有办法确定某些文本是否适合字段矩形内PDFBox 我试图避免文本未完全显示在字段内的情况 因此 如果给定字体和大小的文本溢出 我想将字体大小更改为Auto 0 此代码重新创
  • 如何从 Web API 应用程序返回 PDF

    我有一个在服务器上运行的 Web API 项目 它应该从两种不同类型的源返回 PDF 实际的可移植文档文件 PDF 和存储在数据库中的 base64 字符串 我遇到的问题是将文档发送回客户端 MVC 应用程序 剩下的部分是关于所发生的一切以
  • 在 OS X 上创建和使用静态库

    好的 我正在尝试创建一个 Cocoa 库 静态 并使用 但我不断收到错误 我创建了一个超基本的静态库 TSXLib 其中仅包含一个额外的类 import
  • 在 Swift 中从 UIScrollView 创建 PDF 文件

    我想从 UIScrollView 的内容创建一个 PDF 文件 func createPdfFromView aView UIView saveToDocumentsWithFileName fileName String let pdfD
  • 适用于 iPhone / iPad / iOS 的快速、精益 PDF 查看器 - 提示和提示?

    最近有很多关于绘制 PDF 的问题 是的 您可以使用UIWebView但这无法提供您所期望的优秀 PDF 查看器的性能和功能 您可以绘制PDF页面到 CALayer http www cocoabuilder com archive coc
  • 在 MAC OS X 10.9 上安装 NLTK 确实很困难

    我是 Python Mac OS 新手 我正在寻找 NLTK 教科书 但我在安装它时遇到了一些问题 我一直在寻找解决方案 但不幸的是 所有解决方案似乎都不适合我 或者我误解了如何使用它们 我遇到的基本问题是 尽管按照说明进行操作 NLTK
  • 使用 PHP/linux 将文件合并为单个 PDF

    我正在研究如何将多个 PDF 合并为一个 PDF 我正在寻找一个图书馆可靠且坚固尽可能 最好有一个库可以保留书签 鬼脚本 http pages cs wisc edu ghost 可以在保存书签的位置进行连接 但我遇到了麻烦 在一种情况下它
  • 如何从 R 读取 PDF 元数据

    我们很好奇 有没有一种方法可以从 R 读取 PDF 元数据 例如下面显示的信息 通过搜索我对此无能为力 r pdf metadata在当前的问题库中 非常欢迎任何指点 我想不出纯 R 的方法来执行此操作 但您可能可以安装您最喜欢的 PDF
  • 在 mac os Sierra 上,卡在“设置 CocoaPods 主存储库”上

    转移到 mac os sierra 后 我完全格式化了我的 mac 现在每次运行时我都面临安装 cocoapods 的问题sudo gem install cocoapods pre一切都安装得很好 当我尝试安装 Pod 时 终端堆栈打开S
  • 无法在 OSX 上使用 eclipse for android 链接到 cocos2dx

    我以前从来没有花这么多时间来初始设置开发环境 这有点荒谬 我正在尝试运行cocos2dx附带的演示代码 我在用着 ADK 附带的 eclipse 风格 cocos2d 2 1beta3 x 2 1 0 ndk r8c 我尝试使用 creat
  • Android Studio 无法在 Mac OSX (Mavericks) 上加载 JVM

    我正在尝试在我的 Mac 上设置 Android Studio 它运行的是 OSX 10 9 1 Mavericks 我已经安装了最新的 JDK 在撰写本文时为 1 7 update 45 并且安装了 Android Studio 我使用
  • 基于 Microsoft Word 模板生成 PDF 文档 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我需要一个 Word 文档 它是某种模板 收集用户输入以填充该模板中的特定字段 然后生成一个 PDF
  • 无法在 Mac 上启动 MySQL

    使用 Brew 安装后 我无法运行 MySQL 我使用的是 OS X El Capitan 版本 10 11 3 和 MySQL Server 版本 5 7 11 当我启动服务器时 我收到 启动 MySQL 错误 服务器退出而不更新 PID
  • NSUserNotificationCenter.defaultUserNotificationCenter() 使用 PyInstaller 返回 None

    我正在尝试将通知发送到通知中心 Mac OSX 我正在使用 PyObjC 绑定来使用我们的 python 应用程序中的 cocoa api 我正在使用以下代码片段 import Foundation import objc NSUserNo
  • 如何将pdf页面设置设置为打印属性对话框?

    大家好 我想知道如何设置 pdf 页面设置到打印属性对话框 例如 如果我的 PDF 页面设置为横向 则布局会自动显示横向而不是纵向 如果我的 PDF 页面设置为纵向 则布局会自动显示纵向 我在这个主题上做了很多研发 但没有找到任何满意的链接
  • 将文本从文本文件添加到 PDF 文件[重复]

    这个问题在这里已经有答案了 这是我的代码 using FileStream msReport new FileStream pdfPath FileMode Create step 1 using Document pdfDoc new D
  • 如何在 Mac OSX Mavericks 中正确运行字符串工具?

    如何在 Mac OSX Mavericks 中正确运行字符串工具 我尝试按照我在网上找到的示例来运行它 strings a UserParser class 但我收到此错误 错误 Applications Xcode app Content
  • 在 macOS 上使用 find 时出现“非法选项”错误

    我试图列出末尾仅带有字母 R 的文件 我用了find在 macOS 终端中如下所示 find type f name R 但我收到消息说illegal option t 第一个参数find是它应该开始寻找的路径 路径 表示当前目录 find

随机推荐

  • c++ fbxsdk安装配置_Linux上安装软件 - coydone

    安装JDK 1 下载JDK http www oracle com technetwork java javase downloads jdk8 downloads 2133151 html 2 使用XFTP工具导入linux 3 解压到
  • C++中如何调用C里面的函数

    经验证 下机制可行 Here is a setup that allows C to call C Maybe this method is appropriate for your need 1 use the not using pre
  • OpenLDAP配置TLS加密传输

    原文发表于cu 2016 07 04 参考文档 基于OpenSSL自建CA与颁发SSL证书 http seanlook com 2015 01 18 openssl self sign ca OpenLDAP with TLS http m
  • 计算机网络——TCP四次挥手过程详解

    上次写了TCP的三次握手 这次总结一下TCP的四次挥手的过程 理清楚为什么握手是三次 挥手需要四次 TCP是面向连接的 连接的建立过程被称为 三次握手 天下没有不散的宴席 有了连接的建立 就会有连接的断开 TCP断开的过程通常被称为 四次挥
  • 【安装arch+win11双系统老按不上

    最近安装arch win11双系统老按不上换了debain也不行 网上了查了下 换Ubuntu总算装上了 Linux和windows双系统 安装Win11要求计算机支持TPM2 0 还有安全启动 https www microsoft co
  • mybatis-plus实现自动填充数据如:数据库中createTime和updateTime

    关于数据库中每个表中 或者会有需要记录表中数据修改的时间 这个时候应该怎么做呢 当然我们的常规做法就是 首先在数据库中添加两个字段 然后在实体类中添加两个属性 private Date createTime private Date upd
  • 人工智能是怎么用在人脸识别上的?

    相信大家都有这样的生活经历 小区的门禁不知道从什么时候开始可以 刷脸 进入了 支付宝账号登录不知道从什么时候开始只需要扫脸了等等 这一切都是人脸识别技术在改变我们的生活 那么人脸识别技术究竟是什么 它是如何工作的呢 人工智能是怎么用在人脸识
  • 学习傅里叶变换的心得

    为什么要进行傅立叶变换 傅立叶变换究竟有何意义 如何用Matlab实现快速傅立叶变换 写在最前面 本文是我阅读了多篇相关文章后对它们进行分析重组整合而得 绝大部分内容非我所原创 在此向多位原创作者致敬 一 傅立叶变换的由来 关于傅立叶变换
  • UV 自动化展开

    采用ABF Angle Based Flattening 方法进行UV的展开 具体原版内容见 ABF plus plus Fast and Robust Angle Based Flattening UV展开可看为3d到2d的映射 而ABF
  • 在Linux程序中输出函数调用栈

    在Linux程序中输出函数调用栈 12 23 2013 程序发生异常时 将函数的调用栈打印出来 可以大大提高定位效率 Linux中提供了三个函数用来获取调用栈 1 2 3 4 5 6
  • react选项卡

    index jsx import React Component from react class table extends Component constructor props super props this state curre
  • 设计模式之自己实现动态代理

    基于前一篇设计模式之代理模式 我们来深入分析下JDK动态代理是如何实现的 并自己实现JDK动态代理 github代码 github动态代理代码 老铁 如果喜欢可以给看小星星 谢谢 1 JDK动态代理原理分析 1 通过被代理对象的引用 利用反
  • 红帽Linux安装教程

    红帽Linux安装教程 小白安装教程 服务于每一位想学习的人 目录 红帽Linux安装教程 前言 拥有一个虚拟机 下载镜像 新建虚拟机 系统安装 总结 前言 本虚拟机安装的是VM15 5 其他虚拟机也可以 使用红帽6的镜像 需要请私信 图中
  • win7下安装linux双系统完整版

    在网上搜索了很多资料 本人亲身经历 利用强大的easybcd 成功在win7下硬盘安装了red hat enterprise linux 6的双系统 具体过程如下 下载的下载的red hat enterprise linux 5文件为rhe
  • FTP服务器版本信息可被获取(CVE-1999-0614)漏洞修复

    FTP服务器版本信息可被获取 CVE 1999 0614 漏洞修复 风险等级 低 漏洞描述 NSFOCUS建议您采取以下措施以降低威胁 修改源代码或者配置文件改变缺省banner信息 漏洞CVE编号 CVE 1999 0614 服务器为Ub
  • Linux命令行使用技巧

    1 什么是Linux Linux操作系统 GUN Linux GUN是开源组织 Linux是指Linux内核 内核 系统核心程序 相当于人的大脑 负责系统程序和硬件分配 2 如何进入Linux的超级用户 1 选择not listed 进入超
  • 单链表拆分

    设 C a1 b1 a2 b2 an bn 为线性表 采用带头结点的单链表存放 设计一个就地算法 将其拆分为两个线性表 使得A a1 a2 an B bn b2 b1 B表采用头插法建立 LinkList Solve LinkList A
  • android ReactNative之Cannot find entry file index.android.js in any of the roots

    由于公司要求 想让我去了解一下ReactNative开发 说是为了以后开发的以后方便移植到IOS上 晕 没办法 照着React Native的中文开发文档配置环境https reactnative cn docs 0 51 getting
  • LeetCode【58】最后一个单词的长度

    题目 给定一个仅包含大小写字母和空格 的字符串 返回其最后一个单词的长度 如果不存在最后一个单词 请返回 0 说明 一个单词是指由字母组成 但不包含任何空格的字符串 示例 输入 Hello World 输出 5 1 public int l
  • mac如何利用 applescript 批量将word转换成pdf

    没有更多的废话 直接上代码 代码的注释应该很清楚了 property word docs org openxmlformats wordprocessingml document com microsoft word doc propert