Mover Páginas de PDF programaticamente C++
Contents
[
Hide
]
Movendo uma Página de um Documento PDF para Outro
Mover páginas de PDF em um documento é uma tarefa muito interessante e popular. Este tópico explica como mover uma página de um documento PDF para o final de outro documento usando C++. Para mover uma página devemos:
- Criar um objeto da classe Document com o arquivo PDF de origem.
- Obter a Página da coleção do PageCollection.
- Adicionar a página ao documento de destino.
- Salvar o PDF de saída usando o método Save.
- Delete página no documento de origem.
- Salve o PDF de origem usando o método Save.
O trecho de código a seguir mostra como mover uma página.
void MovePage()
{
// Abrir documento
String _dataDir("C:\\Samples\\");
String srcFileName("<enter file name>");
String dstFileName("<enter file name>");
auto srcDocument = MakeObject<Document>(_dataDir + srcFileName);
auto dstDocument = MakeObject<Document>();
auto page = srcDocument->get_Pages()->idx_get(2);
dstDocument->get_Pages()->Add(page);
// Salvar arquivo de saída
dstDocument->Save(srcFileName);
srcDocument->get_Pages()->Delete(2);
srcDocument->Save(dstFileName);
}
Movendo um conjunto de Páginas de um Documento PDF para Outro
- Crie um objeto da classe Document com o arquivo PDF de origem.
- Defina um array com números de páginas a serem movidas.
- Execute o loop através do array:
- Obtenha a Página da coleção do PageCollection.
- Adicione a página ao documento de destino.
- Salve o PDF de saída usando o método Save.
- Exclua a página no documento de origem.
- Salve o PDF de origem usando o método Save.
O trecho de código a seguir mostra como inserir uma página vazia no final de um arquivo PDF.
void MoveBunchPages()
{
// Abrir documento
String _dataDir("C:\\Samples\\");
String srcFileName("<enter file name>");
String dstFileName("<enter file name>");
auto srcDocument = MakeObject<Document>(_dataDir + srcFileName);
auto dstDocument = MakeObject<Document>();
auto pages = MakeArray<int>({ 1,3 });
for (auto pageIndex : pages)
{
auto page = srcDocument->get_Pages()->idx_get(pageIndex);
dstDocument->get_Pages()->Add(page);
}
// Salvar arquivos de saída
dstDocument->Save(srcFileName);
srcDocument->get_Pages()->Delete();
srcDocument->Save(dstFileName);
}
Movendo uma Página para um novo local no documento PDF atual
- Crie um objeto da classe Document com o arquivo PDF de origem.
- Obtenha a Página da coleção PageCollection.
- Adicione a página para o novo local (por exemplo, para o final).
- Exclua a página na localização anterior.
- Salve o PDF de saída usando o método Save.
void MovePagesInOnePDF()
{
// Abrir documento
String _dataDir("C:\\Samples\\");
String srcFileName("<enter file name>");
String dstFileName("<enter file name>");
auto srcDocument = MakeObject<Document>(_dataDir + srcFileName);
auto dstDocument = MakeObject<Document>();
auto page = srcDocument->get_Pages()->idx_get(2);
srcDocument->get_Pages()->Add(page);
srcDocument->get_Pages()->Delete(2);
// Salvar arquivo de saída
srcDocument->Save(dstFileName);
}