如何减少 Microsoft Print 转 PDF 生成的文件大小?

如何减少 Microsoft Print 转 PDF 生成的文件大小?

在切换到 Win10 之前,我使用 Adob​​e Acrobat 8​​ 打印为 PDF。Windows 10 附带的 PDF 打印机(Microsoft Print to PDF)生成的文件比 Acrobat 生成的文件大很多倍。

例如,旧式 Word .doc 的大小为 77kB,Acrobat 将其渲染为 28kB 的 .pdf,但 Microsoft Print to PDF 却创建了 325kB 的 .pdf!

我找不到可以在 Microsoft Print to PDF 中更改的任何设置来减小其创建的 PDF 的大小。有什么技巧可以做到这一点吗?

答案1

补充 dsungaro 的回答,参考微软文章,下面是我为成功添加分辨率选项而添加的代码。

打印为 PDF 分辨率选项

*Option: ResOption2
{
*Name: "400 x 400"
*PrintSchemaNamespace: "http://schemas.microsoft.com/windows/2015/02/printing/printschemakeywords/microsoftprinttopdf"
*SpotDiameter: 100
*DPI: PAIR(400, 400)
*TextDPI: PAIR(400, 400)
}
*Option: ResOption3
{
*Name: "300 x 300"
*PrintSchemaNamespace: "http://schemas.microsoft.com/windows/2015/02/printing/printschemakeywords/microsoftprinttopdf"
*SpotDiameter: 100
*DPI: PAIR(300, 300)
*TextDPI: PAIR(300, 300)
}
*Option: ResOption4
{
*Name: "200 x 200"
*PrintSchemaNamespace: "http://schemas.microsoft.com/windows/2015/02/printing/printschemakeywords/microsoftprinttopdf"
*SpotDiameter: 100
*DPI: PAIR(200, 200)
*TextDPI: PAIR(200, 200)
}

这被添加到 .gpd 文件中,代码如下

*Option: ResOption1
{
*Name: "600 x 600"
*PrintSchemaNamespace: "http://schemas.microsoft.com/windows/2015/02/printing/printschemakeywords/microsoftprinttopdf"
*SpotDiameter: 100
*DPI: PAIR(600, 600)
*TextDPI: PAIR(600, 600)
}

这是添加到 pdc 文件中的代码

<ns0000:ResOption2 psf2:psftype="Option" psf2:default="false">
  <psk:ResolutionX psf2:psftype="ScoredProperty" xsi:type="xsd:integer">400</psk:ResolutionX>
  <psk:ResolutionY psf2:psftype="ScoredProperty" xsi:type="xsd:integer">400</psk:ResolutionY>
</ns0000:ResOption2>
<ns0000:ResOption3 psf2:psftype="Option" psf2:default="false">
  <psk:ResolutionX psf2:psftype="ScoredProperty" xsi:type="xsd:integer">300</psk:ResolutionX>
  <psk:ResolutionY psf2:psftype="ScoredProperty" xsi:type="xsd:integer">300</psk:ResolutionY>
</ns0000:ResOption3>
<ns0000:ResOption4 psf2:psftype="Option" psf2:default="false">
  <psk:ResolutionX psf2:psftype="ScoredProperty" xsi:type="xsd:integer">200</psk:ResolutionX>
  <psk:ResolutionY psf2:psftype="ScoredProperty" xsi:type="xsd:integer">200</psk:ResolutionY>
</ns0000:ResOption4>

紧接着此代码

<ns0000:ResOption1 psf2:psftype="Option" psf2:default="true">
  <psk:ResolutionX psf2:psftype="ScoredProperty" xsi:type="xsd:integer">600</psk:ResolutionX>
  <psk:ResolutionY psf2:psftype="ScoredProperty" xsi:type="xsd:integer">600</psk:ResolutionY>
</ns0000:ResOption1>

答案2

我发现 Microsoft Print to PDF 会产生 300k+ 的文件大小,但使用“另存为 pdf”实际上会产生大约 50k 的文件大小。它只保存当前工作表(例如,如果工作簿中有多个工作表),但您可以在执行“另存为”后单击“选项”并在文件类型下拉菜单中选择“pdf”,从而选择其他类型。总而言之,在 Acrobat 中检查 2 个文件的属性,长度的差异可能是由于 Msft 在保存或打印时嵌入的字体造成的……它们是不同的。保存为 PDF 会产生嵌入的 True Type 字体,而打印为 PDF 会产生 True Type (CID) 字体。您可以在属性中检查并选择“字体”选项卡。

答案3

我发现“Microsoft Print to PDF”打印机可能会被欺骗使用低于 600x600 DPI 的分辨率。请按照说明操作这里,但不添加纸张尺寸,而是将分辨率(几乎在两个文件的末尾)从 600x600 更改为 300x300 甚至 150x150。然后生成的文件大小更小。

另一种选择是 Win2PDF 打印机,可以使用打印机设置对话框设置分辨率。

答案4

尝试 Adob​​e(免费)在线 Word 到 PDF 转换器。对我来说,它生成的文件大小甚至比 Acrobat 8​​ 还要小,而且分辨率似乎不错。它甚至可以捕获嵌入的超链接!似乎一定有什么陷阱(可能是文件大小或使用次数或免费时间有限),但在我看来,它很棒。

https://www.adobe.com/au/acrobat/online/word-to-pdf.html?promoid=YXPZG23M&mv=other

相关内容