Déplacer des Pages PDF par programmation C++

Déplacer une Page d’un Document PDF à un Autre

Déplacer des pages PDF dans un document est une tâche très intéressante et populaire. Ce sujet explique comment déplacer une page d’un document PDF à la fin d’un autre document en utilisant C++. Pour déplacer une page, nous devons :

  1. Créer un objet de classe Document avec le fichier PDF source.
  2. Obtenir une Page de la collection PageCollection.
  3. Ajouter la page au document de destination.
  4. Enregistrer le PDF de sortie en utilisant la méthode Save.
  5. Delete page dans le document source.
  6. Enregistrez le PDF source à l’aide de la méthode Save.

L’extrait de code suivant vous montre comment déplacer une page.

void MovePage()
{
    // Ouvrir le document
    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);
    // Enregistrer le fichier de sortie
    dstDocument->Save(srcFileName);
    srcDocument->get_Pages()->Delete(2);
    srcDocument->Save(dstFileName);
}

Déplacement d’un ensemble de pages d’un document PDF à un autre

  1. Créez un objet de la classe Document avec le fichier PDF source.
  2. Définissez un tableau avec les numéros de pages à déplacer.
  3. Exécuter la boucle à travers le tableau :
  4. Obtenez Page de la collection de PageCollection.
  5. Ajoutez la page au document de destination.
  6. Enregistrez le PDF de sortie en utilisant la méthode Save.
  7. Supprimez la page dans le document source.
  8. Enregistrez le PDF source en utilisant la méthode Save.

L’extrait de code suivant vous montre comment insérer une page vide à la fin d’un fichier PDF.

void MoveBunchPages()
{
    // Ouvrir le document
    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);
    }
    // Enregistrez les fichiers de sortie
    dstDocument->Save(srcFileName);
    srcDocument->get_Pages()->Delete();
    srcDocument->Save(dstFileName);
}

Déplacer une Page à un nouvel emplacement dans le document PDF actuel

  1. Créez un objet de classe Document avec le fichier PDF source.
  2. Obtenez la page de la collection PageCollection.
  3. Ajoutez la page au nouvel emplacement (par exemple à la fin).
  4. Supprimez la page à l’emplacement précédent.
  5. Enregistrez le PDF de sortie en utilisant la méthode Save.
void MovePagesInOnePDF()
{
    // Ouvrir le document
    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);

    // Enregistrer le fichier de sortie
    srcDocument->Save(dstFileName);
}