我正在开发一个程序,用于从pdf的指定区域中删除文本。
它在大多数pdf上都可以正常工作,但是我发现有些pdf包含使用 Indexed 颜色空间进行图形处理的pdf-它仅适用于CMYK或RGB。恐怕我对这个主题真的一无所知,所以真的可以使用一些帮助。
这是我的代码:
Dim source_file as String ="c:\test pdf\test.pdf"
Dim destination_file as String = ="c:\test pdf\output.pdf"
Dim reader As PdfReader = New PdfReader(source_file)
Using outputPdfStream As Stream = New FileStream(destination_file, FileMode.Create, FileAccess.Write, FileShare.None)
Dim stamper = New PdfStamper(reader, outputPdfStream)
Dim Locs As New List(Of PdfCleanUpLocation)
Locs.Add(New PdfCleanUpLocation(1, New Rectangle(97.0F, 405.0F, 480.0F, 445.0F), BaseColor.WHITE))
Dim oCleaner As New PdfCleanUpProcessor(Locs, stamper)
oCleaner.CleanUp()
stamper.Close()
reader.Close()
End Using
我得到的错误是:
iTextSharp.text.exceptions.UnsupportedPdfException:'不支持颜色空间[/ Indexed,/ DeviceCMYK,73、13 0R]'
这出现在oCleaner.CleanUp()
行
作为参考,我最初是从下面的链接中提取代码的,几年前有人试图做类似的事情,但是涉及更多的事情:
https://www.vbforums.com/showthread.php?831051-RESOLVED-Confusion-converting-C-code
如果有人可以提出一种方法来使带有索引色彩空间图形的pdf一起工作,我将万分感谢!
感谢阅读!