PDF/X、PDF/A、PDF/E:有什么区别,为什么有这么多格式?

PDF 是一种通用文件格式,允许用户演示和共享文档,无论软件、硬件或操作系统如何。多年来,已经创建了多种 PDF 子类型来满足各个行业的不同需求。让我们看看一些最流行的格式:PDF/X、PDF/A 和 PDF/E。

    FastReport .net下载

PDF/X

PDF/X 是一种专业的图形交换标准,针对一致且可预测的打印进行了优化。与可以包含任何内容(例如交互式元素和媒体文件)的常规 PDF 不同,PDF/X 仅限于某些数据类型,这使其特别适合共享可打印的文件。

PDF/X的主要特点:

  • 颜色模型。文档中的所有颜色都必须在已知的颜色空间中定义,通常是 CMYK 或专色。它消除了与印刷中颜色解释相关的不确定性。
  • 内置资源。所有必需的资源(例如字体和图像)都必须嵌入到文件中。它确保文档在任何硬件上看起来都相同。
  • 没有互动元素。没有评论、表单字段、视频和 JavaScript 等交互元素。
  • 指定的输出格式。该文档必须包含有关打印时如何显示的信息,这意味着对页面的位置和布局有一定的要求。

PDF/X 子 类型:

PDF/X-1a:

  • 基于 PDF 1.3 标准。
  • 颜色仅定义为 CMYK 或专色。
  • 不支持 ICC 配置文件。

PDF/X-3:

  • 支持 CMYK、专色和 ICC 配置文件。
  • 允许您在一份文档中使用不同的色彩空间。

PDF/X-4:

  • 支持 PDF 1.6 及更高版本中提供的图层、透明度和其他新功能。
  • 支持多种色彩空间
PDF/A

PDF/A 是 PDF 格式的子集,旨在满足电子文档长期存储的需求。与 PDF 标准不同,PDF/A 禁止使用可能在较长时间内导致文档外观出现问题的组件,这使其成为归档的理想选择。

PDF/A的主要特点:

  • 内置资源。正确显示文档的所有资源(例如字体和图像)必须嵌入到文件中。
  • 缺乏互动性。禁止 JavaScript、音频、视频和可执行文件等交互元素。
  • 颜色稳定。文档必须使用稳定的颜色模型,以保证长期显示的一致性。
  • 禁止外部依赖。您不得引用可能随时间变化或消失的外部资源。

PDF/A 子类型:

PDF/A-1:

  • 基于 PDF 1.4 标准。
  • 它分为两部分:PDF/A-1a 用于完全合规性,包括用于可访问性的结构标签,以及 PDF/A-1b 用于基本视觉合规性。

PDF/A-2:

  • 基于 PDF 1.7 标准。
  • 包括改进的对嵌入注释、图层、透明度和压缩的支持。
  • 它还分为合规级别:PDF/A-2a、PDF/A-2b、PDF/A-2u。

PDF/A-3:

  • 扩展 PDF/A-2,允许构建任何格式的嵌入式文件(包括 XML、CSV 或 CAD 文件)。
  • 它还分为合规级别:PDF/A-3a、PDF/A-3b、PDF/A-3u。
PDF/电子版

PDF/E 是 PDF 格式的子集,专为工程、建筑和施工专业人士设计。该标准解决了共享、查看和打印动态技术文档(包括图表、绘图和 3D 图形)的需求。

PDF/E的主要特点:

  • 支持复杂图形。包括图层、透明度、3D 模型和交互元素。
  • 元数据。增强的元数据可改进文档内容的搜索和管理。
  • 精确的几何形状。用于精确再现直线、曲线和曲面等几何对象。
  • 嵌入文件。能够包含相关文件或源文件,例如规格或 CAD 数据。
为什么有这么多格式?

不同的行业有不同的需求。创建专门的 PDF 子集使我们能够满足这些需求,而无需创建全新的标准。这些配置文件可确保特定应用的标准化、可预测性和可靠性。

FastReport .NET 中是否提供这些格式?

FastReport .NET 拥有大部分导出格式,仅缺少 PDF/E。这些格式可以在设计器和应用程序代码中使用。要在设计器中选择所需的格式,请单击“保存”和“PDF 格式”。然后转到“设置”选项卡并选择所需的格式。

格式选择

最后,我们将收到所需格式的所需文件。

要导出为特定格式,我们需要创建一个应用程序,连接FastReport包,并编写所需的代码。以下是如何将 PDF 另存为 PDF/A 的示例。

Report report = new Report();
report.Load("PathToYourReport.frx");
// Setting up PDF export
PDFExport pdfExport = new PDFExport();
// For export to PDF/A format
pdfExport.PdfCompliance=PDFExport.PdfStandard.PdfA_2a;
// You can select the desired compliance level
report.Prepare();
report.Export(pdfExport, "OutputPath.pdf");

尽管 PDF 子类型有很多,但每种子类型都是为了特定目的并满足特定行业的需求而开发的。选择哪种格式以及您需要它的目的完全取决于您。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/193711.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

火山引擎云原生存储加速实践

在火山引擎相关的业务中绝大部分的机器学习和数据湖的算力都运行在云原生 K8s 平台上。云原生架构下存算分离和弹性伸缩的计算场景,极大的推动了存储加速这个领域的发展,目前业界也衍生出了多种存储加速服务。但是面对计算和客户场景的多样性&#xff0c…

Go fsnotify简介

fsnotify是一个用Go编写的文件系统通知库。它提供了一种观察文件系统变化的机制,例如文件的创建、修改、删除、重命名和权限修改。它使用特定平台的事件通知API,例如Linux上的inotify,macOS上的FSEvents,以及Windows上的ReadDirec…

Leetcode——岛屿的最大面积

1. 题目链接:695. 岛屿的最大面积 2. 题目描述: 给你一个大小为 m x n 的二进制矩阵 grid 。 岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻。你可以假设 grid 的四个边缘都…

[Mac软件]Adobe XD(Experience Design) v57.1.12.2一个功能强大的原型设计软件

Adobe XD是一个直观、强大的UI/UX开发工具,旨在设计、原型设计、用户之间共享材料,以及通过数字技术设计交互。Adobe XD为您提供开发网站、应用程序、语音界面、游戏界面、电子邮件模板等所需的一切。 无限制地创建 设计各种互动,创建看起来…

01序列 卡特兰数

解法: 将01序列置于坐标轴上,起始点为原点。0表示向右走,1表示向上走。这样就可以将前缀0的个数不少于1的个数就可以转换为路径上的点,横坐标大于纵坐标,也就是求合法路径个数。 注意题目mod的数是质数,所…

YOLOv5独家原创改进:最新原创WIoU_NMS改进点,改进有效可以直接当做自己的原创改进点来写,提升网络模型性能精度

💡该教程为属于《芒果书》📚系列,包含大量的原创首发改进方式, 所有文章都是全网首发原创改进内容🚀 💡本篇文章为YOLOv5独家原创改进:独家首发最新原创WIoU_NMS改进点,改进有效可以直接当做自己的原创改进点来写,提升网络模型性能精度。 💡对自己数据集改进有效…

开发知识点-Vue-Electron

Electron ElectronVue打包.exe桌面程序 ElectronVue打包.exe桌面程序 为了不报错 卸载以前的脚手架 npm uninstall -g vue-cli安装最新版脚手架 cnpm install -g vue/cli创建一个 vue 随便起个名 vue create electron-vue-example (随便起个名字electron-vue-example)进入 创建…

Node.js详解

一、是什么 Node.js 是一个开源与跨平台的 JavaScript 运行时环境 在浏览器外运行 V8 JavaScript 引擎(Google Chrome 的内核),利用事件驱动、非阻塞和异步输入输出模型等技术提高性能 可以理解为 Node.js 就是一个服务器端的、非阻塞式I/…

关于Chrome中F12调试Console输入多行

在chrome 浏览器中使用console调试的时,如果想在console中输入多行代码,需要进行换行。 这时我们可以使用 [ Shift Enter ] 。也叫: 软回车。

C 语言实现 UDP

广播 发送广播信息&#xff0c;局域网中的客户端都可以接受该信息 #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> #include <arpa/inet.h>int main() {// 1.创建一个通信的socketint fd socket(PF_INET, …

S32DS踩坑日记五-bootloader跳转APP时触发DefaultISR

S32DS踩坑日记五-bootloader跳转APP时触发DefaultISR bootloader和APP由另一位同事开发过程中&#xff0c;被导师叫回去写论文了。 由于项目不急&#xff0c;接手后未作任何改动&#xff0c;后面硬件工程师手工焊了几块电路版&#xff0c;需要刷上程序测试电路板。然后就遇到了…

Java 通过POI快速导入带图片的excel并且图片不会丢失

## 通过POI快速导入带图片的excel并且图片不会丢失导入带图片的excel,这里也是研究了很久,在之前的博客中也有说明过,在项目使用过程中,发现很多时候导入响应很慢,而且每次导入图片都会丢失几张,所以又花了点时间研究修改了下,具体如下: 这边在导入时,通过自定义注解…

nginx启动命令

普通启动 切换到nginx安装目录的sbin目录下&#xff0c;执行&#xff1a;./nginx 通过配置文件启动 ./nginx -c /usr/local/nginx/conf/nginx.conf /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 其中-c是指定配置文件,而且配置文件路径必须指定绝对路…

MyBatis-Plus 系列

目录&#xff1a; 一、 Spring Boot 整合 MyBatis Plus 二、MyBatisPlus 多数据源配置 三、MybatisPlus —注解汇总 四、MyBatis Plus—CRUD 接口 五、MyBatis-Plus 条件构造器 六、MyBatis-Plus 代码生成器 MyBatis-Plus (opens new window)&#xff08;简称 MP&#xff09…

Dart 3.2 更新,Flutter Web 的未来越来越明朗

参考原文&#xff1a;https://medium.com/dartlang/dart-3-2-c8de8fe1b91f 本次跟随 Flutter 3.16 发布 的 Dart 3.2 &#xff0c;包含有&#xff1a;私有 final 字段的非空改进、新的 interop 改进、对 DevTools 中的扩展支持、以及对 Web 路线图的更新&#xff0c;包括对 Was…

解决requests库中session.verify参数失效的问题

在使用requests库进行HTTP请求时&#xff0c;如果在环境变量中设置了’REQUESTS_CA_BUNDLE’&#xff0c;并且在session对象中设置了verify参数为False&#xff0c;那么API请求会使用环境变量中的值而不是session对象中的值。这是因为在requests库中&#xff0c;当session对象中…

壹基金爱泽瑞金 安全家园物料配送忙

11月9日到10日&#xff0c;瑞金赋能公益陆续收到壹基金、阿里巴巴公益爱心网友捐赠的社区志愿者救援队队伍物资&#xff0c;马不停蹄地把物资配送到河背街社区、金都社区和沙洲坝镇等项目点&#xff0c;扎实稳妥推进项目有序执行。 在这次物资配送中&#xff0c;志愿者冒雨前行…

DC电源模块对效率有什么要求?

BOSHIDA DC电源模块对效率有什么要求&#xff1f; DC电源模块是现代科技中非常重要的组成部分&#xff0c;它是将交流电转换为直流电的装置&#xff0c;可以提供稳定的电源给各种设备和系统使用。效率是DC电源模块的一个关键性能指标&#xff0c;直接影响着模块的整体性能和效…

ssd202d-logo-cmd_bootlogo分析

cmd_bootlogo.c运行过程 common/autoboot.c:593: disp_logo(0); sprintf(cmd_str, "bootlogo %d 1 0 0 0", logo_id); do_display函数 获取对应结构体,里面有各种参数

Vim 从何而来?

Vim 编辑器的创造者、维护者和终身领导者 Bram Moolenaar 为了纪念这位杰出的荷兰程序员&#xff0c;我们今天来聊一聊 Vim 的历史。 Vim 无处不在。它被很多人使用。同时 Vim 可能是世界上 “最难用的软件之一” &#xff0c;但是又多次被程序员们评价为 最受欢迎的 代码编辑…