Esploriamo gli scenari relativi alla rotazione nei documenti PDF. Potrebbero esserci situazioni in cui potresti avere un documento PDF scansionato invertito che devi correggere. È possibile correggere un tale documento ruotando le pagine del documento. Potresti anche voler aggiungere filigrane di testo o immagini a un documento PDF ruotandole. A tal fine, questo articolo ti insegnerà come ruotare pagine PDF, testo e immagini in modo programmatico utilizzando C++.
- API C++ per la rotazione di pagine PDF, testo e immagini
- Ruota le pagine PDF usando C++
- Rotazione del testo su pagine PDF utilizzando C++
- Ruota un’immagine su una pagina PDF usando C++
API C++ per la rotazione di pagine PDF, testo e immagini
Aspose.PDF for C++ è una libreria C++ che consente di creare, leggere e aggiornare documenti PDF. Oltre a ciò, l’API supporta la rotazione di pagine PDF, testo e immagini. Puoi installare l’API tramite NuGet o scaricarla direttamente dalla sezione download.
PM> Install-Package Aspose.PDF.Cpp
Ruota le pagine PDF usando C++
Ruotare le pagine con Aspose.PDF per C++ è un gioco da ragazzi. Con poche righe di codice puoi ruotare tutte le pagine del documento PDF. Di seguito sono riportati i passaggi per ruotare le pagine PDF utilizzando C++.
- Carica il documento PDF di origine utilizzando la classe Document.
- Scorri le pagine del documento. Nel caso in cui desideri ruotare solo le pagine selezionate, puoi definire quella logica all’interno di questo ciclo.
- Ruota ogni pagina usando il metodo Page->setRotate(Rotation value).
- Salvare il file PDF di output utilizzando il metodo Document->Save(System::String outputFileName, SaveFormat format).
Il codice di esempio seguente mostra come ruotare le pagine PDF utilizzando C++.
// Apri il documento PDF di origine
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample 1.pdf");
// Scorri le pagine
for (System::SharedPtr<Page> page : pdfDocument->get_Pages())
{
// Ruota pagina
page->set_Rotate(Aspose::Pdf::Rotation::on180);
}
// Salva il file PDF
pdfDocument->Save(u"OutputDirectory\\Rotated_out.pdf", SaveFormat::Pdf);
Rotazione del testo su pagine PDF utilizzando C++
Durante l’aggiunta di testo ai documenti PDF, puoi modificare molte proprietà del testo, incluso l’angolo. Nell’esempio seguente, aggiungeremo del testo a una pagina PDF e la ruoteremo con un angolo di 45 gradi. Di seguito sono riportati i passaggi per raggiungere questo obiettivo.
- Crea un’istanza della classe Document per rappresentare un nuovo documento PDF.
- Aggiungi una nuova pagina al documento PDF.
- Crea un’istanza della classe TextFragment con il testo che desideri aggiungere.
- Imposta la posizione, l’angolo e altre proprietà del testo.
- Aggiungi testo alla pagina PDF utilizzando TextBuilder->AppendText(System::SharedPtr textFragment).
- Salvare il file PDF di output utilizzando il metodo Document->Save(System::String outputFileName, SaveFormat format).
Il codice di esempio seguente mostra come ruotare il testo in una pagina PDF usando C++.
// Crea un'istanza della classe Document
auto pdfDocument = MakeObject<Document>();
// Aggiungi nuova pagina
System::SharedPtr<Page> page = pdfDocument->get_Pages()->Add();
// Crea oggetto TextFragment
System::SharedPtr<TextFragment> textFragment = MakeObject<TextFragment>(u"Rotated Text");
// Imposta la posizione del testo
textFragment->set_Position(MakeObject<Position>(200, 600));
// Imposta le proprietà del testo
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);
// Crea oggetto TextBuilder
System::SharedPtr<TextBuilder> textBuilder = MakeObject<TextBuilder>(page);
// Aggiungi texc alla pagina
textBuilder->AppendText(textFragment);
// Salva il file PDF
pdfDocument->Save(u"OutputDirectory\\Rotated_text_out.pdf", SaveFormat::Pdf);
Ruota un’immagine su una pagina PDF usando C++
Durante l’aggiunta di immagini ai documenti PDF, puoi impostare molte proprietà come altezza, larghezza, opacità, rotazione, ecc. In questo esempio, aggiungeremo un’immagine a una pagina PDF e la ruoteremo di un angolo di 90 gradi. Di seguito sono riportati i passaggi per ruotare un’immagine su una pagina PDF.
- Carica il documento PDF di origine utilizzando la classe Document.
- Crea un’istanza della classe ImageStamp con l’immagine che desideri aggiungere.
- Imposta la rotazione e altre proprietà dell’immagine.
- Aggiungi l’immagine alla pagina PDF usando Document->getPages()->idxget(1)->AddStamp(System::SharedPtr timbro) metodo.
- Salvare il file PDF di output utilizzando il metodo Document->Save(System::String outputFileName, SaveFormat format).
Il codice di esempio seguente mostra come ruotare un’immagine su una pagina PDF usando C++.
// Apri il documento PDF di origine
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample 1.pdf");
// Crea oggetto ImageStamp
System::SharedPtr<ImageStamp> imageStamp = MakeObject<ImageStamp>(u"SourceDirectory\\aspose.png");
// Imposta le proprietà di ImageStamp
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);
// Aggiungi ImageStamp alla pagina
pdfDocument->get_Pages()->idx_get(1)->AddStamp(imageStamp);
// Salva il file PDF
pdfDocument->Save(u"OutputDirectory\\Rotated_image_out.pdf", SaveFormat::Pdf);
Ottieni una licenza gratuita
Puoi provare l’API senza limitazioni di valutazione richiedendo una licenza temporanea gratuita.
Conclusione
In questo articolo hai imparato a ruotare pagine, testo e immagini nei documenti PDF usando C++. Aspose.PDF per C++ è una vasta API che fornisce molte funzionalità aggiuntive per lavorare con i file PDF. Puoi esplorare l’API in dettaglio visitando la documentazione ufficiale. In caso di domande, non esitare a contattarci sul nostro forum di supporto gratuito.