Při programovém generování souborů PDF možná budete muset pracovat s obrázky. Může se jednat o přidání obrázku, odstranění/nahrazení obrázku nebo extrahování obrázků z PDF v C#. Tento článek pokrývá všechny tyto funkce a umožňuje vám je implementovat ve snadno srozumitelných krocích a několika řádcích kódu. Pojďme se tedy podívat, jak pracovat s obrázky v souborech PDF v C#.
- Knihovna C# pro práci s obrázky v PDF
- Přidat obrázek do PDF v C#
- Extrahujte obrázky z PDF v C#
- C# Odebrat obrázky z PDF
- Nahradit obrázek v PDF v C#
Knihovna C# pro přidávání a manipulaci s obrázky v PDF
Pro přidání, odstranění a nahrazení obrázků v PDF použijeme Aspose.PDF for .NET. Je to knihovna tříd C#, která vám umožňuje vytvářet a manipulovat s dokumenty PDF z aplikací .NET. Pomocí knihovny můžete poměrně snadno provádět základní i pokročilé funkce automatizace PDF.
Knihovnu lze stáhnout jako DLL nebo nainstalovat pomocí NuGet.
PM> Install-Package Aspose.PDF
Přidat obrázek do PDF pomocí C#
Níže jsou uvedeny kroky pro přidání obrázku do souboru PDF v C#.
- Pomocí třídy Document vytvořte nový nebo načtěte existující soubor PDF.
- Získejte odkaz na požadovanou stránku v objektu Page.
- Přidejte obrázek do sbírky Zdroje stránky.
- K umístění obrázku na stránku použijte následující operátory:
- GUložit operator to save the current graphical state.
- ConcatenateMatrix operator to specify where the image is to be placed.
- Dělat operator to draw the image on the page.
- Obnovit operator to save the updated graphical state.
- Uložte aktualizovaný soubor PDF pomocí metody Document.Save(String).
Následující ukázka kódu ukazuje, jak přidat obrázek do souboru PDF pomocí C#.
// Úplné příklady a datové soubory najdete na https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Otevřete dokument
Document pdfDocument = new Document("AddImage.pdf");
// Nastavte souřadnice
int lowerLeftX = 100;
int lowerLeftY = 100;
int upperRightX = 200;
int upperRightY = 200;
// Získejte stránku, kam je třeba přidat obrázek
Page page = pdfDocument.Pages[1];
// Načíst obrázek do streamu
FileStream imageStream = new FileStream("aspose-logo.jpg", FileMode.Open);
// Přidejte obrázek do sbírky Obrázky zdrojů stránky
page.Resources.Images.Add(imageStream);
// Použití operátoru GSave: tento operátor uloží aktuální stav grafiky
page.Contents.Add(new Aspose.Pdf.Operators.GSave());
// Vytvářejte objekty obdélníku a matice
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 });
// Použití operátoru ConcatenateMatrix (matice zřetězení): definuje, jak musí být obrázek umístěn
page.Contents.Add(new Aspose.Pdf.Operators.ConcatenateMatrix(matrix));
XImage ximage = page.Resources.Images[page.Resources.Images.Count];
// Použití operátoru Do: tento operátor kreslí obrázek
page.Contents.Add(new Aspose.Pdf.Operators.Do(ximage.Name));
// Pomocí operátoru GRestore: tento operátor obnovuje stav grafiky
page.Contents.Add(new Aspose.Pdf.Operators.GRestore());
// Uložit aktualizovaný dokument
pdfDocument.Save("AddImage_out.pdf");
Extrahujte obrázky z PDF v C#
V případě, že chcete extrahovat všechny obrázky ze souboru PDF, můžete to udělat podle níže uvedených kroků.
- K načtení existujícího souboru PDF použijte třídu Document.
- Získejte požadovaný obrázek v objektu XImage z kolekce Resources konkrétní stránky pomocí indexu.
- Uložte extrahovaný obrázek v požadovaném formátu pomocí metody XImage.Save(FileStream, ImageFormat).
Následující ukázka kódu ukazuje, jak extrahovat obrázky z PDF v C#.
// Úplné příklady a datové soubory najdete na https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Otevřete dokument
Document pdfDocument = new Document("ExtractImages.pdf");
// Extrahujte konkrétní obrázek
XImage xImage = pdfDocument.Pages[1].Resources.Images[1];
FileStream outputImage = new FileStream("output.jpg", FileMode.Create);
// Uložit výstupní obrázek
xImage.Save(outputImage, ImageFormat.Jpeg);
outputImage.Close();
Odebrat obrázky z PDF v C#
Jakmile získáte přístup ke zdrojům stránky v PDF, můžete z ní odstranit obrázky. Následují kroky k odstranění obrázků ze souboru PDF v C#.
- Načtěte soubor PDF pomocí třídy Document.
- Odeberte obrázek(y) pomocí jedné z následujících metod.
- Vymazat() - Delete all images.
- Smazat (Int32) - Delete image by index.
- Smazat (řetězec) - Delete image by name.
- Uložte aktualizovaný soubor PDF pomocí metody Document.Save(String).
Následující ukázka kódu ukazuje, jak odstranit obrázky z PDF pomocí C#.
// Úplné příklady a datové soubory najdete na https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Otevřete dokument
Document pdfDocument = new Document("DeleteImages.pdf");
// Smazat konkrétní obrázek
pdfDocument.Pages[1].Resources.Images.Delete(1);
// Uložte aktualizovaný soubor PDF
pdfDocument.Save("output.pdf");
Nahradit obrázek v PDF v C#
Aspose.PDF for .NET také umožňuje nahradit konkrétní obrázek v PDF. Za tímto účelem můžete nahradit obrázek v kolekci obrázků na stránce. Následují kroky k nahrazení obrázku v PDF pomocí C#.
- Načtěte soubor PDF pomocí třídy Document.
- Nahraďte požadovaný obrázek pomocí metody [Document.Pages1.Resources.Images.Replace(Int32, Stream, Int32, Boolean)]24.
- Uložte aktualizovaný soubor PDF pomocí metody Document.Save(String).
Následující ukázka kódu ukazuje, jak nahradit obrázek v PDF pomocí C#.
// Úplné příklady a datové soubory najdete na https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Otevřete dokument
Document pdfDocument = new Document("input.pdf");
// Nahraďte konkrétní obrázek
pdfDocument.Pages[1].Resources.Images.Replace(1, new FileStream("lovely.jpg", FileMode.Open));
// Uložte aktualizovaný soubor PDF
pdfDocument.Save("output.pdf");
Bezplatná knihovna C# pro manipulaci s obrázky PDF
Můžete získat bezplatnou dočasnou licenci a pracovat s obrázky v souborech PDF bez jakýchkoli omezení.
Prozkoumejte knihovnu C# PDF
Více o knihovně C# PDF můžete prozkoumat pomocí dokumentace.
Závěr
Obrázky a grafické objekty jsou důležitými prvky dokumentů PDF. Proto jsme v tomto článku probrali, jak manipulovat s obrázky v PDF pomocí C#. Výukový program krok za krokem a ukázky kódu ukázaly, jak přidávat, extrahovat, odstraňovat a nahrazovat obrázky v souborech PDF v jazyce C#.