FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» KGF.dll - demandes ou suggestions de modifications ou ajouts
par Klaus Aujourd'hui à 4:52

» KGF_dll - nouvelles versions
par Klaus Hier à 23:05

» Mah-Jong européen new-look
par Minibug Hier à 22:31

» track_bar circulaire
par Klaus Hier à 13:54

» API Windows
par Klaus Hier à 3:21

» Cartes de voeux, menus, etc.
par JL35 Lun 11 Déc 2017 - 17:48

» a l'aide klaus
par Minibug Lun 11 Déc 2017 - 11:42

» bug SYNEDIT_TARGET_IS_OBJECT
par Jack Lun 11 Déc 2017 - 0:16

» Jukebox : Serge Reggiani
par papydall Sam 9 Déc 2017 - 5:58

» Ecouter la radio fm sur votre pc
par pascal10000 Sam 9 Déc 2017 - 3:42

» anomalie
par Klaus Sam 9 Déc 2017 - 3:21

» hommage
par Jicehel Ven 8 Déc 2017 - 11:29

» Logiciel de soutien scolaire en langues.
par Pedro Alvarez Ven 8 Déc 2017 - 10:43

» carte son
par Klaus Ven 8 Déc 2017 - 2:37

» mise a jour calculatrice
par joeeee2017 Mer 6 Déc 2017 - 22:19

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Décembre 2017
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
25262728293031
CalendrierCalendrier

Partagez | 
 

 Impression de fichiers PDF

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
JL35



Nombre de messages : 6018
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Impression de fichiers PDF   Jeu 18 Nov 2010 - 17:52

Le problème est le suivant: souvent quand on achète un appareil électronique, il est livré avec un manuel d'utilisation sous la forme d'un fichier Pdf sur un CD joint (en plus d'une vague brochure d'installation en 36 langues très succincte).
Il y a deux solutions: soit on imprime le manuel en entier, qui peut être très long avec un tas de pages sans intérêt, d'où gâchis de papier et d'encre, soit on le consulte sur l'écran, mais il faut alors allumer l'ordinateur, etc.

J'ai écrit un petit programme qui permet de regrouper sur une feuille A4 plusieurs pages choisies du pdf côte à côte: au choix 2, 4 ou 9 pages (si une seule page, autant prendre Acrobat Reader, à 9 pages il faut de bons yeux, et au-delà il faudrait un microscope).
On peut évidemment faire du recto/verso (manuel), ce qui économise deux fois plus.

Le programme choisit automatiquement le format portrait ou paysage en fonction des dimensions (rapport largeur/hauteur) de la page d'origine.
Les pages pdf sont converties en images, puis imprimées à l'aide de WinTextPrint de Klaus qui permet de positionner avec précision des images sur la page à imprimer.

Je ne sais pas si ça peut intéresser grand monde, mais si oui je fournirais le programme dans la rubrique 'Mes sources...' .

Exemple:
4 pages/A4 avec les pages d'origine verticales (portrait), 9 pages/A4 avec les pages d'origine horizontales (paysage):


Dernière édition par JL35 le Jeu 18 Nov 2010 - 19:58, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 5086
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Impression de fichiers PDF   Jeu 18 Nov 2010 - 18:32

Je résume, le programme permet de transformer une page d'un même fichier pdf en image
pour pouvoir l'imprimé séparement.
C'est dèja possible avec Adobe reader 9.
- ouvrir l'onglet page
- sélectionner une page
- Click_droit,puis sélectionner des pages
- choisir impression page sélectionnée

L'idée était bonne....

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 6018
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Impression de fichiers PDF   Jeu 18 Nov 2010 - 19:39

Jean Claude, je ne suis pas sûr que tu aies bien lu ce que j'ai écrit.
Le but n'est évidemment pas d'imprimer une ou plusieurs pages d'un pdf, ça on peut le faire depuis toujours dans Acrobat Reader.
Le but est de regrouper plusieurs pages du pdf sur la même feuille, de façon à économiser des feuilles et de l'encre et de l'encombrement.

A ma connaissance on ne peut pas faire ça avec Acrobat, ou alors quelque chose m'a échappé ?

Un exemple:
J'ai un fichier pdf (celui à droite ci-dessus) dont les pages font 162x128 mm (Fichier, Propriétés), si je l'imprime tel quel, les pages pdf vont être centrées au milieu d'une feuille A4, avec plein de blanc tout autour
d'où gaspillage de papier.
Si j'en imprime 100 pages comme ça... Mad
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 5086
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Impression de fichiers PDF   Jeu 18 Nov 2010 - 22:00

Ho que si! j'ai bien lu ce que tu as écrit, mais je n'ai pas bien analysé une phrase
Citation :
J'ai écrit un petit programme qui permet de regrouper sur une feuille A4 plusieurs pages choisies du pdf côte à côte

Vu comme çà, cà apporte éffectivement un plus.

Envoi ton bébé, pour voir, cela pourrait être utile

Je suis mauvais Mad

Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 6018
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Impression de fichiers PDF   Jeu 18 Nov 2010 - 22:29

Pourtant, il y avait les exemples...

Bon alors, à la demande générale et enthousiaste de Jean Claude, j'envoie:
Code:
' Impression partielle d'un fichier pdf: 2, 4, 6 ou 9 pages par A4 (la page sera
' orientée automatiquement pour un remplissage optimum, en fonction du rapport
' largeur/hauteur de la page d'origine du pdf: on considère a priori que toutes
' les pages ont le même rapport). Mais on peut forcer l'orientation.
' ----------------------------------
' Pour obtenir les dimensions d'une page PDF en mm: on convertit la page en image
' bmp, puis on récupère dans le fichier les dimensions de l'image en pixels, que
' l'on convertit en millimètres.
' Si le PDF est protégé par mot de passe, il faut le déprotéger préalablement sur:
' http://freemypdf.com (déprotection en ligne, téléchargement d'une copie libre)
' -----------------------------------
' Les pages désirées du pdf sont converties en images jpg et imprimées comme telles
' par l'excellent WinTextPrint de notre ami Klaus. La conversion pdf->image est
' effectuées par un module p2iagent (trouvé également chez Klaus sous le nom
' ConvertPDF.exe)
'
' PS: Le nom du fichier PDF ne doit pas comporter d'espaces !
'    -----------------------------------------------------
DIM pdf2img$, AcroRd$, f$, i%, w%, h%, wm%, hm%, x0, y0, l, h, hmax, lmax
DIM fimg$(10), fpr$, fi$, wtp$, a$, r, pge(10), pp(10), mg%, mh%, md%, mb%, ev%, eh%
DIM mpx, w0, h0, x10, y10, w10, h10, yd, orient, npg%, rtmp$
DIM x(10), y(10)
DIM bt%, dp%, dq%, omg%, omh%, omd%, omb%, oev%, oeh%, ppa%
LABEL Acrobat, rr, rs, Chf, Majm, Trait, DimImg, Imprime, Majp

AcroRd$ = "C:\Progra~1\Adobe\Reader~1.0\Reader\AcroRd32.exe ": ' Acrobat Reader
pdf2img$ = "C:\UTIL\ConvertPDF.exe ": ' (= p2iagent.exe: conversion pdf -> image)
' Arguments: --dest=...  répertoire de destination
'            --format=... format de sortie (0 BMP, 1 JPG)
'            --help      affichage de l'aide, et exit
'            --no-text    conversion uniquement des images et dessins
'            --pages=...  n°s de pages (ex. 1,3,5-10 = pages 1,3 et 5 à 10)
'            --pswd=...  mot de passe du source PDF
'            --src=...    path du document PDF source

wtp$ = "C:\UTIL\WinTextPrint.exe "
rtmp$ = "Z:": ' répertoire de travail
fpr$ = rtmp$ + "\Fprn.txt": ' fichier temporaire d'impression
f$ = ""
orient = 0: ' orientation portrait
mpx = 3.71: ' rapport pixels/mm à l'écran (nb de pixels par mm)
            ' à ajuster, en fonction de la taille de l'écran.
w0 = 1130: h0 = 1150
h0 = SCREEN_Y-30
WIDTH 0, w0: HEIGHT 0, h0 : COLOR 0, 230,255,255
FONT_BOLD 0
y10 = 5
PICTURE 10: ' image de la feuille A4
IF orient = 0
    w10 = 210*mpx: h10 = 297*mpx: x10 = 330: ' dimensions en pixels, portrait
ELSE
    w10 = 297*mpx: h10 = 210*mpx: x10 = 5: ' dimensions en pixels, paysage
END_IF

yd = 210*mpx+130
TOP 10, y10: LEFT 10, x10: WIDTH 10, w10: HEIGHT 10, h10
2D_TARGET_IS 10: 2D_FILL_COLOR 255,255,230:2D_RECTANGLE 0,0,w10-1,h10-1
2D_PEN_COLOR 255,0,0: 2D_LINE 1,3*mpx,w10-2,3*mpx: 2D_LINE 1,h10-4*mpx,w10-2,h10-4*mpx-1
2D_LINE 3*mpx,1,3*mpx,h10-2: 2D_LINE w10-4*mpx-1,1,w10-4*mpx-1,h10-2
SPIN 12: TOP 12, yd: LEFT 12, 55: WIDTH 12, 50
ALPHA 13: TOP 13, yd+2: LEFT 13, 10: CAPTION 13, "Page 1:"
SPIN 14: TOP 14, yd: LEFT 14, 155: WIDTH 14, 50
ALPHA 15: TOP 15, yd+2: LEFT 15, 110: CAPTION 15, "Page 2:"
SPIN 16: TOP 16, yd+25: LEFT 16, 55: WIDTH 16, 50
ALPHA 17: TOP 17, yd+27: LEFT 17, 10: CAPTION 17, "Page 3:"
SPIN 18: TOP 18, yd+25: LEFT 18, 155: WIDTH 18, 50
ALPHA 19: TOP 19, yd+27: LEFT 19, 110: CAPTION 19, "Page 4:"
SPIN 20: TOP 20, yd+50: LEFT 20, 55: WIDTH 20, 50
ALPHA 21: TOP 21, yd+52: LEFT 21, 10: CAPTION 21, "Page 5:"
SPIN 22: TOP 22, yd+50: LEFT 22, 155: WIDTH 22, 50
ALPHA 23: TOP 23, yd+52: LEFT 23, 110: CAPTION 23, "Page 6:"
SPIN 24: TOP 24, yd+75: LEFT 24, 55: WIDTH 24, 50
ALPHA 25: TOP 25, yd+77: LEFT 25, 10: CAPTION 25, "Page 7:"
SPIN 26: TOP 26, yd+75: LEFT 26, 155: WIDTH 26, 50
ALPHA 27: TOP 27, yd+77: LEFT 27, 110: CAPTION 27, "Page 8:"
SPIN 28: TOP 28, yd+75: LEFT 28, 255: WIDTH 28, 50
ALPHA 29: TOP 29, yd+77: LEFT 29, 210: CAPTION 29, "Page 9:"
FOR i% = 20 TO 29: HIDE i%: NEXT i%

omg% = 30: omh% = omg% + 2: omd% = omh% + 2: omb% = omd% + 2
oev% = omb% + 2: oeh% = oev% + 2
SPIN omg%: TOP omg%, yd+105: LEFT omg%, 55: WIDTH omg%, 50
ALPHA omg%+1: TOP omg%+1, yd+107: LEFT omg%+1, 5: CAPTION omg%+1, "Marge G"
SPIN omh%: TOP omh%, yd+105: LEFT omh%, 155: WIDTH omh%, 50
ALPHA omh%+1: TOP omh%+1, yd+107: LEFT omh%+1, 105: CAPTION omh%+1, "Marge H"
SPIN omd%: TOP omd%, yd+130: LEFT omd%, 55: WIDTH omd%, 50
ALPHA omd%+1: TOP omd%+1, yd+132: LEFT omd%+1, 5: CAPTION omd%+1, "Marge D"
SPIN omb%: TOP omb%, yd+130: LEFT omb%, 155: WIDTH omb%, 50
ALPHA omb%+1: TOP omb%+1, yd+132: LEFT omb%+1, 105: CAPTION omb%+1, "Marge B"

SPIN oev%: TOP oev%, yd+105: LEFT oev%, 255: WIDTH oev%, 50
ALPHA oev%+1: TOP oev%+1, yd+107: LEFT oev%+1, 210: CAPTION oev%+1, "Ecart V"
SPIN oeh%: TOP oeh%, yd+130: LEFT oeh%, 255: WIDTH oeh%, 50
ALPHA oeh%+1: TOP oeh%+1, yd+132: LEFT oeh%+1, 210: CAPTION oeh%+1, "Ecart H"


POSITION 12, 1: POSITION 14, 2: POSITION 16, 3: POSITION 18, 4: POSITION 20, 5
POSITION 22, 6: POSITION 24, 7: POSITION 26, 8: POSITION 28, 9
POSITION omg%, 3: POSITION omh%, 3: POSITION omd%, 4: POSITION omb%, 4
POSITION oev%, 3: POSITION oeh%, 3
ppa% = 1

bt% = 50
BUTTON bt%: TOP bt%, yd-80: LEFT bt%, 15: WIDTH bt%, 300: CAPTION bt%, "Fichier PDF (clic pour choisir)"
ON_CLICK bt%, Chf
' affichage des pages pdf
FOR i% = 1 TO 9: PICTURE i%: HIDE i%: pp(i%) = 0: NEXT i%

dp% = 68
LIST dp%: TOP dp%, yd-50: LEFT dp%, 180: HEIGHT dp%, 20
dq% = dp%+1
ALPHA dq%: TOP dq%, yd-49: LEFT dq%, 25: CAPTION dq%, "Dimensions page d'origine:"

BUTTON 60: TOP 60, yd-30: LEFT 60, 10: WIDTH 60, 150: CAPTION 60, "Lire le PDF (Acrobat)"
ON_CLICK 60, Acrobat
BUTTON 61: TOP 61, yd+155: LEFT 61, 10: HEIGHT 61, 20: WIDTH 61, 150: CAPTION 61, "Appliquer les paramètres"
ON_CLICK 61, Majm
BUTTON 62: TOP 62, yd+178: LEFT 62, 10: HEIGHT 62, 20: WIDTH 62, 150: CAPTION 62, "Aperçu avant impression"
ON_CLICK 62, Trait
BUTTON 63: TOP 63, yd+201: LEFT 63, 10: HEIGHT 63, 20: WIDTH 63, 150: CAPTION 63, "Imprimer"
ON_CLICK 63, Imprime
CONTAINER_OPTION 44: TOP 44, yd-25: LEFT 44, 220: WIDTH 44, 85: HEIGHT 44, 90
CAPTION 44,"Pages/A4"
OPTION 45: PARENT 45, 44: TOP 45, 16: LEFT 45, 30: WIDTH 45, 30: CAPTION 45, "2"
OPTION 46: PARENT 46, 44: TOP 46, 34: LEFT 46, 30: WIDTH 46, 30: CAPTION 46, "4"
OPTION 47: PARENT 47, 44: TOP 47, 52: LEFT 47, 30: WIDTH 47, 30: CAPTION 47, "6"
OPTION 48: PARENT 48, 44: TOP 48, 70: LEFT 48, 30: WIDTH 48, 30: CAPTION 48, "9"
MARK_ON 46: npg% = 4

2D_TARGET_IS 0: 2D_PEN_COLOR 255,0,0: 2D_PEN_WIDTH 2: 2D_RECTANGLE 5, 210*mpx+20, 325, 210*mpx+45
ALPHA 70: TOP 70, yd-105: LEFT 70, 60
CAPTION 70, "IMPRESSION PDF (4 Pages/A4)"

CONTAINER_OPTION 72: TOP 72, yd+160: LEFT 72, 200: WIDTH 72, 100: HEIGHT 72, 60
CAPTION 72, "Orientation"
OPTION 73: PARENT 73, 72: TOP 73, 18: LEFT 73, 10: WIDTH 73, 80: CAPTION 73, "Portrait"
OPTION 74: PARENT 74, 72: TOP 74, 36: LEFT 74, 10: WIDTH 74, 80: CAPTION 74, "Paysage"
MARK_ON 73: Orient = 0

TIMER 80: TIMER_INTERVAL 80, 1000: ON_TIMER 80, Majp
END

Acrobat:
IF f$ = "" THEN RETURN: ' pas de fichier choisi
EXECUTE_WAIT AcroRd$ + f$
RETURN

Chf:
' choix du fichier
OPEN_DIALOG 90: FILTER 90, "Fichiers PDF|*.pdf"
f$ = FILE_NAME$(90): DELETE 90
IF f$ = "" OR f$ = "_" THEN RETURN
CAPTION bt%, f$
a$ = "--dest="+rtmp$+" --format=0 --pages=1 --src=" + f$: ' conversion en bmp
EXECUTE_WAIT pdf2img$ + a$
fi$ = rtmp$+"\page0001.bmp": GOSUB DimImg: FILE_DELETE fi$
wm% = INT(w%/5.9): hm% = INT(h%/5.9): ' dimensions page d'origine en millimètres
r = w%/h%: ' rapport largeur/hauteur
CLEAR dp%: ITEM_ADD dp%, " "+STR$(wm%)+" x "+STR$(hm%)+" mm"
GOSUB Majm
RETURN

Majm:
IF CHECKED(45) = 1
    npg% = 2: FOR i% = 16 TO 29: HIDE i%: NEXT i%
ELSE
    IF CHECKED(46) = 1
        npg% = 4: FOR i% = 16 TO 19: SHOW i%: NEXT i%
        FOR i% = 20 TO 29: HIDE i%: NEXT i%
    ELSE
        IF CHECKED(47) = 1
            npg% = 6: FOR i% = 16 TO 23: SHOW i%: NEXT i%
            FOR i% = 24 TO 29: HIDE i%: NEXT i%
        ELSE
            npg% = 9: FOR i% = 16 TO 29: SHOW i%: NEXT i%
        END_IF
    END_IF
END_IF
IF f$ = "" THEN RETURN: ' pas de fichier choisi
IF w% > h%
    orient = 1: IF npg% = 2 THEN orient = 0
END_IF
IF w% < h%
    orient = 0: IF npg% = 2 THEN orient = 1
END_IF
IF CHECKED(74) = 1 THEN orient = 1
IF orient = 0
    w10 = 210*mpx: h10 = 297*mpx: x10 = 330: ' portrait
ELSE
    w10 = 297*mpx: h10 = 210*mpx: x10 = 5: ' paysage
END_IF
' test checked
TOP 10, y10: LEFT 10, x10: WIDTH 10, w10: HEIGHT 10, h10
2D_TARGET_IS 10: 2D_PEN_COLOR 0,0,0: 2D_RECTANGLE 0,0,w10-1,h10-1
2D_PEN_COLOR 255,0,0: 2D_LINE 1,3*mpx,w10-2,3*mpx: 2D_LINE 1,h10-4*mpx,w10-2,h10-4*mpx-1
2D_LINE 3*mpx,1,3*mpx,h10-2: 2D_LINE w10-4*mpx-1,1,w10-4*mpx-1,h10-2
mg% = POSITION(omg%): mh% = POSITION(omh%)
md% = POSITION(omd%): mb% = POSITION(omb%)
ev% = POSITION(oev%): eh% = POSITION(oeh%)
' marges minimum, non imprimables:
iF mg%<3 THEN mg% = 3: POSITION omg%, 3
IF mh%<3 THEN mh% = 3: POSITION omh%, 3
IF md%<4 THEN md% = 4: POSITION omd%, 4
IF mb%<4 THEN mb% = 4: POSITION omb%, 4
x(1) = mg%: y(1) = mh%
IF orient = 1: ' Paysage
    IF npg% = 2
        hmax = 210-mh%-mb%
        l = 297-ev%-mg%-md%
    ELSE
        IF npg% = 4
            hmax = (210-mh%-mb%-eh%)/2
            l = (297-ev%-mg%-md%)/2
        ELSE
            IF npg% = 6
                hmax = (210-mh%-mb%-eh%)/2
                l = (297-2*ev%-mg%-md%)/3
            ELSE
                hmax = (210-2*eh%-mh%-mb%)/3
                l = (297-2*ev%-mg%-md%)/3
            END_IF
        END_IF
    END_IF
rr:
    h = INT(l/r): IF h > hmax THEN l = l - 1: GOTO rr
ELSE: ' Portrait
    IF npg% = 2
        lmax = 210-mg%-md%
        h = (297-eh%-mh%)/2
    ELSE
        IF npg% = 4
            lmax = (210-mg%-md%-ev%)/2
            h = (297-ev%-mh%-mb%)/2
        ELSE
            IF npg% = 6
                lmax = 210-mg%-md%
                h = (297-2*ev%-mh%-mb%)/3
            ELSE
                lmax = (210-2*eh%-mg%-md%)/3
                h = (297-2*ev%-mh%-mb%)/3
            END_IF
        END_IF
    END_IF
rs:
    l = INT(h*r): IF l > lmax THEN h = h - 1: GOTO rs
END_IF
IF npg% = 2
    IF orient = 0
        x(2) = x(1): y(2) = y(1) + h + eh%
    ELSE
        x(2) = x(1) + l + ev%: y(2) = y(1)
    END_IF
ELSE
    IF npg% = 4
        x(2) = x(1) + l + ev%: y(2) = y(1): x(3) = x(1): y(3) = y(1) + h + eh%
        x(4) = x(2): y(4) = y(3)
    ELSE
        IF npg% = 6
            x(2) = x(1) + l + ev%: y(2) = y(1)
            IF orient = 0
                x(3) = x(1): y(3) = y(1) + h + eh%: x(4) = x(1) + l + ev%: y(4) = y(3)
                x(5) = x(1): y(5) = y(3) + h + eh%: x(6) = x(2): y(6) = y(5)
            ELSE
                x(3) = x(2) + l + ev%: y(3) = y(1): x(4) = x(1): y(4) = y(1) + h + eh%
                x(5) = x(2): y(5) = y(4): x(6) = x(3): y(6) = y(4)
            END_IF
        ELSE
            x(2) = x(1) + l + ev%: y(2) = y(1): x(3) = x(2) + l + ev%: y(3) = y(1)
            x(4) = x(1): y(4) = y(1) + h + eh%: x(5) = x(2): y(5) = y(4)
            x(6) = x(3): y(6) = y(4): x(7) = x(1): y(7) = y(4) + h + eh%
            x(8) = x(2): y(8) = y(7): x(9) = x(3): y(9) = y(7)
        END_IF
    END_IF
END_IF
FOR i% = 1 TO 9: HIDE i%: NEXT i%
FOR i% = 1 TO npg%
    TOP i%, y10+mpx*y(i%): LEFT i%, x10+mpx*x(i%): WIDTH i%, mpx*l: HEIGHT i%, mpx*h
    2D_TARGET_IS i%: 2D_FILL_COLOR 240,240,240: 2D_RECTANGLE 0,0,l*mpx-1,h*mpx-1
    PRINT_TARGET_IS i%: FONT_SIZE i%, 20: PRINT_LOCATE 15, 10
    PRINT "Page "+STR$(i%)+" (="+STR$(POSITION(10+2*i%))+" pdf)"
    SHOW i%
NEXT i%
RETURN

Trait:
IF f$ = "" THEN RETURN: ' pas de fichier choisi
FOR i% = 1 TO 9
    pge(i%) = POSITION(10+2*i%)
    IF pge(i%) = 0 THEN pge(i%) = 1: POSITION 10+2*i%, 1
NEXT i%
a$ = STR$(pge(1))+","+STR$(pge(2))
IF npg% > 2 THEN a$ = a$ +","+STR$(pge(3))+","+STR$(pge(4))
IF npg% > 4
    a$ = a$ + ","+STR$(pge(5)) + "," + STR$(pge(6)) + "," + STR$(pge(7))
    a$ = a$ + ","+STR$(pge(8)) + "," + STR$(pge(9))
END_IF
a$ = "--dest="+rtmp$+" --format=1 --pages=" + a$ + " --src=" + f$
EXECUTE_WAIT pdf2img$ + a$: ' conversion des pages en images (format jpg)
FOR i% = 1 TO 9
    fimg$(i%) = rtmp$+"\page"+STRING$(4-LEN(STR$(pge(i%))),"0")+STR$(pge(i%))+".jpg"
NEXT i%
' Affichage des pages du PDF sur A4
GOSUB Majm
FOR i% = 1 TO npg%
    FILE_LOAD i%, fimg$(i%): STRETCH_ON i%
NEXT i%
RETURN

DimImg:
FILE_OPEN_READ 1, fi$: FILE_READBUF 1, a$, 26: FILE_CLOSE 1
w% = ASC(MID$(a$,19,1))+256*ASC(MID$(a$,20,1)): ' largeur du bmp, en pixels
h% = ASC(MID$(a$,23,1))+256*ASC(MID$(a$,24,1)): ' hauteur du bmp, en pixels
RETURN

Imprime:
' Fichier d'impression pour WinTextPrint, et impression
IF f$ = "" OR pge(1) < 1 THEN RETURN
i% = MESSAGE_CONFIRMATION_YES_NO("Prêt pour impression")
IF i% = 2 THEN RETURN
FILE_OPEN_WRITE 1, fpr$
IF orient = 1
    a$ = "<#orientation=Paysage#>"
ELSE
    a$ = "<#orientation=Portrait#>"
END_IF
FILE_WRITELN 1, a$
FOR i% = 1 TO npg%
    a$ = "<#image="+fimg$(i%)+","+str$(x(i%))+","+str$(y(i%))+","+str$(l)+","+str$(h)+"#>"
    FILE_WRITELN 1, a$
NEXT i%
FILE_CLOSE 1
EXECUTE_WAIT wtp$ + " /file=" + fpr$ + " /noshow"
RETURN

Majp:
IF POSITION(12) <> ppa%
    ppa% = POSITION(12)
    FOR i% = 2 TO 9
        POSITION 10+i%*2, ppa%+i%-1
    NEXT i%
END_IF
RETURN
ça suppose la possession des ressources externes suivantes:
- WinTextPrint de Klaus, disponible sur son site (je crois que le zip contient également ConvertPDF.exe, pour convertir les pages pdf en images)
- Acrobat Reader, mais tout le monde pratiquement doit l'avoir
Il faut préciser:
- les chemins d'accès aux modules ci-dessus: WinTextPrint, ConvertPDF et Acrobat Reader
- un répertoire de travail où seront stockées les images produites: variable rtmp$

Peut-être faudra-t-il ajuster les dimensions du form 0, en effet j'ai la chance d'avoir un écran de 24" Very Happy ce qui me permet d'afficher une feuille A4
en grandeur nature, pratique pour la prévisualisation.


PS édité pour rectifier l'adresse du site de déprotection: bien freemypdf.com (et non fremypdf)


Dernière édition par JL35 le Mer 15 Déc 2010 - 1:08, édité 2 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10253
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Impression de fichiers PDF   Ven 19 Nov 2010 - 0:25

Merci, JL35, pour cette belle application de mes outils. C'est réellement utile, et je le prends en prévision !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
JL35



Nombre de messages : 6018
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Impression de fichiers PDF   Ven 19 Nov 2010 - 0:37

Enfin un connaisseur ! merci Klaus (congratulons-nous Very Happy )
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jean Claude

avatar

Nombre de messages : 5086
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Impression de fichiers PDF   Ven 19 Nov 2010 - 10:09

Citation :
- les chemins d'accès aux modules ci-dessus: WinTextPrint, ConvertPDF et Acrobat Reader

Je ne peut rien charger sur le site de Klaus (et j'ai toujours pas compris pourquoi), alors si tu pouvais très cher JL35, me mettre à disposition WinTextPrint et ConvertPDF, pour que je puisse à mon tour te féliciter.


@Klaus, c'est tout de même curieux que je puisse télécharger, n'importe quoi, n'importe ou et que sur ton site çà marche pas. il serait intéressant de savoir si je suis le seul.

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10253
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Impression de fichiers PDF   Ven 19 Nov 2010 - 12:40

Je l'ai placé sur Megaupload, voici le lien:
megaupload.com GNXNRXP3

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Jean Claude

avatar

Nombre de messages : 5086
Age : 63
Localisation : 83 Var
Date d'inscription : 07/05/2009

MessageSujet: Re: Impression de fichiers PDF   Ven 19 Nov 2010 - 14:52

.
Merci Klaus, cette fois-ci c'est OK,

Je me demande pourquoi je ne peut pas télécharger à partir de ton site ?

Appel aux forumeurs: Avez-vous le même probléme que moi, c'est à dire ne pas pouvoir télécharger les zip sur le site de Klaus, alors que l'on peut les télecharger ailleurs. Cela me rendra service et aussi (surtout) à Klaus.

@JL35, je ne te promet pas de regarder ton prog rapidement, j'ai un Week-end chargé à venir.

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 6018
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Impression de fichiers PDF   Ven 19 Nov 2010 - 15:28

Aucune importance Jean Claude, c'est déjà sympa de t'y intéresser.
Et je te confirme que pour moi je n'ai aucun problème pour télécharger chez Klaus, j'ai encore réessayé tout à l'heure.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
dragonno



Nombre de messages : 341
Localisation : Près de Toulouse
Date d'inscription : 22/01/2009

MessageSujet: Re: Impression de fichiers PDF   Sam 20 Nov 2010 - 7:45

Jean Claude, regarde si ton antivirus ou ton parefeu ne bloque pas le site de Maître Klaus.
Des fois que tu ai cliqué sur un truc par mégarde Wink

Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 6018
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Impression de fichiers PDF   Mer 15 Déc 2010 - 1:14

J'ai édité le programme d'impression PDF ci-dessus:
- ajout de l'option 6 pages par feuille (donc 2, 4, 6 ou 9), j'ai eu un cas où c'était le mieux, encore bien lisible.
- ajout du choix de forcer l'orientation de la page (portrait ou paysage).
- ajout du remplissage automatique des numéros de pages suivantes quand on modifie le numéro de la 1ère page à imprimer, mais on peut modifier quand même les pages suivantes (on ne souhaite pas forcément les pages qui se suivent).
On peut régler la marge haut et la marge gauche, ainsi que les espacements horizontaux et verticaux entre pages, avec prévisualisation. Le programme ajuste la dimension des pages en conséquence.

Exemple de 6 pages par feuille, en format paysage:
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
dragonno



Nombre de messages : 341
Localisation : Près de Toulouse
Date d'inscription : 22/01/2009

MessageSujet: Re: Impression de fichiers PDF   Ven 17 Déc 2010 - 1:51

JL, ton programme est vraiment utile, merci Wink

Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 6018
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Impression de fichiers PDF   Ven 17 Déc 2010 - 2:15

merci à toi de t'y intéresser !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Impression de fichiers PDF   

Revenir en haut Aller en bas
 
Impression de fichiers PDF
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Impression de fichiers PDF
» [Résolu] PDF Créator
» Hébergement gratuit images photos fichiers
» [Résolu] OE6 : restaurer fichiers .dbx supprimés
» [Résolu] classement des fichiers et dossiers

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos projets-
Sauter vers: