使用itextsharp从pdf中删除文本

时间:2020-10-16 15:50:26

标签: itext redaction

我正在开发一个程序,用于从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一起工作,我将万分感谢!

感谢阅读!

0 个答案:

没有答案