DeleteText.cs
// 
// このコードは、DioDocs for PDF のサンプルの一部として提供されています。
// © MESCIUS inc. All rights reserved.
// 
using System;
using System.IO;
using System.Drawing;
using System.Text;
using GrapeCity.Documents.Pdf;
using GrapeCity.Documents.Text;
using GrapeCity.Documents.Pdf.AcroForms;

namespace DsPdfWeb.Demos
{
    // このサンプルでは、FindTextParams クラスを使用して日付と時刻をすべて検索し、
    // DsPdfDocument.DeleteText メソッドを使用して削除する方法を紹介しています。
    public class DeleteText
    {
        public int CreatePDF(Stream stream)
        {
            var doc = new GcPdfDocument();
            using var fs = File.OpenRead(Path.Combine("Resources", "PDFs", "TimeSheet.pdf"));
            doc.Load(fs);

            // 正規表現を使用して日付と時刻を検索し削除します。
            var ftps = new FindTextParams(@"\d+/\d+/\d+|\d+:\d+| am| pm", false, false, 72, 72, false, true);
            doc.DeleteText(ftps, GrapeCity.Documents.Pdf.TextMap.DeleteTextMode.PreserveSpace);

            // 参考として、オリジナルのPDFを追加します。
            Common.Util.AddNote("参考として、修正前のオリジナルのPDFのコピーを次のページに追加しています。", doc.NewPage());
            var docOrig = new GcPdfDocument();
            docOrig.Load(fs);
            doc.MergeWithDocument(docOrig);

            // PDF ドキュメントを保存します。
            doc.Save(stream);
            return doc.Pages.Count;
        }
    }
}