使用pdfSweep
编辑文本-当我确切知道要删除的“字符串”时,可以很好地工作,例如ID: 12AAFF113
,但我不总是知道ID:
之后出现的数字,因此我该如何删除ID
和x个字符-
是否允许通配符支持或类似的功能?
Dim input As String = "G:/tmp/redact/input.pdf"
Dim output As String = "G:/tmp/redact/output.pdf"
Dim strategy As New CompositeCleanupStrategy()
strategy.Add(New RegexBasedCleanupStrategy("ID: 12AAFF113"))
Dim pdf As New PdfDocument(New PdfReader(input), New PdfWriter(output))
Dim autoSweep As New PdfAutoSweep(strategy)
autoSweep.CleanUp(pdf)
pdf.Close()
答案 0 :(得分:1)
您可以使用PdfAutoSweep
和RegexBasedCleanupStrategy
。
例如,在下面的代码段中,显示了如何删除(D|d)olor
正则表达式字符串的所有外观。
CompositeCleanupStrategy strategy = new CompositeCleanupStrategy();
strategy.add(new RegexBasedCleanupStrategy("(D|d)olor").setRedactionColor(ColorConstants.GREEN));
PdfDocument pdf = new PdfDocument(new PdfReader(input), new PdfWriter(output));
// sweep
PdfAutoSweep autoSweep = new PdfAutoSweep(strategy);
autoSweep.cleanUp(pdf);
pdf.close();
您所用的正则表达式应为“ id:\ s(\ w){7}”或摘要。