windows 7系统下对docx执行以下操作:
①在docx页面底端插入页码,格式为:
②转PDF,并保存到docx同目录.
docx路径
"D:\thePapers\2023年3月5日\2023年3月2日2点10分35_秒测试报告.docx",
PDF输出路径
"D:\thePapers\2023年3月5日\2023年3月2日2点10分35_秒测试报告.PDF"
这里有两点需要特别注意:
PDF输出路径不能写死(因为我的docx路径是动态的),可以在docx的路径中将扩展名docx替换成pdf
所写代码要确保正常运行且没有bug,若有bug请在评论里面继续回复。
@BitGPT @Iverson1022 @霸都小魔女@zyfsky666 @weixin_34037173 @一个处女座的程序猿 @kuokay @rilkran
该回答引用ChatGPT
以下是针对 Windows 7 系统下对 docx 文件执行操作的 PowerShell 实现:
$docx_path = "D:\thePapers\2023年3月5日\2023年3月2日2点10分35_秒测试报告.docx"
$pdf_path = $docx_path -replace ".docx", ".pdf"
# 插入页码
$word = New-Object -ComObject Word.Application
$doc = $word.Documents.Open($docx_path)
$section = $doc.Sections.Item(1)
$footer = $section.Footers.Item(1)
$page_number = $footer.PageNumbers.Add(1)
$page_number.NumberStyle = "wdPageNumberStyleArabic"
$page_number.Alignment = "wdAlignPageNumberCenter"
$doc.Save()
$doc.Close()
$word.Quit()
# 转换为 PDF
$word = New-Object -ComObject Word.Application
$doc = $word.Documents.Open($docx_path)
$doc.SaveAs([ref] $pdf_path, [ref] 17)
$doc.Close()
$word.Quit()
Write-Host "Done."
上述代码中,使用了 PowerShell 的 COM 对象机制来调用 Word 应用程序对象,并使用其提供的 API 实现插入页码和转换为 PDF 格式的操作。具体来说,代码中分别创建了两个 Word 应用程序对象,使用 Open 方法打开了文档,并在第一个应用程序对象中插入了页码,然后在第二个应用程序对象中将文档转换为 PDF 格式并保存到指定的路径中。最后,代码输出 Done. 表示操作完成。
需要注意的是,如果您在计算机上未安装 Microsoft Office,或者安装的版本不支持 PowerShell 的 COM 对象机制,则上述代码将无法运行。此时,您可以尝试使用其他第三方库或工具来实现相同的功能,比如使用 Python 中的 comtypes 库或 PyWin32 库来调用 Word 应用程序对象。