استبدال النص - الواجهات
استبدال النص في ملف PDF موجود
من أجل استبدال النص في ملف PDF موجود، تحتاج إلى إنشاء كائن من فئة PdfContentEditor وربط ملف PDF المدخل باستخدام طريقة BindPdf. بعد ذلك، تحتاج إلى استدعاء ReplaceText الطريقة. تحتاج إلى حفظ ملف PDF المحدث باستخدام Save الطريقة لفئة PdfContentEditor. يوضح لك المثال البرمجي التالي كيفية استبدال النص في ملف PDF موجود.
public static void ReplaceText01()
{
PdfContentEditor editor = new PdfContentEditor();
ditor.BindPdf(_dataDir + "sample.pdf");
editor.ReplaceText("Value", "Label");
// save the output file
editor.Save(_dataDir + "PdfContentEditorDemo01.pdf");
}
تحقق من كيف يبدو في المستند الأصلي:
وتحقق من النتيجة بعد استبدال النص:
في المثال الثاني، سترى كيف يمكنك، بالإضافة إلى استبدال النص، زيادة أو تقليل حجم الخط:
public static void ReplaceText02()
{
PdfContentEditor editor = new PdfContentEditor();
editor.BindPdf(_dataDir + "sample.pdf");
editor.ReplaceText("Value", "Label", 12);
// حفظ الملف الناتج
editor.Save(_dataDir + "PdfContentEditorDemo02.pdf");
}
للحصول على إمكانيات أكثر تقدمًا للعمل مع نصوصنا، سنستخدم طريقة TextState. باستخدام هذه الطريقة، يمكننا جعل النص غامقًا، مائلًا، ملونًا، وما إلى ذلك.
public static void ReplaceText03()
{
PdfContentEditor editor = new PdfContentEditor();
editor.BindPdf(_dataDir + "sample.pdf");
TextState textState = new TextState
{
ForegroundColor = Color.Red,
FontSize = 12,
};
editor.ReplaceText("Value", "Label", textState);
// حفظ الملف الناتج
editor.Save(_dataDir + "PdfContentEditorDemo03.pdf");
}
في حال كنت بحاجة إلى استبدال كل النص المحدد في المستند، استخدم مقطع الكود التالي. ذلك هو، سيتم استبدال النص أينما تم العثور على النص المحدد للاستبدال، وسيتم أيضًا عد عدد هذه الاستبدالات.
public static void ReplaceText04()
{
PdfContentEditor editor = new PdfContentEditor();
editor.BindPdf(_dataDir + "sample.pdf");
int count = 0;
while (editor.ReplaceText("Value", "Label")) count++;
Console.WriteLine($"{count} occurrences have been replaced.");
// save the output file
editor.Save(_dataDir + "PdfContentEditorDemo04.pdf");
}
يظهر مقطع الشفرة التالي كيفية إجراء جميع استبدالات النص ولكن في صفحة محددة من مستندك.
public static void ReplaceText05()
{
PdfContentEditor editor = new PdfContentEditor();
editor.BindPdf(_dataDir + "sample.pdf");
int count = 0;
while (editor.ReplaceText("9999", 2, "ABCDE")) count++;
Console.WriteLine($"{count} occurrences have been replaced.");
// save the output file
editor.Save(_dataDir + "PdfContentEditorDemo05.pdf");
}
في مقتطف الشيفرة التالي، سوف نوضح كيفية استبدال، على سبيل المثال، رقم معين بالحروف التي نحتاجها.
public static void ReplaceText06()
{
PdfContentEditor editor = new PdfContentEditor
{
ReplaceTextStrategy = new ReplaceTextStrategy
{
IsRegularExpressionUsed = true,
ReplaceScope = ReplaceTextStrategy.Scope.ReplaceAll
}
};
editor.BindPdf(_dataDir + "sample.pdf");
editor.ReplaceText("\\d{4}", "ABCDE");
// حفظ ملف الإخراج
editor.Save(_dataDir + "PdfContentEditorDemo06.pdf");
}