控制导出 .pdf 文件的大小

ODA 成员有时会问,为什么导出的 .pdf 文件大小如此之大。有时这些问题需要调查和修复,但有时原因仅仅是所选参数,这些参数会显著增加生成的 .pdf 文件的大小。在本文中,我们将探讨这些参数,并就如何减小导出的 .pdf 文件大小提出建议。

文本导出标志:

  • kTTFTextAsGeometrykSHXTextAsGeometry 负责将图纸中的文本导出为 .pdf 的方式:作为文本或作为一组几何图元。这些标志对文件大小的影响取决于图纸中的文本量、不同字体的数量以及其他参数,例如 .pdf 的矢量分辨率。
  • kEmbededTTF(如果未设置 kTTFTextAsGeometry 则可设置)控制是否将整个字体文件嵌入到 .pdf 文件中。它大大提高了 .pdf 的可移植性,但显然会增加文件大小。为了减小文件大小,可以使用 kEmbededOptimizedTTF 标志。此标志会删除嵌入字体中未使用的部分,从而使文件大小更小,但未来对该 .pdf 的编辑将受到限制。
  • SearchableTextType(如果也设置了 kTTFTextAsGeometry 或 kSHXTextAsGeometry 则可设置)将带有文本的注释添加到 .pdf 中,这提供了当文本作为几何图形导出时搜索文本的能力。此选项会增加 .pdf 的大小。

压缩设置:

  • kFlateCompression 使用zip算法压缩.pdf的内容。它显著减小了.pdf文件的大小。我们建议始终使用此标志。
  • kASCIIHexEncoding 将内容转换为ASCIIHex序列,这实际上使.pdf文件大小增加了一倍。有些人认为这种转换使.pdf看起来更好,但如果您关心文件大小,我们不建议使用此选项。
  • DCTCompression (setDCTCompression(bool bEnable)) 如果.pdf中有图像,则使用JPEG算法压缩图像。它显著减小了.pdf文件的大小,我们建议始终使用此标志。
  • DCTQuality (setDCTQuality(OdUInt16 quality)) 将JPEG压缩质量设置为百分比(10到100)。质量越好,.pdf文件越大。

分辨率设置:

  • VectorResolution (setGeomDPI(OdUInt16 dpi)) 用于几何图形,colorImagesDPI (setColorImagesDPI(OdUInt16 dpi)) 和 bwImagesDPI (setBWImagesDPI(OdUInt16 dpi)) 用于彩色和黑白图像,以及 hatchDPI (setHatchDPI(OdUInt16 dpi)) 用于作为位图图像导出的填充图案。这些都很简单:分辨率越大,.pdf文件看起来越好(尤其是在缩放时),但.pdf文件大小也越大。

填充图案设置:

  • 填充图案导出类型(ExportHatchesType 参数)为不同类型的填充图案提供了不同的导出类型。这些在本博客中之前已详细描述,但总的来说,为了减小.pdf文件大小,我们建议对实心填充图案使用 kPdfPaths,对渐变填充图案使用 kBitmap,对其他填充图案使用 kVectorizer。

其他标志和参数,代表特定功能:

  • PDF_A_mode (setArchived(PDF_A_mode mode)) 生成 PDF/A 文件(之前已在本博客中描述)。这会显著增加 .pdf 文件的大小,因此需要在较小的 .pdf 文件与长期存档文档之间进行选择。
  • kLinearized 生成线性化的 .pdf 文件。这也会稍微增加 .pdf 文件的大小,但能提供更快的互联网浏览速度。
  • kMeasuring 通过向 .pdf 文件添加辅助信息(之前已在本博客中描述)来稍微增加 .pdf 文件的大小。kExportHyperlinks 标志(如果绘图中包含链接)也一样。
  • kEnableLayers、kIncludeOffLayerskMergeLines 也会通过添加可选图形内容来增加文件大小,以提供 .pdf 图层功能和线条交叉的局部透明度,因此如果这些选项不重要,可以将其关闭以减小 .pdf 文件的大小。
  • CropImages (setImageCropping(bool bEnable)) 裁剪图像中未使用的部分,因此可以显著减小 .pdf 文件的大小。例如,有时从绘图导出的图像在 .pdf 文件中显示时,只有部分图像可见(部分图像放置在页面外部或特定视口外部)。此选项默认启用,我们强烈建议保持此设置。
  • kSimpleGeomOptimization 在导出包含大量几何图形的大型绘图时,会简化大量几何图形,尤其是在使用中等/小纸张尺寸或中等/小分辨率时。例如,我们可以使用圆形或椭圆形,它在 .pdf 文件中显示时就像一个点或一条线。即使放大到最大,它也不会再次变成圆形。这意味着此类实体可以作为单个点或线导出到 .pdf 文件中,并且质量不会受到影响。在某些情况下,此选项可以将 .pdf 文件大小减小数十倍,因此建议几乎总是使用它。此标志的唯一副作用是导出时间增加,因为优化需要额外的时间。

今天就开始行动

免费试用 ODA 软件 60 天。
无风险,无需信用卡。

免费试用