PDF contenant des pages de tailles différentes

Discussions about image processing and document imaging.
Post Reply
Fabrice Caritey
Posts: 10
Joined: Mon May 21, 2007 7:24 pm

PDF contenant des pages de tailles différentes

Post by Fabrice Caritey » Sun May 27, 2007 4:11 pm

Est-il possible de créer des fichiers PDF avec des pages de tailles différentes, une A4, une A3, une A4R , une A5 etc ... apparemment la fonction PdfSetPageDimensions s'applique à tout le fichier, mais peut-être ai-je loupé quelquechose ?

User avatar
Loïc
Site Admin
Posts: 5881
Joined: Tue Oct 17, 2006 10:48 pm
Location: France
Contact:

Post by Loïc » Tue May 29, 2007 10:31 am

Bonjour,
Effectivement pour l'instant la méthode PdfSetPageDimensions s'applique pour toutes les pages du fichier PDF.

J'ai une méthode PdfSetCurrentPageDimension sur ma wish list mais je ne peux pas pour le moment fixer de date de réalisation.
C'est fait! (voir plus bas)


Cordialement,

Loïc Carrère
Last edited by Loïc on Tue Jun 05, 2007 5:39 pm, edited 1 time in total.

Fabrice Caritey
Posts: 10
Joined: Mon May 21, 2007 7:24 pm

Post by Fabrice Caritey » Tue May 29, 2007 10:50 am

Ok, j'ai trouvé un moyen de contourner. Je crée un fichier pdf par page, et apres j'utilise mbtpdfasm en shell externe pour assembler le fichier.

User avatar
Loïc
Site Admin
Posts: 5881
Joined: Tue Oct 17, 2006 10:48 pm
Location: France
Contact:

Post by Loïc » Tue May 29, 2007 10:57 am

Ah je connais aussi ce petit utilitaire.

Effectivement c'est une bonne solution de contournement.



Voici le lien pour ceux que ça intéresse:

http://thierry.schmit.free.fr/dev/mbtPd ... fAsm2.html


Loïc

Fabrice Caritey
Posts: 10
Joined: Mon May 21, 2007 7:24 pm

Post by Fabrice Caritey » Tue May 29, 2007 11:44 am

Dans le même genre et très fort également il y a PdfTk

http://www.accesspdf.com/pdftk/

User avatar
Loïc
Site Admin
Posts: 5881
Joined: Tue Oct 17, 2006 10:48 pm
Location: France
Contact:

Post by Loïc » Tue Jun 05, 2007 5:38 pm

Bonjour,

Vous pouvez désormais définir les dimentions de chacune des pages d'un fichier PDF avec la dernière beta release:

https://www.gdpicture.com/ressources/bet ... urepro.ocx

Vous pouvez trouver un exemple d'utilisation assez simple sur cette page:

viewtopic.php?t=15


Cordialement,

Loïc Carrère

Fabrice Caritey
Posts: 10
Joined: Mon May 21, 2007 7:24 pm

Post by Fabrice Caritey » Tue Jun 05, 2007 9:10 pm

Formidable,

Toutefois j'ai un petit souci qui viens certainement de chez moi pour l'intégration. Je n'arrive pas à le faire fonctionner , mon pdf a des pages qui ont la taille de la dernière page du fichier , voici mon code

Mes pages sont prealablement stockées dans un tableau pagesId

Code: Select all


oGdPicture.PdfNewPdf(epath)
oGdPicture.PdfSetMeasurementUnits(1)
For Idimg As Integer = 0 To pagesId.Length - 1
      vidimg = oGdPicture.PdfAddImageFromImageID(pagesId(Idimg))
      oGdPicture.SetNativeImage(pagesId(Idimg))
      Call oGdPicture.PdfSetPageDimensions(oGdPicture.GetWidthMM, oGdPicture.GetHeightMM)
      oGdPicture.PdfNewPage()
      oGdPicture.PdfDrawImage(vidimg, 0, 0, oGdPicture.GetWidthMM, oGdPicture.GetHeightMM)
      oGdPicture.PdfEndPage()
Next Idimg
oGdPicture.PdfSavePdf()
Au niveau de l'installation je suis avec un gdpicturepro.ocx en version 1.196 et un axinterop.gdpicturepro.dll 1.183 (c'est surement ça ?)

User avatar
Loïc
Site Admin
Posts: 5881
Joined: Tue Oct 17, 2006 10:48 pm
Location: France
Contact:

Post by Loïc » Wed Jun 06, 2007 2:49 pm

Bonjour,

j'ai encore mieux.

Vous pouvez utiliser le code suivant en lieu et place de celui que vous venez de décrire:

Code: Select all

oGdPicture.PdfNewPdf(epath) 

For Idimg As Integer = 0 To pagesId.Length - 1 
      vidimg = oGdPicture.PdfAddImageFromImageID(pagesId(Idimg)) 
      Call oGdPicture.PdfSetPageDimensions(GdPicture.PdfGetImageWidth(vidimg), GdPicture.PdfGetImageHeight(vidimg)) 
      oGdPicture.PdfNewPage() 
      oGdPicture.PdfDrawImage(vidimg, 0, 0, GdPicture.PdfGetImageWidth(vidimg), GdPicture.PdfGetImageHeight(vidimg)) 
      oGdPicture.PdfEndPage() 
Next Idimg 

oGdPicture.PdfSavePdf() 

Ce code marche avec la dernière version beta du composant que vous devez de nouveau télécharger.

Pour utiliser la dernière version du composant sous .NET vous avez deux solutions:

1)
- Supprimer les références à gdpicturepro dans l'environnement vb et supprimer les fichiers *interop* des répertoires \bin et \obj
- Recréer les références

2)
- Editer avec notepad le fichier VOTREPROJET.vbproj et remplacer les lignes suivantes:

Code: Select all

<AssemblyRevisionNumber>183</AssemblyRevisionNumber>
par

Code: Select all

<AssemblyRevisionNumber>197</AssemblyRevisionNumber>
et

Code: Select all

<VersionMinor>183</VersionMinor>
par

Code: Select all

<VersionMinor>197</VersionMinor>

Ca drevrait bien fonctionner avec ça.

Cordialement,

Loïc Carrère

Fabrice Caritey
Posts: 10
Joined: Mon May 21, 2007 7:24 pm

Post by Fabrice Caritey » Wed Jun 06, 2007 7:44 pm

Ok merci ça marche nickel.

Support impeccable.

User avatar
Loïc
Site Admin
Posts: 5881
Joined: Tue Oct 17, 2006 10:48 pm
Location: France
Contact:

Post by Loïc » Wed Jun 06, 2007 7:47 pm

Merci pour le retour.

Loïc

Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests