Під час програмного створення файлів PDF вам може знадобитися працювати із зображеннями. Це може бути додавання зображення, видалення/заміна зображення або вилучення зображень із PDF-файлу в C#. Ця стаття охоплює всі ці функції та дозволяє реалізувати їх за допомогою простих кроків і кількох рядків коду. Отже, давайте подивимося, як працювати із зображеннями у файлах PDF у C#.
- Бібліотека C# для роботи із зображеннями в PDF
- Додайте зображення в PDF на C#
- Видобуток зображень із PDF-файлу на C#
- C# Видалити зображення з PDF
- Заміна зображення в PDF-файлі на C#
Бібліотека C# для додавання та обробки зображень у PDF
Щоб додавати, видаляти та замінювати зображення в PDF, ми будемо використовувати Aspose.PDF for .NET. Це бібліотека класів C#, яка дозволяє створювати PDF-документи та керувати ними з програм .NET. Використовуючи бібліотеку, ви можете легко виконувати як базові, так і розширені функції автоматизації PDF.
Бібліотеку можна завантажити як DLL або встановити через NuGet.
PM> Install-Package Aspose.PDF
Додайте зображення в PDF за допомогою C#
Нижче наведено кроки, щоб додати зображення до файлу PDF у C#.
- Використовуйте клас Document, щоб створити новий або завантажити наявний файл PDF.
- Отримайте посилання на потрібну сторінку в об’єкті Сторінка.
- Додайте зображення до колекції Ресурси сторінки.
- Щоб розмістити зображення на сторінці, використовуйте такі оператори:
- GSave operator to save the current graphical state.
- Конкатенована матриця operator to specify where the image is to be placed.
- робити operator to draw the image on the page.
- GRestore operator to save the updated graphical state.
- Збережіть оновлений файл PDF за допомогою методу Document.Save(String).
У наведеному нижче прикладі коду показано, як додати зображення до PDF-файлу за допомогою C#.
// Щоб отримати повні приклади та файли даних, перейдіть на сторінку 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 на C#
Якщо ви хочете витягнути всі зображення з файлу PDF, ви можете зробити це, виконавши наведені нижче дії.
- Використовуйте клас Document, щоб завантажити наявний файл PDF.
- Отримайте потрібне зображення в об’єкті XImage із колекції Ресурси певної сторінки за допомогою індексу.
- Збережіть витягнуте зображення в потрібному форматі за допомогою методу XImage.Save(FileStream, ImageFormat).
У наведеному нижче прикладі коду показано, як видобувати зображення з PDF на C#.
// Щоб отримати повні приклади та файли даних, перейдіть на сторінку 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 у C#
Отримавши доступ до ресурсів сторінки в PDF, ви можете видалити з неї зображення. Нижче наведено кроки для видалення зображень із файлу PDF у C#.
- Завантажте PDF-файл за допомогою класу Document.
- Видаліть зображення, використовуючи один із наведених нижче методів.
- Видалити() - Delete all images.
- Видалити (Int32) - Delete image by index.
- Видалити (рядок) - Delete image by name.
- Збережіть оновлений файл 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 на C#
Aspose.PDF for .NET також дозволяє замінити певне зображення в PDF. Для цього ви можете замінити зображення в колекції зображень сторінки. Нижче наведено кроки для заміни зображення в PDF за допомогою C#.
- Завантажте 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# для обробки зображень PDF
Ви можете отримати безкоштовну тимчасову ліцензію і працювати із зображеннями в PDF-файлах без будь-яких обмежень.
Ознайомтеся з бібліотекою C# PDF
Ви можете дізнатися більше про бібліотеку PDF C# за допомогою документації.
Висновок
Зображення та графічні об’єкти є важливими елементами документів PDF. Тому в цій статті ми розглянули, як маніпулювати зображеннями в PDF за допомогою C#. У покроковому посібнику та зразках коду показано, як додавати, витягувати, видаляти та замінювати зображення у файлах PDF у C#.