کار با تصاویر در PDF C#

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

C# API برای افزودن، حذف و جایگزینی تصاویر در PDF - دانلود رایگان

Aspose.PDF for .NET یک کتابخانه کلاس C# است که به شما امکان می دهد اسناد PDF را از داخل برنامه های NET ایجاد و دستکاری کنید. با استفاده از API، می توانید ویژگی های اولیه و پیشرفته اتوماسیون PDF را به راحتی انجام دهید. علاوه بر این، می توانید تصاویر را در فایل های PDF موجود دستکاری کنید. API را می توان به صورت DLL دانلود کرد یا از طریق NuGet نصب کرد.

PM> Install-Package Aspose.Pdf

اضافه کردن تصویر در یک فایل PDF در C#.NET

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

  • از کلاس Document برای ایجاد یک فایل PDF جدید یا بارگذاری یک فایل PDF موجود استفاده کنید.
  • مرجع صفحه مورد نظر را در شیء Page دریافت کنید.
  • تصویر را به مجموعه Resources صفحه اضافه کنید.
  • برای قرار دادن تصویر در صفحه از عملگرهای زیر استفاده کنید:
  • فایل PDF به روز شده را با استفاده از روش Document.Save(String) ذخیره کنید.

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

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

// مختصات را تنظیم کنید
int lowerLeftX = 100;
int lowerLeftY = 100;
int upperRightX = 200;
int upperRightY = 200;

// صفحه ای را دریافت کنید که در آن تصویر باید اضافه شود
Page page = pdfDocument.Pages[1];

// بارگذاری تصویر در جریان
FileStream imageStream = new FileStream("aspose-logo.jpg", FileMode.Open);

// تصویر را به مجموعه تصاویر منابع صفحه اضافه کنید
page.Resources.Images.Add(imageStream);

// استفاده از عملگر GSave: این عملگر وضعیت گرافیکی فعلی را ذخیره می کند
page.Contents.Add(new Aspose.Pdf.Operators.GSave());

// اشیاء Rectangle و Matrix ایجاد کنید
Aspose.Pdf.Rectangle rectangle = new Aspose.Pdf.Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY);
Matrix matrix = new Matrix(new double[] { rectangle.URX - rectangle.LLX, 0, 0, rectangle.URY - rectangle.LLY, rectangle.LLX, rectangle.LLY });

// با استفاده از عملگر ConcatenateMatrix (ماتریس پیوست): نحوه قرار دادن تصویر را مشخص می کند
page.Contents.Add(new Aspose.Pdf.Operators.ConcatenateMatrix(matrix));
XImage ximage = page.Resources.Images[page.Resources.Images.Count];

// استفاده از عملگر Do: این عملگر تصویر را ترسیم می کند
page.Contents.Add(new Aspose.Pdf.Operators.Do(ximage.Name));

// استفاده از عملگر GRestore: این عملگر حالت گرافیکی را بازیابی می کند
page.Contents.Add(new Aspose.Pdf.Operators.GRestore());

// سند به روز شده را ذخیره کنید
pdfDocument.Save("AddImage_out.pdf");

استخراج تصاویر از PDF در سی شارپ

در صورتی که می خواهید تمام تصاویر را از یک فایل PDF استخراج کنید، می توانید این کار را با انجام مراحل زیر انجام دهید.

  • از کلاس Document برای بارگیری یک فایل PDF موجود استفاده کنید.
  • تصویر مورد نظر را در شیء XImage از مجموعه منابع یک صفحه خاص با استفاده از فهرست دریافت کنید.
  • با استفاده از روش XImage.Save(FileStream, ImageFormat) تصویر استخراج شده را در فرمت دلخواه ذخیره کنید.

نمونه کد زیر نحوه استخراج تصاویر از PDF با استفاده از سی شارپ را نشان می دهد.

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

// یک تصویر خاص را استخراج کنید
XImage xImage = pdfDocument.Pages[1].Resources.Images[1];

FileStream outputImage = new FileStream("output.jpg", FileMode.Create);

// ذخیره تصویر خروجی
xImage.Save(outputImage, ImageFormat.Jpeg);
outputImage.Close();

حذف تصاویر از PDF در سی شارپ

هنگامی که به منابع یک صفحه در PDF دسترسی پیدا کردید، می توانید تصاویر را از آن حذف کنید. در زیر مراحل حذف تصاویر از یک فایل PDF با استفاده از سی شارپ آمده است.

  • فایل PDF را با استفاده از کلاس Document بارگیری کنید.
  • تصویر(ها) را با استفاده از یکی از روش های زیر حذف کنید.
  • فایل PDF به روز شده را با استفاده از روش Document.Save(String) ذخیره کنید.

نمونه کد زیر نحوه حذف تصاویر از PDF با استفاده از C# را نشان می دهد.

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

// حذف یک تصویر خاص
pdfDocument.Pages[1].Resources.Images.Delete(1);

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

جایگزینی تصویر در PDF در سی شارپ

Aspose.PDF for .NET همچنین به شما امکان می دهد یک تصویر خاص را در PDF جایگزین کنید. برای این کار می توانید تصویر را در مجموعه تصاویر صفحه جایگزین کنید. مراحل زیر برای جایگزینی تصویر در PDF با استفاده از سی شارپ آمده است.

  • فایل PDF را با استفاده از کلاس Document بارگیری کنید.
  • تصویر مورد نظر را با استفاده از روش [Document.Pages1.Resources.Images.Replace(Int32، Stream، Int32، Boolean)]24 جایگزین کنید.
  • فایل PDF به روز شده را با استفاده از روش Document.Save(String) ذخیره کنید.

نمونه کد زیر نحوه جایگزینی یک تصویر در PDF را با استفاده از C# نشان می دهد.

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

// یک تصویر خاص را جایگزین کنید
pdfDocument.Pages[1].Resources.Images.Replace(1, new FileStream("lovely.jpg", FileMode.Open));

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

C#.NET PDF API - مجوز رایگان دریافت کنید

برای امتحان کردن API بدون محدودیت ارزیابی، می‌توانید یک مجوز موقت رایگان دریافت کنید.

نتیجه

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

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