使用C#编辑PDF文本

时间:2018-05-16 07:58:43

标签: c# asp.net pdf itext spire

如何找到然后隐藏(或删除)特定的文字短语?

例如,我创建了一个PDF文件,其中包含各种数据,如图像,表格,文本等。

现在,我希望找到一个特定的短语,例如“Hello World”,无论文件中提到它并以某种方式隐藏它,或者更好 - 甚至 - 从PDF中删除它。

最后在删除此短语后获取PDF。

我尝试了iTextSharpSpire,但找不到任何有用的内容。

2 个答案:

答案 0 :(得分:1)

尝试使用以下代码段使用Spire.PDF隐藏PDF上的特定文本短语。

using Spire.Pdf;
using Spire.Pdf.General.Find;
using System.Drawing;

namespace HideText
{
    class Program
    {
        static void Main(string[] args)
        {
            //load PDF file
            PdfDocument doc = new PdfDocument();
            doc.LoadFromFile(@"C:\Users\Administrator\Desktop\Example.pdf");

            //find all results where "Hello World" appears
            PdfTextFind[] finds = null;
            foreach (PdfPageBase page in doc.Pages)
            {
                finds = page.FindText("Hello World").Finds;               
            }

            //cover the specific result with white background color
            finds[0].ApplyRecoverString("", Color.White, false);

            //save to file
            doc.SaveToFile("output.pdf");
        }
    }
}

结果 enter image description here

答案 1 :(得分:0)

以下代码段from here可让您查找和涂黑pdf文档中的文本:

PdfDocument pdf = new PdfDocument(new PdfReader(SRC), new PdfWriter(DEST));
ICleanupStrategy cleanupStrategy = new RegexBasedCleanupStrategy(new Regex(@"Alice", RegexOptions.IgnoreCase)).SetRedactionColor(ColorConstants.PINK);
PdfAutoSweep autoSweep = new PdfAutoSweep(cleanupStrategy);
autoSweep.CleanUp(pdf);
pdf.Close();

请注意许可证。如果您不购买许可证,则为AGPL。