Spire.PDF 为开发人员提供了两种方法来检测 PDF 文件是否为 PDF/A。一种是使用 PdfDocument.Conformance 属性,另一种是使用 PdfDocument.XmpMetaData 属性。以下示例演示了如何使用这两种方法检测 PDF 文件是否为 PDF/A。
Spire.PDF for .NET 是一款独立 PDF 控件,用于 .NET 程序中创建、编辑和操作 PDF 文档。使用 Spire.PDF 类库,开发人员可以新建一个 PDF 文档或者对现有的 PDF 文档进行处理,且无需安装 Adobe Acrobat。
E-iceblue功能类库Spire 系列文档处理组件均由中国本土团队研发,不依赖第三方软件,不受其他国家的技术或法律法规限制,同时适配国产操作系统如中科方德、中标麒麟等,兼容国产文档处理软件 WPS(如 .wps/.et/.dps 等格式
Spire.PDF for.net下载 Spire.PDF for java下载
下面是我们用于演示的示例文件的屏幕截图:
使用 PdfDocument.Conformance
using Spire.Pdf; using System; namespace Detect { class Program { static void Main(string[] args) { //Initialize a PdfDocument object PdfDocument pdf = new PdfDocument(); //Load the PDF file pdf.LoadFromFile("Example.pdf"); //Get the conformance level of the PDF file PdfConformanceLevel conformance = pdf.Conformance; Console.WriteLine("This PDF file is " + conformance.ToString()); } } }
输出:
使用 PdfDocument.XmpMetaData
using Spire.Pdf; using Spire.Pdf.Xmp; using System; using System.Xml; namespace Detect { class Program { static void Main(string[] args) { //Initialize a PdfDocument object PdfDocument pdf = new PdfDocument(); //Load the PDF file pdf.LoadFromFile("Example.pdf"); //Get the XMP MetaData of the file XmpMetadata xmpData = pdf.XmpMetaData; //Get the XMP MetaData in XML format XmlDocument xmlData = xmpData.XmlData; string s = xmlData.InnerXml; Console.WriteLine(s); } } }
输出:
从以下输出中,我们可以看到有一个名为pdfaid:part的 XML 标签和另一个名为pdfaid:conformance的 XML标签。PDF/A 规范表明 pdfaid:part 引用 PDF/A 版本标识符,而 pdfaid:conformance 引用 PDF/A 一致性级别(PDF/A-1 中为 A 或 B)。在此示例中,PDF/A 版本为 1,PDF/A 一致性级别为 A。也就是说,此文件为 PDF/A-1a。