اضافه کردن متن به PDF در سی شارپ

فرمت PDF به طور گسترده ای برای تولید انواع اسناد مانند فاکتورها، گزارش های مالی، رزومه و غیره استفاده می شود. در دنیای اتوماسیون، اسناد PDF از داخل وب یا برنامه های دسکتاپ تولید و دستکاری می شوند. بنابراین، در موارد خاص، ممکن است لازم باشد متنی را به فایل‌های PDF موجود به صورت برنامه‌نویسی اضافه کنید. مطابق با آن، این مقاله نحوه اضافه کردن متن به اسناد PDF با استفاده از C# را نشان می دهد.

C# API برای افزودن متن به PDF

برای افزودن متن به فایل‌های PDF به صورت پویا، از Aspose.PDF برای دات‌نت استفاده می‌کنیم. این یک API غنی از ویژگی ها است که به شما امکان می دهد فایل های PDF را از داخل برنامه های دات نت خود ایجاد و دستکاری کنید. می‌توانید API را دانلود یا با استفاده از NuGet نصب کنید.

PM> Install-Package Aspose.PDF

اضافه کردن متن به PDF با استفاده از C#

در زیر مراحل اضافه کردن متن به فایل PDF با استفاده از سی شارپ آمده است.

  • فایل PDF را با استفاده از کلاس Document بارگیری کنید.
  • صفحه مورد نظر PDF را در یک شیء Page دریافت کنید.
  • یک شی TextFragment ایجاد کنید و متن، موقعیت، فونت، رنگ پس‌زمینه و غیره را تنظیم کنید.
  • یک شی TextBuilder ایجاد کنید و آن را با شیء Page مقداردهی اولیه کنید.
  • برای افزودن متن به صفحه PDF از روش TextBuilder.AppendText(TextFragment) استفاده کنید.
  • فایل PDF به روز شده را با استفاده از روش Document.Save(String) ذخیره کنید.

نمونه کد زیر نحوه افزودن متن به فایل PDF را نشان می دهد.

// برای نمونه‌های کامل و فایل‌های داده، لطفاً به https://github.com/aspose-pdf/Aspose.PDF-for-.NET بروید
// سند را باز کنید
Document pdfDocument = new Document("input.pdf");

// دریافت صفحه خاص
Page pdfPage = (Page)pdfDocument.Pages[1];

// قطعه متن ایجاد کنید
TextFragment textFragment = new TextFragment("main text");
textFragment.Position = new Position(100, 600);

// ویژگی های متن را تنظیم کنید
textFragment.TextState.FontSize = 12;
textFragment.TextState.Font = FontRepository.FindFont("TimesNewRoman");
textFragment.TextState.BackgroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray);
textFragment.TextState.ForegroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Red);

// ایجاد شی TextBuilder
TextBuilder textBuilder = new TextBuilder(pdfPage);

// قطعه متن را به صفحه PDF اضافه کنید
textBuilder.AppendText(textFragment);

// سند PDF حاصل را ذخیره کنید.
pdfDocument.Save("output.pdf");

اضافه کردن متن به PDF با استفاده از TextParagraph

مراحل زیر برای افزودن متن به فایل PDF با استفاده از TextParagraph آمده است.

  • فایل PDF را با استفاده از کلاس Document بارگیری کنید.
  • صفحه مورد نظر PDF را در یک شی Page دریافت کنید یا یک مورد جدید اضافه کنید.
  • یک شی TextBuilder ایجاد کنید و آن را با شیء Page مقداردهی اولیه کنید.
  • یک شی از کلاس TextParagraph ایجاد کنید.
  • مکان پاراگراف را با استفاده از ویژگی TextParagraph.Rectangle مشخص کنید.
  • گزینه های قالب بندی TextParagraph را تنظیم کنید.
  • یک شی TextFragment ایجاد کنید و متن، موقعیت، فونت، رنگ پس‌زمینه و غیره را تنظیم کنید.
  • TextFragment را با استفاده از روش TextParagraph.AppendLine(TextFragment) به پاراگراف اضافه کنید.
  • با استفاده از روش TextBuilder.AppendParagraph(TextParagraph) پاراگراف را به صفحه اضافه کنید.
  • فایل PDF به روز شده را با استفاده از روش Document.Save(String) ذخیره کنید.

نمونه کد زیر نحوه افزودن متن به PDF را با استفاده از کلاس TextParagraph نشان می دهد.

// برای نمونه‌های کامل و فایل‌های داده، لطفاً به https://github.com/aspose-pdf/Aspose.PDF-for-.NET بروید
string fontFile = "font.ttf";

// فایل PDF ورودی را بارگیری کنید
Document doc = new Document("input.pdf");

// شیء سازنده متن برای صفحه اول سند ایجاد کنید
TextBuilder textBuilder = new TextBuilder(doc.Pages[1]);

// قطعه متن را با رشته نمونه ایجاد کنید
TextFragment textFragment = new TextFragment("Hello world");

if (fontFile != "")
{
    // فونت TrueType را در شی جریان بارگذاری کنید
    using (FileStream fontStream = File.OpenRead(fontFile))
    {
        // نام فونت را برای رشته متن تنظیم کنید
        textFragment.TextState.Font = FontRepository.OpenFont(fontStream, FontTypes.TTF);
        
        // موقعیت قطعه متن را مشخص کنید
        textFragment.Position = new Position(10, 10);
        
        // متن را به TextBuilder اضافه کنید تا بتوان آن را روی فایل PDF قرار داد
        textBuilder.AppendText(textFragment);
    }

    // سند PDF حاصل را ذخیره کنید
    doc.Save("output.pdf");
}

اضافه کردن متن شفاف در PDF در سی شارپ

Aspose.PDF for .NET همچنین اجازه می دهد تا متن شفاف را به یک سند PDF اضافه کنید، همانطور که در مراحل زیر نشان داده شده است.

  • فایل PDF را با استفاده از کلاس Document بارگیری کنید.
  • صفحه مورد نظر PDF را در یک شی Page دریافت کنید یا یک مورد جدید اضافه کنید.
  • یک شی Graph ایجاد و مقداردهی اولیه کنید.
  • یک شی مستطیل ایجاد کنید و آن را مقداردهی اولیه کنید.
  • ویژگی Rectangle.GraphInfo.FillColor را تنظیم کنید.
  • با استفاده از روش Graph.Shapes.Add(Rectangle) مستطیل را به نمودار اضافه کنید.
  • نمودار را با استفاده از روش Page.Paragraphs.Add(Graph) به مجموعه پاراگراف های صفحه اضافه کنید.
  • یک شی TextFragment ایجاد کنید و ویژگی TextState.ForegroundColor آن را تنظیم کنید.
  • با استفاده از روش Page.Paragraphs.Add(TextFragment) TextFragment را به صفحه اضافه کنید.
  • فایل PDF به روز شده را با استفاده از روش Document.Save(String) ذخیره کنید.

نمونه کد زیر نحوه افزودن متن شفاف به فایل PDF را نشان می دهد.

// برای نمونه‌های کامل و فایل‌های داده، لطفاً به https://github.com/aspose-pdf/Aspose.PDF-for-.NET بروید
// ایجاد نمونه سند
Document doc = new Document("input.pdf");

// ایجاد مجموعه صفحه به صفحه از فایل PDF
Aspose.Pdf.Page page = doc.Pages.Add();

// شی Graph ایجاد کنید
Aspose.Pdf.Drawing.Graph canvas = new Aspose.Pdf.Drawing.Graph(100, 400);

// یک نمونه مستطیل با ابعاد مشخص ایجاد کنید
Aspose.Pdf.Drawing.Rectangle rect = new Aspose.Pdf.Drawing.Rectangle(100, 100, 400, 400);

// ایجاد شی رنگی از کانال رنگ آلفا
rect.GraphInfo.FillColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.FromArgb(128, System.Drawing.Color.FromArgb(12957183)));

// مستطیل را به مجموعه اشکال شی Graph اضافه کنید
canvas.Shapes.Add(rect);

// شی گراف را به مجموعه پاراگراف های شی صفحه اضافه کنید
page.Paragraphs.Add(canvas);

// مقدار را برای تغییر موقعیت شی گراف تنظیم کنید
canvas.IsChangePosition = false;

// نمونه TextFragment را با مقدار نمونه ایجاد کنید
TextFragment text = new TextFragment("transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text transparent text ");

// ایجاد شی رنگی از کانال آلفا
Aspose.Pdf.Color color = Aspose.Pdf.Color.FromArgb(30, 0, 255, 0);

// اطلاعات رنگ را برای نمونه متن تنظیم کنید
text.TextState.ForegroundColor = color;

// متن را به مجموعه پاراگراف های نمونه صفحه اضافه کنید
page.Paragraphs.Add(text);

// فایل PDF به روز شده را ذخیره کنید
doc.Save("output.pdf");

مجوز رایگان دریافت کنید

شما می توانید از Aspose.PDF برای دات نت بدون محدودیت ارزیابی با استفاده از مجوز موقت استفاده کنید.

نتیجه

در این مقاله یاد گرفتید که چگونه با استفاده از سی شارپ به فایل های پی دی اف موجود متن اضافه کنید. علاوه بر این، نحوه افزودن متن شفاف به PDF را به صورت پویا دیده اید. می‌توانید با استفاده از مستندات درباره C# PDF API بیشتر کاوش کنید. همچنین، می‌توانید سؤالات خود را در [فروم 34 ما ارسال کنید.

همچنین ببینید