如何将 Microsoft Print 生成的文件大小缩小为 PDF?

fee*_*wet 12 pdf print-to-pdf windows-10

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

例如,Acrobat 将 77kB 的旧式 Word .doc 呈现为 28kB .pdf,但 Microsoft Print to PDF 创建了 325kB .pdf!

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

小智 6

为了添加 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)
}
Run Code Online (Sandbox Code Playgroud)

这将添加到 .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)
}
Run Code Online (Sandbox Code Playgroud)

这是添加到 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>
Run Code Online (Sandbox Code Playgroud)

就在这段代码之后

<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>
Run Code Online (Sandbox Code Playgroud)


Chr*_*ris 5

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


A71*_*A71 0

我经历过更极端的尺寸差异。我也不喜欢 Microsoft Print to PDF 缺乏可配置性。如果有可能的话,它也隐藏得非常好。

在您的解决方案的上下文中:您无法更改设置,您需要更复杂的虚拟打印机。

我推荐https://ninite.com/pdfcreator(快速安装程序;如果您还没有理由信任 ninite.com,请自行搜索 PDFCreator。)

它具有内置配置文件,包括缩小文件大小的配置文件。我用它来解决类似的问题,文件大小约为 100 MB。您还可以创建自己的配置文件以进一步缩小它,然后保存该配置文件以供以后使用。