• <menu id="w2i4a"></menu>
  • logo Aspose.PDF使用教程

    文檔首頁>>Aspose.PDF使用教程>>Aspose.PDF功能演示:使用C#查找和替換PDF文件中的文本

    Aspose.PDF功能演示:使用C#查找和替換PDF文件中的文本


    使用“查找并替換”選項可以一次性替換文檔中的特定文本。這樣,您不必手動定位和更新整個文檔中每次出現(xiàn)的文本。本文甚至更進一步,介紹了如何在PDF文檔中自動查找和替換文本功能。特別是,將學習如何使用C#在整個PDF,特定頁面或頁面區(qū)域中查找和替換文本。

    • 使用C#查找和替換PDF中的文本
    • 查找和替換特定頁面中的文本
    • 定義PDF頁面區(qū)域以查找和替換文本
    • 使用正則表達式查找和替換PDF中的文本

    .NET的Aspose.PDF是一個C#類庫,為.NET應用程序提供基本以及高級的PDF操作功能。該API還允許您以不同的方式無縫地查找和替換PDF文檔中的文本。

    點擊下載最新版Aspose.PDF



    使用C#查找和替換PDF中的文本

    以下是在PDF文檔中查找和替換文本的步驟。

    • 使用Document類使用其路徑加載PDF文檔。
    • 創(chuàng)建TextFragmentAbsorber類的實例,并將搜索短語提供給其構造函數(shù)。
    • 使用Document.Pages.Accept(TextFragmentAbsorber)接受PDF所有頁面的文本吸收器。
    • 將提取的文本片段獲取到TextFragmentCollection對象中。
    • 遍歷找到的TextFragmentCollection并替換每個片段中的文本。
    • 使用Document.Save(String)方法保存更新的PDF文檔。

    下面的代碼示例演示如何使用C#查找和替換PDF中的文本。

    // Open document
    Document pdfDocument = new Document("Document.pdf");
    
    // Create TextAbsorber object to find all instances of the input search phrase
    TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("text");
    
    // Accept the absorber for all the pages
    pdfDocument.Pages.Accept(textFragmentAbsorber);
    
    // Get the extracted text fragments
    TextFragmentCollection textFragmentCollection = textFragmentAbsorber.TextFragments;
    
    // Loop through the fragments
    foreach (TextFragment textFragment in textFragmentCollection)
    {
        // Update text and other properties
        textFragment.Text = "TEXT";
        textFragment.TextState.Font = FontRepository.FindFont("Verdana");
        textFragment.TextState.FontSize = 22;
        textFragment.TextState.ForegroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Blue);
        textFragment.TextState.BackgroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Green);
    }
                
    // Save resulting PDF document.
    pdfDocument.Save("updated-document.pdf");

    使用C#查找和替換特定頁面中的文本

    以下是在PDF文檔的特定頁面上查找和替換文本的步驟。

    • 使用Document類使用其路徑加載PDF文檔。
    • 創(chuàng)建TextFragmentAbsorber類的實例,并將搜索短語提供給其構造函數(shù)。
    • 使用Document.Pages [1] .Accept(TextFragmentAbsorber)接受所需頁面的文本吸收器。
    • 遍歷找到的TextFragmentAbsorber.TextFragments集合,并替換每個片段中的文本。
    • 使用Document.Save(String)方法保存更新的PDF文檔。

    以下代碼示例顯示了如何使用C#在PDF的特定頁面中查找和替換文本。

    // Open document
    Document pdfDocument = new Document("Document.pdf");
    
    // Create TextAbsorber object to find all instances of the input search phrase
    TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("text");
    
    // Accept the absorber for desired
    pdfDocument.Pages[1].Accept(textFragmentAbsorber);
    
    // Get the extracted text fragments
    TextFragmentCollection textFragmentCollection = textFragmentAbsorber.TextFragments;
    
    // Loop through the fragments
    foreach (TextFragment textFragment in textFragmentCollection)
    {
        // Update text and other properties
        textFragment.Text = "TEXT";
        textFragment.TextState.Font = FontRepository.FindFont("Verdana");
        textFragment.TextState.FontSize = 22;
        textFragment.TextState.ForegroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Blue);
        textFragment.TextState.BackgroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Green);
    }
    
    // Save resulting PDF document.
    pdfDocument.Save("updated-document.pdf");

    定義頁面區(qū)域以查找和替換文本

    還可以在PDF文檔的頁面特定區(qū)域中查找和替換文本。以下步驟顯示了如何定義特定區(qū)域,然后替換其中的文本。

    • 使用Document類使用其路徑加載PDF文檔。
    • 創(chuàng)建TextFragmentAbsorber類的實例,并將搜索短語提供給其構造函數(shù)。
    • 使用Document.Pages [0] .Accept(TextFragmentAbsorber)接受所需頁面的文本吸收器。
    • 使用Rectangle類定義頁面區(qū)域。
    • 循環(huán)遍歷TextFragmentAbsorber.TextFragments集合,并替換每個片段中的文本。
    • 使用Document.Save(String)方法保存更新的PDF文檔。

    下面的代碼示例演示如何使用C#在PDF的特定頁面區(qū)域中查找和替換文本。

    // load PDF file
    Document pdf = new Document("Document.pdf");
    
    // instantiate TextFragment Absorber object
    TextFragmentAbsorber TextFragmentAbsorberAddress = new TextFragmentAbsorber();
    
    // search text within page bound
    TextFragmentAbsorberAddress.TextSearchOptions.LimitToPageBounds = true;
    
    // specify the page region for TextSearch Options
    TextFragmentAbsorberAddress.TextSearchOptions.Rectangle = new Rectangle(100, 100, 200, 200);
    
    // search text from first page of PDF file
    pdf.Pages[1].Accept(TextFragmentAbsorberAddress);
    
    // iterate through individual TextFragment
    foreach (TextFragment tf in TextFragmentAbsorberAddress.TextFragments)
    {
        // update text to blank characters
        tf.Text = "";
    }
    
    // save updated PDF file after text replace
    pdf.Save("output.pdf");

    使用正則表達式查找和替換PDF中的文本

    也可以使用正則表達式來查找和替換與特定模式匹配的文本。為此,您只需要提供一個正則表達式即可代替普通搜索短語并使用TextSearchOptions。以下是執(zhí)行此操作的步驟。

    • 使用Document類使用其路徑加載PDF文檔。
    • 創(chuàng)建TextFragmentAbsorber類的實例,并將搜索短語提供給其構造函數(shù)。
    • 創(chuàng)建TextSearchOptions類的實例,然后將true傳遞給其構造函數(shù)以啟用基于正則表達式的搜索。
    • 分配TextSearchOptions對象TextFragmentAbsorber.TextSearchOptions財產(chǎn)。
    • 使用Document.Pages [0] .Accept(TextFragmentAbsorber)接受所需頁面的文本吸收器。
    • 使用Rectangle類定義頁面區(qū)域。
    • 循環(huán)遍歷TextFragmentAbsorber.TextFragments集合,并替換每個片段中的文本。
    • 使用Document.Save(String)方法保存更新的PDF文檔。

    下面的代碼示例演示如何使用C#使用正則表達式查找和替換PDF中的文本。

    // Open document
    Document pdfDocument = new Document("Document.pdf");
    
    // Create TextAbsorber object to find all the phrases matching the regular expression
    TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("\\d{4}-\\d{4}"); // Like 1999-2000
    
    // Set text search option to specify regular expression usage
    TextSearchOptions textSearchOptions = new TextSearchOptions(true);
    textFragmentAbsorber.TextSearchOptions = textSearchOptions;
    
    // Accept the absorber for a single page
    pdfDocument.Pages[1].Accept(textFragmentAbsorber);
    
    // Get the extracted text fragments
    TextFragmentCollection textFragmentCollection = textFragmentAbsorber.TextFragments;
    
    // Loop through the fragments
    foreach (TextFragment textFragment in textFragmentCollection)
    {
        // Update text and other properties
        textFragment.Text = "New Phrase";
        // Set to an instance of an object.
        textFragment.TextState.Font = FontRepository.FindFont("Verdana");
        textFragment.TextState.FontSize = 22;
        textFragment.TextState.ForegroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Blue);
        textFragment.TextState.BackgroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Green);
    }
    
    // Save PDF
    pdfDocument.Save("output.pdf");

    還想要更多嗎?您可以點擊閱讀【2020 · Aspose最新資源整合】,查找需要的教程資源。如果您有任何疑問或需求,請隨時加入Aspose技術交流群(761297826),我們很高興為您提供查詢和咨詢。
    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();