Låt oss utforska scenarierna relaterade till rotation i PDF dokument. Det kan finnas situationer där du kanske har ett inverterat skannat PDF-dokument som du behöver fixa. Du kan fixa ett sådant dokument genom att rotera dokumentets sidor. Du kanske också vill lägga till text- eller bildvattenstämplar i ett PDF-dokument genom att rotera dem. För detta ändamål kommer den här artikeln att lära dig hur du roterar PDF-sidor, text och bilder programmatiskt med C++.
- C++ API för att rotera PDF-sidor, text och bilder
- Rotera PDF-sidor med C++
- Rotera text på PDF-sidor med C++
- Rotera en bild på en PDF-sida med C++
C++ API för att rotera PDF-sidor, text och bilder
Aspose.PDF for C++ är ett C++-bibliotek som låter dig skapa, läsa och uppdatera PDF-dokument. Utöver detta stöder API:et roterande PDF-sidor, text och bilder. Du kan antingen installera API:t genom NuGet eller ladda ner det direkt från avsnittet downloads.
PM> Install-Package Aspose.PDF.Cpp
Rotera PDF-sidor med C++
Att rotera sidor med Aspose.PDF för C++ är en bris. Med bara några rader kod kan du rotera alla sidor i PDF-dokumentet. Följande är stegen för att rotera PDF-sidor med C++.
- Ladda käll-PDF-dokumentet med klassen Document.
- Bläddra igenom dokumentets sidor. Om du bara vill rotera valda sidor, kan du definiera den logiken inom denna loop.
- Rotera varje sida med metoden Page->setRotate(Rotation value).
- Spara den utgående PDF-filen med metoden Dokument->Save(System::String outputFileName, SaveFormat format).
Följande exempelkod visar hur man roterar PDF-sidor med C++.
// Öppna PDF-källdokumentet
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample 1.pdf");
// Bläddra igenom sidorna
for (System::SharedPtr<Page> page : pdfDocument->get_Pages())
{
// Rotera sidan
page->set_Rotate(Aspose::Pdf::Rotation::on180);
}
// Spara PDF-filen
pdfDocument->Save(u"OutputDirectory\\Rotated_out.pdf", SaveFormat::Pdf);
Rotera text på PDF-sidor med C++
När du lägger till text i PDF-dokument kan du ändra många textegenskaper, inklusive dess vinkel. I följande exempel kommer vi att lägga till text på en PDF-sida och rotera den i en vinkel på 45 grader. Följande är stegen för att uppnå det.
- Skapa en instans av klassen Document för att representera ett nytt PDF-dokument.
- Lägg till en ny sida i PDF-dokumentet.
- Skapa en instans av klassen TextFragment med texten du vill lägga till.
- Ställ in textens position, vinkel och andra egenskaper.
- Lägg till text till PDF-sidan med hjälp av TextBuilder->AppendText(System::SharedPtr textFragment) metod.
- Spara den utgående PDF-filen med metoden Dokument->Save(System::String outputFileName, SaveFormat format).
Följande exempelkod visar hur man roterar text på en PDF-sida med C++.
// Skapa en instans av klassen Document
auto pdfDocument = MakeObject<Document>();
// Lägg till ny sida
System::SharedPtr<Page> page = pdfDocument->get_Pages()->Add();
// Skapa TextFragment-objekt
System::SharedPtr<TextFragment> textFragment = MakeObject<TextFragment>(u"Rotated Text");
// Ställ in textens position
textFragment->set_Position(MakeObject<Position>(200, 600));
// Ställ in textegenskaper
textFragment->get_TextState()->set_FontSize(12);
textFragment->get_TextState()->set_Font(FontRepository::FindFont(u"TimesNewRoman"));
textFragment->get_TextState()->set_BackgroundColor(Aspose::Pdf::Color::get_LightGray());
textFragment->get_TextState()->set_ForegroundColor(Aspose::Pdf::Color::get_Red());
textFragment->get_TextState()->set_Rotation(45);
textFragment->get_TextState()->set_Underline(true);
// Skapa TextBuilder-objekt
System::SharedPtr<TextBuilder> textBuilder = MakeObject<TextBuilder>(page);
// Lägg till texc på sidan
textBuilder->AppendText(textFragment);
// Spara PDF-filen
pdfDocument->Save(u"OutputDirectory\\Rotated_text_out.pdf", SaveFormat::Pdf);
Rotera en bild på en PDF-sida med C++
När du lägger till bilder i PDF-dokument kan du ställa in många egenskaper som höjd, bredd, opacitet, rotation, etc. I det här exemplet lägger vi till en bild på en PDF-sida och roterar den i en vinkel på 90 grader. Följande är stegen för att rotera en bild på en PDF-sida.
- Ladda käll-PDF-dokumentet med klassen Document.
- Skapa en instans av klassen ImageStamp med bilden du vill lägga till.
- Ställ in rotation och andra egenskaper för bilden.
- Lägg till bilden på PDF-sidan med Document->getPages()->idxget(1)->AddStamp(System::SharedPtr stämpel) metod.
- Spara den utgående PDF-filen med metoden Dokument->Spara(System::String outputFileName, SaveFormat format).
Följande exempelkod visar hur man roterar en bild på en PDF-sida med C++.
// Öppna PDF-källdokumentet
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample 1.pdf");
// Skapa ImageStamp-objekt
System::SharedPtr<ImageStamp> imageStamp = MakeObject<ImageStamp>(u"SourceDirectory\\aspose.png");
// Ställ in ImageStamp-egenskaper
imageStamp->set_XIndent(250);
imageStamp->set_YIndent(350);
imageStamp->set_Height(100);
imageStamp->set_Width(300);
imageStamp->set_Rotate(Rotation::on90);
imageStamp->set_Opacity(0.5);
// Lägg till ImageStamp på sidan
pdfDocument->get_Pages()->idx_get(1)->AddStamp(imageStamp);
// Spara PDF-filen
pdfDocument->Save(u"OutputDirectory\\Rotated_image_out.pdf", SaveFormat::Pdf);
Skaffa en gratis licens
Du kan prova API 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 roterar sidor, text och bilder i PDF-dokument med C++. Aspose.PDF för C++ är ett stort API som ger många ytterligare funktioner för att arbeta med PDF-filer. Du kan utforska API:et 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.