Vamos explorar os cenários relacionados à rotação em documentos PDF. Pode haver situações em que você pode ter um documento PDF digitalizado invertido que precisa ser corrigido. Você pode corrigir esse documento girando as páginas do documento. Você também pode adicionar marcas d’água de texto ou imagem a um documento PDF girando-as. Para esse fim, este artigo ensinará como girar páginas, texto e imagens em PDF programaticamente usando C++.

API C++ para girar páginas PDF, texto e imagens

Aspose.PDF for C++ é uma biblioteca C++ que permite criar, ler e atualizar documentos PDF. Além disso, a API suporta a rotação de páginas PDF, texto e imagens. Você pode instalar a API por meio do NuGet ou baixá-la diretamente da seção downloads.

PM> Install-Package Aspose.PDF.Cpp

Girar páginas PDF usando C++

Girar páginas com o Aspose.PDF para C++ é muito fácil. Com apenas algumas linhas de código, você pode girar todas as páginas do documento PDF. A seguir estão as etapas para girar páginas PDF usando C++.

O código de exemplo a seguir mostra como girar páginas PDF usando C++.

// Abra o documento PDF de origem
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample 1.pdf");

// Percorra as páginas
for (System::SharedPtr<Page> page : pdfDocument->get_Pages())
{
	// Girar página
	page->set_Rotate(Aspose::Pdf::Rotation::on180);
}

// Salve o arquivo PDF
pdfDocument->Save(u"OutputDirectory\\Rotated_out.pdf", SaveFormat::Pdf);

Girando texto em páginas PDF usando C++

Ao adicionar texto a documentos PDF, você pode alterar muitas propriedades do texto, incluindo seu ângulo. No exemplo a seguir, adicionaremos texto a uma página PDF e a giraremos em um ângulo de 45 graus. A seguir estão os passos para conseguir isso.

O código de exemplo a seguir demonstra como girar o texto em uma página PDF usando C++.

// Crie uma instância da classe Document
auto pdfDocument = MakeObject<Document>();

// Adicionar nova página
System::SharedPtr<Page> page = pdfDocument->get_Pages()->Add();

// Criar objeto TextFragment
System::SharedPtr<TextFragment> textFragment = MakeObject<TextFragment>(u"Rotated Text");

// Defina a posição do texto
textFragment->set_Position(MakeObject<Position>(200, 600));

// Definir propriedades de texto
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);

// Criar objeto TextBuilder
System::SharedPtr<TextBuilder> textBuilder = MakeObject<TextBuilder>(page);

// Adicionar texc à página
textBuilder->AppendText(textFragment);

// Salve o arquivo PDF
pdfDocument->Save(u"OutputDirectory\\Rotated_text_out.pdf", SaveFormat::Pdf);

Girar uma imagem em uma página PDF usando C++

Ao adicionar imagens a documentos PDF, você pode definir muitas propriedades como altura, largura, opacidade, rotação, etc. Neste exemplo, adicionaremos uma imagem a uma página PDF e a giraremos em um ângulo de 90 graus. A seguir estão as etapas para girar uma imagem em uma página PDF.

O código de exemplo a seguir mostra como girar uma imagem em uma página PDF usando C++.

// Abra o documento PDF de origem
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample 1.pdf");

// Criar objeto ImageStamp
System::SharedPtr<ImageStamp> imageStamp = MakeObject<ImageStamp>(u"SourceDirectory\\aspose.png");

// Definir propriedades de 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);

// Adicionar ImageStamp à página
pdfDocument->get_Pages()->idx_get(1)->AddStamp(imageStamp);

// Salve o arquivo PDF
pdfDocument->Save(u"OutputDirectory\\Rotated_image_out.pdf", SaveFormat::Pdf);

Obtenha uma licença gratuita

Você pode experimentar a API sem limitações de avaliação solicitando uma licença temporária gratuita.

Conclusão

Neste artigo, você aprendeu como girar páginas, texto e imagens em documentos PDF usando C++. Aspose.PDF for C++ é uma vasta API que fornece muitos recursos adicionais para trabalhar com arquivos PDF. Você pode explorar a API em detalhes visitando a documentação oficial. Em caso de dúvidas, sinta-se à vontade para entrar em contato conosco em nosso fórum de suporte gratuito.

Veja também