Windows系统命令行下移除PDF文件中内嵌附件的方法咨询
移除PDF内嵌附件的可行方案
- 方案1:使用qpdf命令行工具(跨平台,操作最便捷)
qpdf是开源的专业PDF处理工具,无需复杂配置即可直接移除所有内嵌附件,同时完整保留PDF原文本、排版、注释等其他属性,执行命令如下:qpdf --empty --pages 原文件名.pdf -- --remove-attachments 导出无附件文件名.pdf
操作前建议提前备份原PDF文件,避免误操作导致内容丢失 - 方案2:使用Python PyPDF2库自定义脚本
如果需要自定义控制移除逻辑,可以通过短脚本实现,首先安装依赖库:pip install pypdf2
之后运行以下脚本即可:
from PyPDF2 import PdfReader, PdfWriter reader = PdfReader("input.pdf") writer = PdfWriter() # 复制原PDF所有页面内容 for page in reader.pages: writer.add_page(page) # 清除附件关联的根级配置 if "/Names" in reader.trailer["/Root"]: names_node = reader.trailer["/Root"]["/Names"] if "/EmbeddedFiles" in names_node: del names_node["/EmbeddedFiles"] writer._root_object.update(reader.trailer["/Root"]) # 导出无附件的新PDF with open("output.pdf", "wb") as f: writer.write(f)
- 方案3:使用Ghostscript处理
如果本地已安装Ghostscript,可通过重渲染生成新PDF的方式自动过滤内嵌附件,同时还可附带压缩PDF体积的效果,命令如下:gs -sDEVICE=pdfwrite -o output.pdf input.pdf
内容的提问来源于stack exchange,提问作者Tim
相关产品推荐
相关产品推荐

