Mover páginas de PDF programáticamente C++
Contents
[
Hide
]
Mover una página de un documento PDF a otro
Mover páginas de PDF en un documento es una tarea muy interesante y popular. Este tema explica cómo mover una página de un documento PDF al final de otro documento usando C++. Para mover una página debemos:
- Crear un objeto de la clase Document con el archivo PDF de origen.
- Obtener la página de la colección PageCollection.
- Agregar la página al documento de destino.
- Guardar el PDF de salida usando el método Save.
- Eliminar página en el documento fuente.
- Guarde el PDF fuente usando el método Save.
El siguiente fragmento de código te muestra cómo mover una 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);
// Guardar archivo de salida
dstDocument->Save(srcFileName);
srcDocument->get_Pages()->Delete(2);
srcDocument->Save(dstFileName);
}
Mover un conjunto de páginas de un documento PDF a otro
- Cree un objeto de la clase Document con el archivo PDF fuente.
- Defina un arreglo con los números de página a mover.
- Recorrer bucle a través de un array:
- Obtener Página de la colección de PageCollection.
- Agregar página al documento de destino.
- Guardar el PDF de salida usando el método Guardar.
- Eliminar página en el documento fuente.
- Guardar el PDF de origen usando el método Guardar.
El siguiente fragmento de código muestra cómo insertar una página vacía al final de un archivo 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);
}
// Guardar archivos de salida
dstDocument->Save(srcFileName);
srcDocument->get_Pages()->Delete();
srcDocument->Save(dstFileName);
}
Mover una página a una nueva ubicación en el documento PDF actual
- Cree un objeto de clase Document con el archivo PDF de origen.
- Obtenga la página de la colección PageCollection.
- Añada la página a la nueva ubicación (por ejemplo, al final).
- Elimine la página en la ubicación anterior.
- Guarde el archivo PDF de salida utilizando el 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);
// Guardar archivo de salida
srcDocument->Save(dstFileName);
}