Depuis la version 25 de WINDEV, il est possible de manipuler des fichiers PDF par programmation très simplement grâce au nouveau type de variable pdfDocument.

 

Les fichiers PDF sont chargés en tant que tableau dans les variables pdfDocument. Il est donc ensuite très simple d'insérer ou de supprimer des pages. Il suffit pour cela de manipuler le tableau de pages.

 

 

// Suppression de page

MonPDF est un pdfDocument ="FichierPDFde10pages.pdf"

 

TableauSupprime(MonPDF.Page,2)

TableauSupprime(MonPDF.Page,3)
TableauSupprime(MonPDF.Page,4)

TableauSupprime(MonPDF.Page,5)

TableauSupprime(MonPDF.Page,6)

// Enregistre les modifications

PDFSauve(MonPDF,"testSuprr.pdf")

 

// Ajout de page

MonPDF est un pdfDocument = "FichierPDFde10pages.pdf"

MonPDF2 est un pdfDocument = "FichierPDFTest.pdf"

 

TableauInsère(MonPDF.Page,2,MonPDF2.Page[1])

TableauInsère(MonPDF.Page,5,MonPDF2.Page[4])

// Enregistre les modifications

PDFSauve(MonPDF,"testAjout.pdf")

 

Un autre exemple, ajout d'une image en dernier page d'un PDF existant :

 

sPDFTempImage est une chaîne = fRepTemp()+[fSep]+"tmp.pdf"

DocPDFTempImage est une pdfDocument

MonPDF est un pdfDocument


// Création d'un PDF temporaire d'une page contenant l'image à insérer...

iDestination(iPDF, sPDFTempImage)

iImprimeImage("c:\<chemin impage>.png", 0, 0, iLargeurPage(), iHauteurPage(), iAffichageHomoCentré)

iFinImprime()

// Le PDF temporaire est ouvert en tant que PDFDocument ...

DocPDFTempImage = sPDFTempImage

// Chargement du PDF existant à compléter et ajout de la page contenant l'image ...

MonPDF = "c:\<chemin pdf>.pdf"

TableauAjoute(MonPDF.Page,DocPDFTempImage.Page[1])

PDFSauve(MonPDF,"c:\temp\tmp.pdf")

fSupprime(sPDFTempImage)

< Retour

7 commentaires

Dominique Bodin
08/01/2020 - 17:12 - Répondre
Bonjour, je viens de tester cette fonctionnalité sur un pdf de 5 pages. Je supprime les pages 3 et 4, le pdf résultant est tronqué des ses pages 3 et 5, il ne lui reste plus que les pages 1, 2 et 4 ? Ce sont les pages 3 et 5 qui ont été supprimées ! Merci

Loic Hamel
08/01/2020 - 17:22 - Répondre
C'est tout à fait normal, lorsque vous supprimez le 3 ieme élément du tableau, tous lee éléments suivants "remontent". Ainsi pour supprimer la page 4; il faut à nouveau supprimer le 3 iéme élément. Il est d'ailleurs plus simple de commencer par la fin du tableau.

Dominique Bodin
08/01/2020 - 17:25 - Répondre
Je confirme ! Ne pas oublier les bases ;-) Merci

Laurent Nau
11/01/2020 - 17:43 - Répondre
Bonjour, Pourra-t-on ajouter des pages à partir d'une variable image ou buffer ? Merci

Guillaume BAYLE
13/01/2020 - 12:04 - Répondre
Bonjour, pour le moment l'insertion d'une image se fait en la générant en PDF, j'ai ajouté un exemple dans le billet. L'ajout via un type image a été suggéré à l'équipe développement. Bons développements !

Laurent NAU
13/01/2020 - 12:15 - Répondre
Merci pour votre réponse.

Mounir OUAKEL
19/01/2020 - 18:21 - Répondre
Bonjour, Du moment où on peut ajouter et supprimer dans un fichier PDF, je vous proposer le changement du nom du Lecteur PDF par Éditeur PDF. Il manque juste l'OCR de toute urgence en natif dans Windev sans suppléments d'outils externes, et l'insertion d'image sans passer par iImprime..., ainsi ça deviendra l'outil parfait. Meilleures salutations Mounir OUAKEL

Publier un commentaire : 
Votre adresse email ne sera pas publiée


© 2020 PC SOFT. Tous droits réservés. Réalisé  avec WEBDEV