Obrázky lze použít k zobrazení různých věcí, od fotografií produktů po pracovní postupy a vývojové diagramy. Soubory PDF mohou obsahovat obrázky na základě typu informací, které mají. Například průvodce instalací židle bude obsahovat obrázky židle, které ukazují, jak ji sestavit. Mohou nastat situace, kdy je potřeba programově manipulovat s obrázky v souborech PDF. Pro takové případy vás tento článek naučí pracovat s obrázky v souborech PDF pomocí C++. Zejména se budeme zabývat tím, jak přidávat, nahrazovat, extrahovat a odstraňovat obrázky v PDF pomocí C++.
- C++ API pro přidávání, aktualizaci, odebírání a nahrazování obrázků PDF
- Přidejte obrázek do souboru PDF pomocí C++
- Extrahujte obrázky ze souboru PDF pomocí C++
- Odstraňte obrázek ze souboru PDF pomocí C++
- Nahraďte obrázek v souboru PDF pomocí C++
C++ API pro přidávání, aktualizaci, odebírání a nahrazování obrázků PDF
Aspose.PDF for C++ je robustní knihovna C++, která vám umožňuje vytvářet, číst a upravovat soubory PDF. Dále API podporuje práci s obrázky v PDF dokumentech. Rozhraní API můžete nainstalovat buď prostřednictvím NuGet, nebo si jej stáhnout přímo ze sekce ke stažení.
PM> Install-Package Aspose.PDF.Cpp
Přidejte obrázek do souboru PDF v C++
Níže jsou uvedeny kroky pro přidání obrázku do souboru PDF.
- Načtěte soubor PDF pomocí třídy Document.
- Načtěte stránku, kam chcete přidat obrázek, pomocí metody Document->getPages()->idxget(int32t index).
- Vytvořte instanci třídy Rectangle.
- Přidejte obrázek na stránku pomocí Page->AddImage(System::String imagePath, System::SharedPtrAspose::Pdf::Rectangle obdélník) metoda.
- Uložte soubor PDF pomocí metody Document->Save(System::String outputFileName).
Následující ukázkový kód ukazuje, jak přidat obrázek do souboru PDF pomocí C++.
// Načtěte soubor PDF
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\PDF\\Sample 1.pdf");
// Načtěte první stránku
auto page = pdfDocument->get_Pages()->idx_get(1);
// Vytvořte instanci třídy Rectangle
double x = 100.0, y = 600.0, width = 200.0, height = 200.0;
auto rectangle = MakeObject<Aspose::Pdf::Rectangle>(x, y, x + width, y + height);
// Přidejte obrázek na stránku
page->AddImage(u"SourceDirectory\\Images\\AsposeLogo.png", rectangle);
// Uložte soubor PDF
pdfDocument->Save(u"OutputDirectory\\add_image_output.pdf");
Extrahujte obrázky z PDF v C++
Chcete-li extrahovat obrázky ze souboru PDF v C++, postupujte podle níže uvedených kroků.
- Načtěte soubor PDF pomocí třídy Document.
- Extrahujte obrázek pomocí metody Document->getPages()->idxget(int32t index)->getResources()->getImages()->idxget(int32t index).
- Vytvořte instanci třídy FileStream pro uložení výstupního obrazu.
- Uložte obrázek pomocí XImage->Save(System::SharedPtrSystem::IO::Stream stream, System::SharedPtrSystem::Drawing::Imaging::ImageFormat formát) metoda.
- Zavřete stream.
Následující ukázkový kód ukazuje, jak extrahovat obrázek z PDF v C++.
// Načtěte soubor PDF
auto pdfDocument = MakeObject<Document>(u"OutputDirectory\\add_image_output.pdf");
// Extrahujte konkrétní obrázek
auto image = pdfDocument->get_Pages()->idx_get(1)->get_Resources()->get_Images()->idx_get(1);
// Chcete-li uložit výstupní obraz, vytvořte objekt proudu
System::SharedPtr<System::IO::FileStream> outputImage = System::IO::File::Create(u"OutputDirectory\\extract_image_output.jpg");
// Uložte výstupní obrázek
image->Save(outputImage, System::Drawing::Imaging::ImageFormat::get_Jpeg());
// Zavřete stream
outputImage->Close();
Odstraňte obrázek ze souboru PDF pomocí C++
Následují kroky k odstranění obrázku ze souboru PDF v C++.
- Načtěte soubor PDF pomocí třídy Document.
- Odstraňte konkrétní obrázek pomocí metody Document->getPages()->idxget(int32t index)->getResources()->getImages()->Delete(int32t index).
- Uložte soubor PDF pomocí metody Document->Save(System::String outputFileName).
Následující ukázkový kód ukazuje, jak odebrat obrázek ze souboru PDF v C++.
// Načtěte soubor PDF
auto pdfDocument = MakeObject<Document>(u"OutputDirectory\\add_image_output.pdf");
// Smazat konkrétní obrázek
pdfDocument->get_Pages()->idx_get(1)->get_Resources()->get_Images()->Delete(1);
// Uložte soubor PDF
pdfDocument->Save(u"OutputDirectory\\delete_image_output.pdf");
Nahradit obrázek v PDF v C++
Chcete-li nahradit obrázek v PDF v C++, postupujte podle níže uvedených kroků.
- Načtěte soubor PDF pomocí třídy Document.
- Otevřete nový obrázek pomocí třídy FileStream.
- Nahraďte starý obrázek pomocí Document->getPages()->idxget(int32t index)->getResources()->getImages()->Replace(int32t index, System::SharedPtrSystem::IO::Stream stream) metoda.
- Zavřete stream.
- Uložte soubor PDF pomocí metody Document->Save(System::String outputFileName).
Následující ukázka kódu ukazuje, jak nahradit obrázek v souboru PDF v C++.
// Načtěte soubor PDF
auto pdfDocument = MakeObject<Document>(u"OutputDirectory\\add_image_output.pdf");
// Otevřete nový obrázek pomocí FileStream
System::SharedPtr<System::IO::FileStream> newImage = System::IO::File::OpenRead(u"SourceDirectory\\Images\\aspose.png");
// Nahraďte starý obrázek
pdfDocument->get_Pages()->idx_get(1)->get_Resources()->get_Images()->Replace(1, newImage);
// Zavřete stream
newImage->Close();
// Uložte soubor PDF
pdfDocument->Save(u"OutputDirectory\\replace_image_output.pdf");
C++ API pro práci s obrázky PDF – Získejte bezplatnou licenci
Rozhraní API můžete vyzkoušet bez omezení hodnocení tím, že požádáte o bezplatnou dočasnou licenci.
Závěr
V tomto článku jste se naučili pracovat s obrázky v souborech PDF pomocí C++. Konkrétně jste se naučili přidávat, extrahovat, nahrazovat a odstraňovat obrázky ze souborů PDF pomocí Aspose.PDF for C++ API. API poskytuje spoustu dalších funkcí pro práci se soubory PDF, které můžete podrobně prozkoumat na oficiální dokumentaci. V případě jakýchkoli dotazů nás neváhejte kontaktovat na našem bezplatném fóru podpory.