Export direct depuis PB vers le format pdf ?

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
PhM
Messages : 151
Inscription : dim. 08/déc./2019 10:50

Export direct depuis PB vers le format pdf ?

Message 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 ?
Avatar de l’utilisateur
falsam
Messages : 7334
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Export direct depuis PB vers le format pdf ?

Message par falsam »

Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
PhM
Messages : 151
Inscription : dim. 08/déc./2019 10:50

Re: Export direct depuis PB vers le format pdf ?

Message par PhM »

J'ai, peut-être, une autre piste open source ?
https://wkhtmltopdf.org/
A utiliser, je suppose, comme avec ImageMagick ?
Marc56
Messages : 2199
Inscription : sam. 08/févr./2014 15:19

Re: Export direct depuis PB vers le format pdf ?

Message 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)
Avatar de l’utilisateur
PhM
Messages : 151
Inscription : dim. 08/déc./2019 10:50

Re: Export direct depuis PB vers le format pdf ?

Message 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
Marc56
Messages : 2199
Inscription : sam. 08/févr./2014 15:19

Re: Export direct depuis PB vers le format pdf ?

Message 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 :wink:
Avatar de l’utilisateur
falsam
Messages : 7334
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Export direct depuis PB vers le format pdf ?

Message 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
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
PhM
Messages : 151
Inscription : dim. 08/déc./2019 10:50

Re: Export direct depuis PB vers le format pdf ?

Message 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)
Avatar de l’utilisateur
falsam
Messages : 7334
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Export direct depuis PB vers le format pdf ?

Message 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. :wink:
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
PhM
Messages : 151
Inscription : dim. 08/déc./2019 10:50

Re: Export direct depuis PB vers le format pdf ?

Message 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...
Mesa
Messages : 1133
Inscription : mer. 14/sept./2011 16:59

Re: Export direct depuis PB vers le format pdf ?

Message 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.
Avatar de l’utilisateur
PhM
Messages : 151
Inscription : dim. 08/déc./2019 10:50

Re: Export direct depuis PB vers le format pdf ?

Message 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
Répondre