Pracuj z obrazami w PDF C#

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.

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.

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#.

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.

Zobacz też