1

我正在开发一个程序以从 pdf 的指定区域中删除文本。

它适用于大多数 pdf,但我发现它在一些包含使用索引颜色空间的图形的 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 一起使用,我将非常感激!

谢谢阅读!

4

0 回答 0