C# 是否可以在C中使用iTextSharp修改PDF中的专色名称?

C# 是否可以在C中使用iTextSharp修改PDF中的专色名称?,c#,itextsharp,C#,Itextsharp,是否可以在C中使用iTextSharp修改PDF中的专色名称,这只是需要更改的颜色名称。因此,您有一个使用某些专色的现有PDF,例如名为ABC的颜色,并且您希望操纵该PDF,以便名称为XYZ 这是可能的,但它需要低级的PDF语法操作 您需要创建一个PdfReader实例,查找定义专色的字典,更改名称,然后使用PdfStamper根据更改后的PdfReader实例创建一个新文件 关于如何回答您的特定问题,目前还没有现成的示例。我怀疑其他人会回答这样的问题,但iText的原始开发人员会回答这样的问题

是否可以在C中使用iTextSharp修改PDF中的专色名称,这只是需要更改的颜色名称。

因此,您有一个使用某些专色的现有PDF,例如名为ABC的颜色,并且您希望操纵该PDF,以便名称为XYZ

这是可能的,但它需要低级的PDF语法操作

您需要创建一个PdfReader实例,查找定义专色的字典,更改名称,然后使用PdfStamper根据更改后的PdfReader实例创建一个新文件

关于如何回答您的特定问题,目前还没有现成的示例。我怀疑其他人会回答这样的问题,但iText的原始开发人员会回答这样的问题,但您可以通过查看第二版iText中第13章的代码示例获得一些启示:

例如,请参见本例中的操纵EPDF方法: 在本例中,使用上面解释的原理,URL被另一个URL替换

您需要调整此示例,以便找到存储专色名称的位置的路径,更改该名称,并保留更改

提示:专色名称将位于一个数组中,其中第一个元素是名称/分隔,第二个条目是要更改的名称,这是要用新PdfName实例替换的名称,依此类推

如何找到此/分离数组?我将循环使用getPageN方法将为您提供页面字典的页面,获取每个页面的资源pageDict.getAsDictPdfName.resources,查找是否存在/Colorspace字典,然后查找该字典中的所有/Separation颜色。每当遇到要更改的名称时,请替换第二个元素


第13章中的示例与ISO-32000-1结合可从Adobe.com网站下载,这将起到带头作用。

因此,您有一个使用一些专色的现有PDF,例如名为ABC的颜色,您希望对该PDF进行操作,使其名称为XYZ

这是可能的,但它需要低级的PDF语法操作

您需要创建一个PdfReader实例,查找定义专色的字典,更改名称,然后使用PdfStamper根据更改后的PdfReader实例创建一个新文件

关于如何回答您的特定问题,目前还没有现成的示例。我怀疑其他人会回答这样的问题,但iText的原始开发人员会回答这样的问题,但您可以通过查看第二版iText中第13章的代码示例获得一些启示:

例如,请参见本例中的操纵EPDF方法: 在本例中,使用上面解释的原理,URL被另一个URL替换

您需要调整此示例,以便找到存储专色名称的位置的路径,更改该名称,并保留更改

提示:专色名称将位于一个数组中,其中第一个元素是名称/分隔,第二个条目是要更改的名称,这是要用新PdfName实例替换的名称,依此类推

如何找到此/分离数组?我将循环使用getPageN方法将为您提供页面字典的页面,获取每个页面的资源pageDict.getAsDictPdfName.resources,查找是否存在/Colorspace字典,然后查找该字典中的所有/Separation颜色。每当遇到要更改的名称时,请替换第二个元素

第13章中的示例与ISO-32000-1相结合,可从Adobe.com网站下载,这将起到带头作用