Bilder kan användas för att visa en mängd olika saker, allt från produktfotografier till arbetsflöden och flödesscheman. PDF-filer kan innehålla bilder baserat på vilken typ av information den har. Till exempel kommer en installationsguide för stolen att innehålla bilder på stolen som visar hur man monterar den. Det kan finnas scenarier där du behöver manipulera bilder i PDF-filer programmatiskt. För sådana fall kommer den här artikeln att lära dig hur du arbetar med bilder i PDF-filer med C++. Speciellt kommer vi att täcka hur man lägger till, ersätter, extraherar och tar bort bilder i en PDF med C++.
- C++ API för att lägga till, uppdatera, ta bort och ersätta PDF-bilder
- Lägg till en bild till en PDF-fil med C++
- Extrahera bilder från en PDF-fil med C++
- Ta bort en bild från en PDF-fil med C++
- Ersätt en bild i en PDF-fil med C++
C++ API för att lägga till, uppdatera, ta bort och ersätta PDF-bilder
Aspose.PDF for C++ är ett robust C++-bibliotek som låter dig skapa, läsa och ändra PDF-filer. Dessutom stöder API:et arbete med bilder i PDF-dokument. Du kan antingen installera API:t genom NuGet eller ladda ner det direkt från avsnittet downloads.
PM> Install-Package Aspose.PDF.Cpp
Lägg till en bild till en PDF-fil i C++
Följande är stegen för att lägga till en bild i en PDF-fil.
- Ladda PDF-filen med klassen Document.
- Hämta sidan där du vill lägga till bilden med metoden Document->getPages()->idxget(int32t index).
- Skapa en instans av klassen Rectangle.
- Lägg till bilden på sidan med hjälp av Page->AddImage(System::String imagePath, System::SharedPtrAspose::Pdf::Rectangle rektangel) metod.
- Spara PDF-filen med metoden Document->Save(System::String outputFileName).
Följande exempelkod visar hur man lägger till en bild i en PDF-fil med C++.
// Ladda PDF-filen
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\PDF\\Sample 1.pdf");
// Hämta första sidan
auto page = pdfDocument->get_Pages()->idx_get(1);
// Skapa en instans av klassen 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);
// Lägg till bild på sidan
page->AddImage(u"SourceDirectory\\Images\\AsposeLogo.png", rectangle);
// Spara PDF-filen
pdfDocument->Save(u"OutputDirectory\\add_image_output.pdf");
Extrahera bilder från en PDF i C++
För att extrahera bilder från en PDF-fil i C++, följ stegen nedan.
- Ladda PDF-filen med klassen Dokument.
- Extrahera bilden med metoden Document->getPages()->idxget(int32t index)->getResources()->getImages()->idxget(int32t index).
- Skapa en instans av klassen FileStream för att spara utdatabilden.
- Spara bilden med hjälp av XImage->Save(System::SharedPtrSystem::IO::Stream ström, System::SharedPtrSystem::Drawing::Imaging::ImageFormat format) metod.
- Stäng strömmen.
Följande exempelkod visar hur man extraherar en bild från en PDF-fil i C++.
// Ladda PDF-filen
auto pdfDocument = MakeObject<Document>(u"OutputDirectory\\add_image_output.pdf");
// Extrahera en viss bild
auto image = pdfDocument->get_Pages()->idx_get(1)->get_Resources()->get_Images()->idx_get(1);
// Skapa ett strömobjekt för att spara utdatabilden
System::SharedPtr<System::IO::FileStream> outputImage = System::IO::File::Create(u"OutputDirectory\\extract_image_output.jpg");
// Spara utdatabilden
image->Save(outputImage, System::Drawing::Imaging::ImageFormat::get_Jpeg());
// Stäng strömmen
outputImage->Close();
Ta bort en bild från en PDF-fil med C++
Följande är stegen för att ta bort en bild från en PDF-fil i C++.
- Ladda PDF-filen med klassen Document.
- Ta bort en viss bild med metoden Document->getPages()->idxget(int32t index)->getResources()->getImages()->Delete(int32t index).
- Spara PDF-filen med metoden Document->Save(System::String outputFileName).
Följande exempelkod visar hur man tar bort en bild från en PDF-fil i C++.
// Ladda PDF-filen
auto pdfDocument = MakeObject<Document>(u"OutputDirectory\\add_image_output.pdf");
// Ta bort en viss bild
pdfDocument->get_Pages()->idx_get(1)->get_Resources()->get_Images()->Delete(1);
// Spara PDF-filen
pdfDocument->Save(u"OutputDirectory\\delete_image_output.pdf");
Ersätt en bild i en PDF i C++
För att ersätta en bild i en PDF i C++, följ stegen nedan.
- Ladda PDF-filen med klassen Document.
- Öppna den nya bilden med klassen FileStream.
- Ersätt den gamla bilden med hjälp av Document->getPages()->idxget(int32t index)->getResources()->getImages()->Replace(int32t index, System::SharedPtrSystem::IO::Stream stream) metod.
- Stäng strömmen.
- Spara PDF-filen med metoden Document->Save(System::String outputFileName).
Följande kodexempel visar hur man ersätter en bild i en PDF-fil i C++.
// Ladda PDF-filen
auto pdfDocument = MakeObject<Document>(u"OutputDirectory\\add_image_output.pdf");
// Öppna den nya bilden med FileStream
System::SharedPtr<System::IO::FileStream> newImage = System::IO::File::OpenRead(u"SourceDirectory\\Images\\aspose.png");
// Byt ut den gamla bilden
pdfDocument->get_Pages()->idx_get(1)->get_Resources()->get_Images()->Replace(1, newImage);
// Stäng strömmen
newImage->Close();
// Spara PDF-filen
pdfDocument->Save(u"OutputDirectory\\replace_image_output.pdf");
C++ API för att arbeta med PDF-bilder - Skaffa en gratis licens
Du kan prova API:et utan utvärderingsbegränsningar genom att begära en gratis tillfällig licens.
Slutsats
I den här artikeln har du lärt dig hur du arbetar med bilder i PDF-filer med C++. Specifikt har du lärt dig hur du lägger till, extraherar, ersätter och tar bort bilder från PDF-filer med Aspose.PDF för C++ API. API:et tillhandahåller ett gäng ytterligare funktioner för att arbeta med PDF-filer som du kan utforska i detalj genom att besöka den officiella dokumentationen. Om du har några frågor är du välkommen att kontakta oss på vårt gratis supportforum.