设置 PDF 导出参数和标志

PDF 导出过程可以通过一组参数和标志进行管理,这些参数和标志决定了导出应如何执行。这些参数和标志包含在 PDFExportParams 类实例中。

PDF 导出参数在下表中列出。

导出参数名称

描述

Get 方法

Set 方法

用于导出的数据库

指向要导出到 PDF 文件的数据库的指针。

database()

setDatabase()

用于写入 PDF 文件的输出流

对 OdStreamBuff 指针的引用,表示用于将数据写入 PDF 文件的输出流对象。

 

output()

setOutput()

版本

输出 PDF 文件的版本。请参阅 PDFExportVersions  枚举中支持的版本列表。

version()

setVersion()

要导出的布局

导出到输出 PDF 文件的布局数组。如果数组没有元素,则只导出活动布局。有关更多信息,请参阅 导出布局并设置 PDF 的页面参数

layouts()

setLayouts()

页面参数

导出布局的页面参数(纸张大小、边距等)数组。元素数量必须与布局数组中的元素数量相等。有关更多信息,请参阅 导出布局并设置 PDF 的页面参数

pageParams()

setPageParams()

背景颜色

输出PDF文件的背景颜色。白色是默认值。

background()

setBackground()

调色板

输出PDF文件的调色板。如果未指定(NULL),则根据背景颜色使用两种默认调色板之一。

palette()

setPalette()

颜色策略

用于创建导出输出的颜色策略。有关详细信息,请参阅导出为单色或灰度PDF文件

colorPolicy()

setColorPolicy()

矢量化分辨率

用于矢量化输出PDF文件的分辨率(每英寸点数,DPI)。标准值为:72、150、200、300、400、600、720、1200、2400和4800 DPI。默认值为600 DPI。

getGeomDPI()

setGeomDPI()

填充导出分辨率

填充导出期间创建的图像分辨率(每英寸点数,DPI)。有关详细信息,请参阅将填充导出为PDF

hatchDPI()

setHatchDPI()

彩色和灰度图像分辨率

导出的彩色和灰度图像分辨率(每英寸点数,DPI)。

colorImagesDPI()

setColorImagesDPI()

单色图像分辨率

导出的单色图像分辨率(每英寸点数,DPI)。

bwImagesDPI()

setBWImagesDPI()

图像裁剪

确定如何导出裁剪后的图像。图像可以通过裁剪边界(例如,PDF 文件中的页面边界或视口边界)进行裁剪。如果等于 false,则裁剪后的图像将作为完整图像导出;否则,仅导出图像的可见部分。

imageCropping()

setImageCropping()

图像 DCT 压缩

确定是否使用离散余弦变换 (DCT) 压缩算法导出图像。如果该值为 true,则图像以 JPEG 格式表示。使用 DCT 压缩可显著减小输出 PDF 文件的大小。

dctCompression()

setDCTCompression()

图像 DCT 压缩质量

确定图像 DCT 压缩(JPEG 格式)的质量,仅当图像 DCT 参数为 true 时才应用。参数值可在 10 到 100 之间,用于确定压缩图像相对于原始图像的质量。默认值为 50。

dctQuality()

setDCTQuality()

图像放大

确定当图像分辨率低于设置的图像分辨率时是否放大图像。默认情况下,参数值为 false。

upscaleImages()

setUpscaleImages()

实心填充导出类型

用于导出实心填充的算法。有关详细信息,请参阅将填充导出为PDF

solidHatchesExportType()

setSolidHatchesExportType()

渐变填充导出类型

用于导出渐变填充的算法。有关详细信息,请参阅将填充导出为PDF

gradientHatchesExportType()

setGradientHatchesExportType()

其他填充导出类型

用于导出非实心和非渐变填充的算法。有关详细信息,请参阅将填充导出为PDF

otherHatchesExportType()

setOtherHatchesExportType()

输出文档标题

输出PDF文件的标题。

title()

setTitle()

输出文档作者

创建输出PDF文件的人员姓名。

author()

setAuthor()

输出文档主题

输出PDF文件的主题。

subject()

setSubject()

输出文档的关键词

与输出PDF文件关联的关键词。

keywords()

setKeywords()

输出文档的创建者

用于创建原始绘图文档的应用程序名称(例如,Adobe® FrameMaker®)。

creator()

setCreator()

输出文档的生成者

用于将原始绘图转换为输出PDF文件的应用程序名称(例如,Adobe Acrobat® Distiller)。

producer()

setProducer()

PDF/A 支持

确定输出PDF文件是否以PDF/A(存档)格式创建。有关更多信息,请参阅导出为PDF/A格式

archived()

setArchived()

PRC 支持

确定在导出过程中如何支持PRC格式。有关更多信息,请参阅使用PRC导出为PDF

PRCMode()

setPRCMode()

PRC 压缩

确定在导出过程中是否支持 PRC 数据压缩。您可以分别设置 B-Rep 和镶嵌数据的压缩级别。有关更多信息,请参阅使用 PRC 导出到 PDF

PRCCompression()

setPRCCompression()

PRC 上下文

包含要导出的 PRC 数据,可以对其进行筛选以包含要导出到 PRC 流的特定实体。有关更多信息,请参阅使用 PRC 导出到 PDF

getPRCContext()

setPRCContext()

PRC 背景颜色

定义导出操作生成的 PRC 数据的背景颜色。要确定背景颜色是否与默认颜色白色不同,请使用 hasPrcBackground() 方法。要返回 PRC 数据的默认背景颜色,请调用 clearPrcBackground() 方法。有关更多信息,请参阅使用 PRC 导出到 PDF

getPrcBackground()

setPrcBackground()

PRC 渲染模式

定义导出 PRC 内容的渲染模式。

getPrcRenderingMode()

setPrcRenderingMode()

着色视口导出

确定着色渲染模式下视口的导出模式。有关详细信息,请参阅将着色视口导出为 PDF

shadedVpExportMode()

setShadedVpExportMode()

着色视图背景的透明度

确定使用 GS 设备导出的着色视图背景是否透明。true 值表示透明;false 值表示不透明。

transparentShadedVpBg()

setTransparentShadedVpBg()

禁用 GS 设备

禁用用于导出着色视图的 GS 设备。如果参数值为 true,则禁用 GS 设备;否则(默认情况下)启用 GS 设备。ODA 软件支持将线框和带隐藏线的线框(如果启用了隐藏线消除算法)导出为 PDF 几何图形。对于其他渲染模式(例如,着色),内容将作为图像导出,然后插入到输出 PDF 文件中。尽管在特定情况下,绘图在不同的渲染模式下可能具有相同的外观(例如,线框和着色模式下的圆形)。在这种情况下,将绘图导出为图像在缩放输出 PDF 内容时存在缺点。因此,最好将此类实体导出为几何图形,而不管渲染模式如何。为此,请关闭 GS 设备(将此选项设置为 true),绘图内容将作为几何图形导出,而不依赖于渲染模式。但是,使用此选项可能会导致输出 PDF 文档中的渲染结果不正确,因此请务必小心。通常,建议禁用用于导出过程的 GS 设备。

forceDisableGsDevice()

setForceDisableGsDevice()

GSCache 用法

确定在 PDF 导出操作中是否使用 GsCache。有关更多信息,请参阅 在 PDF 导出期间使用 GsCache

useGsCache()

setUseGsCache()

用于显示和矢量化的多线程

定义在导出过程中是否将多线程用于显示和矢量化的两个参数。

请注意,必须切换 GsCache 支持选项才能使用多线程。

isParallelDisplay()
isParallelVectorization()

setParallelDisplay()
setParallelVectorization()

PDF 块

确定是否将输入图形中的块导出为 PDF 块。有关更多信息,请参阅 将图形块导出为 PDF 块

isUsePdfBlocks()

setUsePdfBlocks()

密码保护支持

确定导出的 PDF 文档是否受密码保护。

密码保护支持仅适用于 PDF 1.3 及更高版本。

有关更多信息,请参阅使用密码保护导出为 PDF

ownerPassword()

userPassword()

accessPermissionFlags()

setOwnerPassword()

setUserPassword()

setAccessPermissionFlags()

可搜索文本

确定原始绘图中的文本是否可在输出 PDF 文件中搜索。有关更多信息,请参阅将可搜索文本导出为 PDF

searchableTextType()

setSearchableTextType()

使用视图范围

确定导出过程是否应使用视图范围(如果为 true)或不使用(如果为 false)。如果此标志设置为 true,则在计算导出的绘图范围时,将使用视图范围而不是绘图范围(默认使用)。绘图可以包含在范围计算中考虑的实体,但这些实体不会被渲染(例如,空的 MText 实体、隐藏图层上的实体等)。视图范围模式(标志为 true)假定在计算范围时考虑所有不可见实体。绘图范围模式(标志为 false)假定此类实体从范围计算中排除。

useViewExtents()

setUseViewExtents()

水印

包含与输出 PDF 文档关联的水印数组。有关更多信息,请参阅使用水印导出到 PDF

watermarks()

addWatermark()

书签

确定在导出期间是否创建书签。有关详细信息,请参阅PDF 导出中的书签支持

bookmarksEnabled()

enableBookmarks()

测量类型

确定在导出过程中使用的测量类型。有关详细信息,请参阅将测量数据导出到 PDF

measuringType()

setMeasuringType()

环境颜色

确定在导出期间分配给带纹理材质的环境颜色。有关详细信息,请参阅确定用于 PRC 导出的带纹理材质的环境颜色

getPrcExportAmbientColorBehavior()

setPrcExportAmbientColorBehavior()

 

PDF 导出标志存储在 setExportFlags() 枚举器中,它是 PDFExportParams 类的一个成员。PDF 导出选项由参数值和参数标志的组合决定。

导出标志的默认组合是


kTTFTextAsGeometry|kSHXTextAsGeometry|kFlateCompression|kASCIIHexEncoding|kZoomToExtentsMode

,即:

 

  • TrueType 文本作为几何图形标志已开启。
  • SHX 文本作为几何图形标志已开启。
  • 数据压缩标志已开启。
  • 十六进制编码标志已开启。
  • 缩放至范围模式已开启。
  • 其他标志已关闭。

某些导出标志不建议使用,因为它们已被弃用,或者在 ODA 平台的未来版本中可能会被移除或更改。请参阅 已弃用的导出标志 了解详情。

PDF 导出标志在下表中描述。

导出参数

参数名称

描述

使用嵌入式 TTF

kEmbededTTF

1

启用在 PDF 文件中嵌入 TrueType 字体文件。有关更多信息,请参阅导出字体到 PDF

TTF 文本作为几何图形

kTTFTextAsGeometry

2

启用 TrueType 字体文本到几何图形的转换。有关更多信息,请参阅导出字体到 PDF

SHX 文本作为几何图形

kSHXTextAsGeometry

4

启用 SHX 字体文本到几何图形的转换。有关更多信息,请参阅导出字体到 PDF

使用几何优化

kSimpleGeomOptimization

8

确定在导出过程中是否启用简单几何优化(将分离的线段组合成一条多段线,贝塞尔曲线控制点)。简单几何优化使用更有效的机制来绘制文档元素(绘制一条多段线而不是几个分离的线段,贝塞尔曲线控制点等)。例如,如果不使用优化,矩形将通过四个命令绘制:每条线一个命令。使用优化时,矩形将通过单个命令绘制,从而减小输出文件的整体大小。

启用图层支持

kEnableLayers

16

确定是否启用图层支持,在这种情况下,图层将添加到输出 PDF 文件中。有关更多信息,请参阅PDF 导出:图层

包含不可见图层

kIncludeOffLayers

32

确定是否将导出图形的不可见图层添加到输出 PDF 文件中。有关更多信息,请参阅导出图层到 PDF

嵌入式 TTF 优化

kEmbededOptimizedTTF

64

启用减小嵌入在输出 PDF 文件中的 TrueType 字体文件大小。有关更多信息,请参阅导出字体到 PDF

使用隐藏线消除算法

kUseHLR

128

确定在导出相应视口的过程中是否使用软件矢量隐藏线消除 (HLR) 来删除隐藏线。如果此标志为 true,则线框模式下的绘图内容将作为几何图形导出。如果为 false,则内容将作为图像导出。

数据压缩

kFlateCompression

256

确定在内部 PDF 流中写入绘图数据时是否应用数据压缩算法。如果此标志打开,则使用内部 PDF 压缩算法。数据压缩可减小输出 PDF 文件的大小。

十六进制编码

kASCIIHexEncoding

512

确定数据是否以十六进制格式写入内部 PDF 流,这允许您使用十六进制编辑器探索输出文件。要支持十六进制,请打开“十六进制编码”参数。请记住,使用十六进制支持会导致输出文件大小加倍。

导出超链接支持

kExportHyperlinks

1024

启用将超链接导出到输出 PDF 文件。

缩放至范围模式

kZoomToExtentsMode

2048

确定导出的绘图是否处于“缩放至范围”模式。如果启用,布局几何图形将缩放至纸张大小,否则将应用布局设置。

创建线性化 PDF 文件

kLinearized

4096

确定导出过程是否从导出的绘图创建线性化 PDF 文件。有关更多信息,请参阅导出到线性化 PDF 文件

合并交叉线颜色

kMergeLines

8192

确定是否合并交叉线的颜色。

测量比例

kMeasuring

16384

确定是否为输出 PDF 文件中的实体实现测量比例。有关更多信息,请参阅将测量数据导出到 PDF

也可以使用标志的特殊值:

  • kZeroFlag(0) 表示所有标志都已禁用。
  • kDefault 存储标志组合的默认值。

要获取当前的导出标志组合,请使用 PDFExportParams 类的 exportFlags() 方法。

要将新的导出标志组合设置为当前组合,请使用 PDFExportParams 类的 setExportFlags() 方法。

已弃用的导出标志

请勿使用 m_reserved1、m_reserved2、m_reserved3 或 m_reserved4 标志,因为它们已被弃用,并且在 ODA 平台的未来版本中可能会更改或删除。

有关更多信息,请参阅 ODA 文档

今天就开始行动

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

免费试用