【发布时间】:2022-01-06 22:06:41
【问题描述】:
我正在使用 powershell 中的 Word .NET API 在 powershell 中将 Word .docx 文件批量转换为 PDF,如下所示:
$wordApplication = New-Object -ComObject Word.Application
$doc = $wordApplication.documents.open($infilename, $false)
$doc.SaveAs($outfilename, 17)
word 文件中有带有二维码的图片,PDF 中的图片质量明显比原始 .docx 差。这在屏幕上和打印时都是如此(后者是我的实际用例)。
有什么方法可以在保持图像质量的情况下进行这种转换(最好不使用 3rd-party 工具)?
提前感谢您的帮助!
最好, 小弟
编辑:
试过Document.ExportAsFixedFormat2方法,谢谢指点!不幸的是,似乎没有一个选项对最终结果有任何影响。作为参考,我试过了:
$doc.ExportAsFixedFormat2($outfilename,
17, # file format (pdf)
$false, # open after export
0, # optimize for (print)
0, # range (entire document)
1, # from
1, # to
0, # export without markup
$false, # include document properties
$true, # keep IRM
0, # create bookmarks (no)
$true, # doc structure tags
$true, # include missing fonts as bitmaps
$false, # use ISO19005_1
$true # optimize for image quality
)
但它仍然会洗掉二维码。开启和关闭 ISO19005_1 都是这种情况。
word文件中是这样的:
在 pdf 中,它显示为:
这真的很令人沮丧,似乎没有一个电话或选项对结果有任何影响:@
EDIT 2:无法运行。最后,我修改了二维码生成器代码,直到它给了我 svg 文件,这些文件在 .docx 和 PDF(屏幕和打印机)中都可以正常工作。
【问题讨论】:
标签: ms-word pdf-generation office-interop export-to-pdf