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

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

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.

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.

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.

Se även