![Pracuj z obrazami w PDF C#](images/Work-with-Images-in-PDF.png.jpg#center)
Obraz jest wart tysiąca słów. Dlatego obrazy i grafika odgrywają ważną rolę w PDF, jak również w innych dokumentach. Ponieważ PDF stał się jednym z najpopularniejszych i najczęściej używanych formatów plików, w tym artykule opisano, jak programowo manipulować obrazami w plikach PDF. Dokładniej, dowiesz się, jak dodawać, wyodrębniać, usuwać i zastępować obrazy z plików PDF w C# .NET.
- C# .NET API do pracy z obrazami w formacie PDF
- Dodaj obraz w pliku PDF za pomocą C#
- Wyodrębnij obrazy z pliku PDF za pomocą C#
- Usuń obrazy z pliku PDF za pomocą C#
- Zastąp obraz w pliku PDF za pomocą C#
- Uzyskaj bezpłatną licencję
Interfejs API języka C# do dodawania, usuwania i zastępowania obrazów w formacie PDF — bezpłatne pobieranie
Aspose.PDF for .NET to biblioteka klas C#, która umożliwia tworzenie dokumentów PDF i manipulowanie nimi z poziomu aplikacji .NET. Korzystając z interfejsu API, możesz dość łatwo wykonywać podstawowe i zaawansowane funkcje automatyzacji plików PDF. Ponadto można manipulować obrazami w istniejących plikach PDF. Interfejs API można pobrać jako DLL lub zainstalować za pomocą NuGet.
PM> Install-Package Aspose.Pdf
Dodaj obraz w pliku PDF w C# .NET
Poniżej przedstawiono kroki, aby dodać obraz do pliku PDF za pomocą Aspose.PDF for .NET.
- Użyj klasy Document, aby utworzyć nowy lub załadować istniejący plik PDF.
- Uzyskaj odniesienie do żądanej strony w obiekcie Page.
- Dodaj obraz do kolekcji Zasoby strony.
- Użyj następujących operatorów, aby umieścić obraz na stronie:
- GZapisz operator to save the current graphical state.
- ConcatenateMatrix operator to specify where the image is to be placed.
- Robić operator to draw the image on the page.
- GPrzywróć operator to save the updated graphical state.
- Zapisz zaktualizowany plik PDF za pomocą metody Document.Save(String).
Poniższy przykładowy kod pokazuje, jak dodać obraz do pliku PDF przy użyciu języka C#.
// Pełne przykłady i pliki danych można znaleźć na stronie https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Otwórz dokument
Document pdfDocument = new Document("AddImage.pdf");
// Ustaw współrzędne
int lowerLeftX = 100;
int lowerLeftY = 100;
int upperRightX = 200;
int upperRightY = 200;
// Pobierz stronę, na której należy dodać obraz
Page page = pdfDocument.Pages[1];
// Załaduj obraz do strumienia
FileStream imageStream = new FileStream("aspose-logo.jpg", FileMode.Open);
// Dodaj obraz do kolekcji obrazów zasobów strony
page.Resources.Images.Add(imageStream);
// Używając operatora GSave: ten operator zapisuje aktualny stan grafiki
page.Contents.Add(new Aspose.Pdf.Operators.GSave());
// Twórz obiekty prostokątne i macierzowe
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 });
// Używając operatora ConcatenateMatrix (matryca konkatenacyjna): określa sposób umieszczenia obrazu
page.Contents.Add(new Aspose.Pdf.Operators.ConcatenateMatrix(matrix));
XImage ximage = page.Resources.Images[page.Resources.Images.Count];
// Użycie operatora Do: ten operator rysuje obraz
page.Contents.Add(new Aspose.Pdf.Operators.Do(ximage.Name));
// Używając operatora GRestore: ten operator przywraca stan grafiki
page.Contents.Add(new Aspose.Pdf.Operators.GRestore());
// Zapisz zaktualizowany dokument
pdfDocument.Save("AddImage_out.pdf");
Wyodrębnij obrazy z PDF w C#
Jeśli chcesz wyodrębnić wszystkie obrazy z pliku PDF, możesz to zrobić, wykonując poniższe czynności.
- Użyj klasy Document, aby załadować istniejący plik PDF.
- Uzyskaj żądany obraz w obiekcie XImage z kolekcji Resources określonej strony, korzystając z indeksu.
- Zapisz wyodrębniony obraz w żądanym formacie, używając metody XImage.Save(FileStream, ImageFormat).
Poniższy przykładowy kod pokazuje, jak wyodrębnić obrazy z pliku PDF przy użyciu języka C#.
// Pełne przykłady i pliki danych można znaleźć na stronie https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Otwórz dokument
Document pdfDocument = new Document("ExtractImages.pdf");
// Wyodrębnij określony obraz
XImage xImage = pdfDocument.Pages[1].Resources.Images[1];
FileStream outputImage = new FileStream("output.jpg", FileMode.Create);
// Zapisz obraz wyjściowy
xImage.Save(outputImage, ImageFormat.Jpeg);
outputImage.Close();
Usuń obrazy z PDF w C#
Po uzyskaniu dostępu do zasobów strony w formacie PDF możesz usunąć z niej obrazy. Poniżej przedstawiono kroki usuwania obrazów z pliku PDF przy użyciu języka C#.
- Załaduj plik PDF przy użyciu klasy Document.
- Usuń obrazy, korzystając z jednej z poniższych metod.
- Usuwać() - Delete all images.
- Usuń(Int32) - Delete image by index.
- Usuń (ciąg znaków) - Delete image by name.
- Zapisz zaktualizowany plik PDF za pomocą metody Document.Save(String).
Poniższy przykładowy kod pokazuje, jak usunąć obrazy z pliku PDF przy użyciu języka C#.
// Pełne przykłady i pliki danych można znaleźć na stronie https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Otwórz dokument
Document pdfDocument = new Document("DeleteImages.pdf");
// Usuń określony obraz
pdfDocument.Pages[1].Resources.Images.Delete(1);
// Zapisz zaktualizowany plik PDF
pdfDocument.Save("output.pdf");
Zamień obraz w PDF w C#
Aspose.PDF for .NET umożliwia także zastąpienie określonego obrazu w pliku PDF. W tym celu możesz zastąpić obraz w kolekcji obrazów strony. Poniżej przedstawiono kroki, aby zamienić obraz w pliku PDF przy użyciu języka C#.
- Załaduj plik PDF przy użyciu klasy Document.
- Zamień żądany obraz, używając metody [Document.Pages1.Resources.Images.Replace(Int32, Stream, Int32, Boolean)]24.
- Zapisz zaktualizowany plik PDF za pomocą metody Document.Save(String).
Poniższy przykładowy kod pokazuje, jak zamienić obraz w pliku PDF przy użyciu języka C#.
// Pełne przykłady i pliki danych można znaleźć na stronie https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Otwórz dokument
Document pdfDocument = new Document("input.pdf");
// Zastąp określony obraz
pdfDocument.Pages[1].Resources.Images.Replace(1, new FileStream("lovely.jpg", FileMode.Open));
// Zapisz zaktualizowany plik PDF
pdfDocument.Save("output.pdf");
C# .NET PDF API — uzyskaj bezpłatną licencję
Możesz uzyskać bezpłatną tymczasową licencję, aby wypróbować interfejs API bez ograniczeń ewaluacyjnych.
Wniosek
Obrazy i obiekty graficzne są ważnymi elementami dokumentów PDF. Dlatego w tym artykule omówiliśmy, jak manipulować obrazami w pliku PDF przy użyciu interfejsu API języka C# .NET. Samouczek krok po kroku i przykłady kodu pokazują, jak dodawać, wyodrębniać, usuwać i zastępować obrazy w plikach PDF w języku C#. Więcej informacji na temat C# PDF API można znaleźć w dokumentacji.