12
votes

Supprimer la page de PDF

J'utilise actuellement ITEXT et je vous demande s'il existe un moyen de supprimer une page à partir d'un fichier PDF?

Je l'ai ouvert avec un lecteur, etc., et je souhaite supprimer une page avant qu'il ne soit ensuite enregistré dans un nouveau fichier; Comment puis-je faire ça?


0 commentaires

5 Réponses :


1
votes

Vous pouvez utiliser un pdfstamper en combinaison avec pdfcopy .

in Cette répondit, il est expliqué comment copier un document entier. Si vous modifiez les critères de la boucle dans le code exemple, vous pouvez supprimer les pages dont vous n'avez pas besoin.


1 commentaires

Non, il y a un moyen plus facile, que je posterai plus tard.



14
votes

Le «meilleur» moyen de «Supprimer» les pages est xxx

ce qui signifie que nous sélectionnons uniquement les pages 1-5, 10-12 «Suppression efficace» pages 6-9.


0 commentaires

12
votes

Obtenez le lecteur du fichier PDF existant par xxx

Mettez maintenant à jour le lecteur par xxx

puis obtenez l'objet Stamper PDF pour écrire Les modifications dans un fichier par xxx

ferment le pdfstamper par xxx

Il fermera également la PDFreader.

acclamations .....


1 commentaires

À peu près sûr que vous vouliez ce deuxième bloc de code de lire 'pdfreaderer.selectpages ...', non?



0
votes

Voici une fonction d'élimination prête pour une utilisation réelle de la vie. Prouvé pour fonctionner correctement avec itext 2.1.7 code>. Il n'utilise pas aussi "Strigly Ticing" aussi.

/**
 * Removes given pages from a document.
 * @param reader    document
 * @param pagesToRemove pages to remove; 1-based
 */
public static void removePages(PdfReader reader, int... pagesToRemove) {
    int pagesTotal = reader.getNumberOfPages();
    List<Integer> allPages = new ArrayList<>(pagesTotal);
    for (int i = 1; i <= pagesTotal; i++) {
        allPages.add(i);
    }
    for (int page : pagesToRemove) {
        allPages.remove(new Integer(page));
    }
    reader.selectPages(allPages);
}


0 commentaires

2
votes

pour iText 7 J'ai trouvé cet exemple: xxx

Voir aussi ici: Pages de réorganisation clone et ici: clone-scission fichier pdf


3 commentaires

@ZOBA Pourquoi avez-vous capitalisé les initializeOoutesLines et Fermer méthodes? Comme vous pouvez le voir ci-dessus, la question est tagged Java , afin que les solutions doivent d'abord être supposées être des solutions Java. Et dans IText / Java Ces méthodes commencent par des lettres minuscules ...


@mkl Oh, c'était ma faute - Massive Cerveau Derp! J'étais en mode complet C # là-bas!


Merci de la publier en C #! Si peu de gens sont programmés en Java ... et convertir le code en C # de Java est un pita.