Page 1 sur 1
Export direct depuis PB vers le format pdf ?
Publié : ven. 06/mars/2020 7:48
par PhM
Bonjour,
Nouvelle journée, nouvelle interrogation...
Je cherche un moyen pour exporter des données (txt ou html) depuis un programme PB vers le format pdf, mais
directement, sans passer par des utilitaires en ligne (par ex :
https://www.ilovepdf.com/fr).
Quelqu'un a-t-il une piste (requête php, api open source, etc.) pour ce cas ?
Re: Export direct depuis PB vers le format pdf ?
Publié : ven. 06/mars/2020 8:42
par falsam
Re: Export direct depuis PB vers le format pdf ?
Publié : ven. 06/mars/2020 9:54
par PhM
J'ai, peut-être, une autre piste open source ?
https://wkhtmltopdf.org/
A utiliser, je suppose, comme avec ImageMagick ?
Re: Export direct depuis PB vers le format pdf ?
Publié : ven. 06/mars/2020 10:09
par Marc56
Il existe plusieurs façons de produire des pages au format PDF
- Utiliser une imprimante virtuelle. Je conseille d'utiliser DoPDF ancienne version v7 (4Mo et non pas les 55 annoncés)
https://www.dopdf.com/previous-versions.html
- Créer un document dynamiquement:
Un PDF étant simplement un container qui contient du texte et des images, on peut tracer directement sur une page PDF créée tout comme on écrit dans un canvas.
Le lien signalé par falsam donne la dernière version de PurePDF initialement créé par ABBKlaus (site fermé) à partir de la lib FPDF et mis en module par Thorsten1867 qui a aussi réglé les problèmes d'encodage moderne.
Ça ne fait pas tout, notamment je crois les formulaires.
À l'origine c'est basé sur FPDF
http://www.fpdf.org/ ça date de 2001 et ça sert à créer du PDF à partir d'un moteur PHP (c'est petit, libre et ça fonctionne très bien)
Re: Export direct depuis PB vers le format pdf ?
Publié : ven. 06/mars/2020 10:55
par PhM
Je crois que je vais fouiller plus
https://wkhtmltopdf.org/ car, voici déjà un résultat très encourageant (installer le dossier utilitaire avant) :
Le minuscule programme d'utilisation :
Code : Tout sélectionner
; Lien pour le programme wkhtmltopdf.exe à personnaliser !
Global Path_wkhtmltopdf.s="C:\Users\PHM64\Desktop\MCF2020_09\wkhtmltox\bin\wkhtmltopdf.exe"
; La source (y compris en local) et le fichier pdf de sortie
lign$ = "http://google.fr google.pdf"
RunProgram(Path_wkhtmltopdf.s, lign$, "", #PB_Program_Open|#PB_Program_Read|#PB_Program_Error|#PB_Program_Hide)
C'est vraiment aussi simple et avec de multiples options qu'avec ImageMagick !
https://github.com/wkhtmltopdf/wkhtmltopdf
Re: Export direct depuis PB vers le format pdf ?
Publié : ven. 06/mars/2020 11:57
par Marc56
C'est bien, mais ça nécessite d'installer un programme externe (ici 85 Mo!), donc oui pour imprimer toutes sortes de pages compliquées, mais si par exemple tu veux créer un système de facturation ou générer des rapports, il est plus léger d'utiliser la lib PB qui n'ajoutera qu'un peu de code à ton source et ton application ne sera constituée que d'un seul EXE

Re: Export direct depuis PB vers le format pdf ?
Publié : ven. 06/mars/2020 12:18
par falsam
PhM, Marc a raison. Pourquoi tu n'utilises pas l'include que je cite pour créer ton application ?
Une autre solution est d'utiliser les fonctions natives de PureBasic si tu as un driver imprimante PDF installé.
Code : Tout sélectionner
LoadFont(0, "Courier New", 10)
; Choix de l'imprimante
If PrintRequester()
; Initialise l'imprimante et démarre l'impression
; On donne un nom qui apparaîtra dans la file d'attente d'impression
If StartPrinting("PureBasic Test")
; Initialisation dessin vectoriel sur la sortie imprimante
If StartVectorDrawing(PrinterVectorOutput())
VectorFont(FontID(0), 15)
; Impression de trois lignes
MovePathCursor(10, 10) : DrawVectorText("Ligne 1")
MovePathCursor(10, 30) : DrawVectorText("Ligne 2")
MovePathCursor(10, 50) : DrawVectorText("Ligne 3")
StopVectorDrawing()
EndIf
StopPrinting()
EndIf
EndIf
Re: Export direct depuis PB vers le format pdf ?
Publié : ven. 06/mars/2020 12:53
par PhM
J'entends bien mais les pages sont déjà générées en html avec des images par mon programme PB. Par ailleurs, le programme que je termine s'articule déjà autour de 3 autres programmes (.exe) "escalves" qui communiquent avec le programme principal.
Donc, un peu plus ou un peu moins...
Surtout qu'avec wkhtmltopdf le résultat est vraiment bon avec un assemblage final de plusieurs pages html dans un unique fichier pdf.
J'en profite pour vous signalez que toutes les questions que je vous pose depuis plusieurs semaines me permette de bientôt terminer un programme très complet permettant d'établir, très rapidement, un plan de vol très détaillé pour différents simulateurs de vol (FSX/P3D/X-Plane) qui est pratiquement terminé. Il ne me manquait qu'un beau dossier PDF résumant tous les documents html que le programme a généré (fiches d'aéroport, plan de vol, gestion des poids et carburant, etc.)
Si cela vous intéresse, je placerai ce programme (ce dossier de programmes) dans la rubrique des programmes aboutis dés qu'il sera disponible.
Et, tout cela avec simplement ces quelques lignes ajoutées :
Code : Tout sélectionner
; https://wkhtmltopdf.org/index.html
; Lien pour le programme wkhtmltopdf.exe
Global Path_wkhtmltopdf.s="wkhtmltox\bin\wkhtmltopdf.exe"
; Options car j'ai des iframe's dans certaines pages html
Option$ = "--print-media-type --javascript-delay 3000 "
; Les sources et le fichier pdf de sortie
file$ = "HTML\LFMT.html HTML\LFBZ.html HTML\LFMT_LFBZ_pf.html HTML\LFMT_LFBZ_SAC.html LFMT_LFBZ.pdf"
RunProgram(Path_wkhtmltopdf.s, Option$+file$, "", #PB_Program_Open|#PB_Program_Read|#PB_Program_Error|#PB_Program_Hide)
Re: Export direct depuis PB vers le format pdf ?
Publié : ven. 06/mars/2020 13:26
par falsam
Je cherche un moyen pour exporter des données (txt ou html)
Effectivement je suis hors sujet. Je n'avais pas compris que tu voulais garder la mise en page de tes sources.

Re: Export direct depuis PB vers le format pdf ?
Publié : ven. 06/mars/2020 13:39
par PhM
Non, Falsam, pas de problème, je m'étais certainement mal exprimé.
Voilà le genre de document (non encore finalisé) qui est établi puis généré par MCF2020 (nom du programme) avant d'être exporté en pdf (entre autres).
Pour un plan de vol entre Montpellier (LFMT) et Biarritz (LFBZ) en A320
https://mijon.pagesperso-orange.fr/Pure ... T_LFBZ.pdf
J'y retourne...
Re: Export direct depuis PB vers le format pdf ?
Publié : sam. 07/mars/2020 9:41
par Mesa
Si cela vous intéresse, je placerai ce programme (ce dossier de programmes) dans la rubrique des programmes aboutis dés qu'il sera disponible.
Oui, moi ça m'interesse, avec le code source, car je pilote pour de vrai (des ULMs), ça pourrait m'être utile.
(Petite disgression, je vous invite à sauter le pas, et à passer du virtuel du simulateur au réel du pilotage, en passant votre brevet de pilote ULM (3-axes, parapente, pendulaire,...).Ça ne coûte "que le prix d'un permis de voiture", contrairement au PPL, c'est beaucoup plus fun et presque sans contraintes administrative et les moins de 25 ans ont des aides financières, c'est trop bien de voler, allez-y !).
M.
Re: Export direct depuis PB vers le format pdf ?
Publié : sam. 07/mars/2020 14:21
par PhM
Mesa a écrit :Si cela vous intéresse, je placerai ce programme (ce dossier de programmes) dans la rubrique des programmes aboutis dés qu'il sera disponible.
Oui, moi ça m'interesse, avec le code source, car je pilote pour de vrai (des ULMs), ça pourrait m'être utile.
(Petite disgression, je vous invite à sauter le pas, et à passer du virtuel du simulateur au réel du pilotage, en passant votre brevet de pilote ULM (3-axes, parapente, pendulaire,...).Ça ne coûte "que le prix d'un permis de voiture", contrairement au PPL, c'est beaucoup plus fun et presque sans contraintes administrative et les moins de 25 ans ont des aides financières, c'est trop bien de voler, allez-y !).
M.
Bonjour,
Ce programme ne doit pas être utiliser pour le vol réel
Néanmoins, pour le vol virtuel, il est livré dans la rubrique "Applications complexes"
Bonne journée,
Philippe