wxDev.fr, le portail francophone consacré à wxWidgets ! ( The french portal for wxWidgets )  
Esp. membre
Recheche rapide



Recherche avancée
Statistiques
Membres inscrits :2359

Membres en ligne : 0
Invités en ligne : 4

Valid XHTML 1.0 Transitional

Valid CSS2

Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Développement C/C++
» Problème avec wxPDFdocuments
Conversation (Résolue) : Problème avec wxPDFdocuments
28-01-2010 14:13:00  Problème avec wxPDFdocuments #1
littlefish (Membre)
Inscrit le : 04-02-2009
Messages: 13
Snippets: 0
Tutoriels: 0
Hors ligne
Bonjour à tous,

Pour mon application, je souhaiterais pouvoir générer des pdf, j'ai vus qu'il existais wxPDFdocument (http:/wxcode.sourceforge.net/components/wxpdfdoc/)

Mais voilà, je n'arrive pas à l'installer, j'ai passé la mâtiné a chercher un aide pour l'installez mais je n'ai rien trouvé. Je me permet donc de venir poster un messages pour savoir si quelqu'un là déjà utilisé ou si quelqu'un pourrait m'aider.

Je développe en c++ sous windowsXP avec code::blocks.

Merci d'avance pour vos réponse.

Dernière modification par littlefish (28-01-2010 14:17:16)

28-01-2010 14:31:22  Re: Problème avec wxPDFdocuments #2
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1390
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
Salut.

Tes libs de base viennent d'où ?
Tu les as compilées toi-même ou tu les as téléchargées (sur ce site, par exemple) ?

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà... et effectivement, depuis le temps, ce n'est plus tellement nouveau....
28-01-2010 14:44:04  Re: Problème avec wxPDFdocuments #3
littlefish (Membre)
Inscrit le : 04-02-2009
Messages: 13
Snippets: 0
Tutoriels: 0
Hors ligne
Salut, j'ai téléchargé via le lien suivant : http:/sourceforge.net/projects/wxcode/f … fDocument/

Mais je pense que je dois justement compilé les libs (ce que je ne parvient pas a faire...oui je sais je suis mauvais) et c'est la le problème je crois.
28-01-2010 14:50:38  Re: Problème avec wxPDFdocuments #4
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1390
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
En fait, je posais la question pour les libs wxWidgets de base, pas pour wxPdfDocument

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà... et effectivement, depuis le temps, ce n'est plus tellement nouveau....
28-01-2010 14:55:58  Re: Problème avec wxPDFdocuments #5
littlefish (Membre)
Inscrit le : 04-02-2009
Messages: 13
Snippets: 0
Tutoriels: 0
Hors ligne
Ok désolé, j'avais mal compris la question.
Pour les libs de wxWidget j'ai la version 2.8 téléchargé directement à partir du site wxWidget.org.
Je n'ai rien eu à compilé pour l'installation de wxWidget.
28-01-2010 15:14:19  Re: Problème avec wxPDFdocuments #6
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1390
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
littlefish:
Je n'ai rien eu à compilé pour l'installation de wxWidget.
Bizarre ça !
Normalement, à moins d'être sous Linux, il faut compiler les libs avant de pouvoir les utiliser.

Bref, il va donc falloir que tu compiles wxPdfDocument.
Le plus simple, à mon avis, est de le faire avec la ligne de commande.

- Tu décompresses l'archive contenant les sources de wxPdfDocument
- Tu édites le fichier "/build/makefile.gcc" en modifiant les valeurs du début ( WX_SHARED, WX_UNICODE WX_DEBUG SHARED )
- Tu ouvres une fenêtre "Ligne de commande" et tu te rends dans le dossier "build"
- Tu lances la compilation avec la commande :

Code:

mingw32-make.exe -f makefile.gcc


Il se peut que tu obtiennes une multitude de warnings (c'est mon cas) : ne t'en fais pas pour ça.
Au final, tu devrais obtenir le résultat de ta compilation dans un sous-dossier du répertoire "lib".

Sinon, autre solution : attendre un petit peu. Je suis en train de compiler wxPdfDocument avec les libs téléchargeables sur ce site.
Tu pourras télécharger l'ensemble dès que ça sera prêt.
Dans le principe, ça se passera comme ça :
- Tu installes les libs compilées avec l'installateur présent sur la page "Téléchargements"
- Tu télécharges l'archive contenant les libs additionnelles relatives à wxPdfDocument et tu la décompresse dans le dossier d'installation des libs
- Et c'est tout.
Il faut juste attendre que l'archive de la deuxième étape soit disponible ;)

@+
Xav'

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà... et effectivement, depuis le temps, ce n'est plus tellement nouveau....
28-01-2010 15:27:08  Re: Problème avec wxPDFdocuments #7
littlefish (Membre)
Inscrit le : 04-02-2009
Messages: 13
Snippets: 0
Tutoriels: 0
Hors ligne
Ok,
merci pour tout et surtout pour la rapidité de la réponse :)

Je vais quand même essayer de tout compiler moi même en suivant tes instruction. Et si j'ai un problème je prendrais les archives :)

Encore un grand merci
28-01-2010 15:32:07  Re: Problème avec wxPDFdocuments #8
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1390
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
Pas de soucis.

Les libs sont disponibles.

Si tu as besoin de plus d'infos pour la compilation, n'hésites pas...

@+
Xav'

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà... et effectivement, depuis le temps, ce n'est plus tellement nouveau....
28-01-2010 16:47:40  Re: Problème avec wxPDFdocuments #9
littlefish (Membre)
Inscrit le : 04-02-2009
Messages: 13
Snippets: 0
Tutoriels: 0
Hors ligne
j'ai compilé et j'ai également téléchargé ton archives pour comparer.
Et la je remarque que je n'ai créé que 2 libs :
wxcode_msw28_pdfdoc.dll et libwxcode_msw28_pdfdoc.a ce trouvant dans "lib\gcc_dll"

Alors que toi tu as obtenus 6 libs :
libwxmsw28_pdfdoc.a libwxmsw28u_pdfdoc.a dans "lib\gcc_dll"
libwxmsw28_pdfdoc.a libwxmsw28u_pdfdoc.a dans "lib\gcc_lib"
wxmsw28_pdfdoc_gcc_wxDev.fr.dll wxmsw28u_pdfdoc_gcc_wxDev.fr.dll dans "bin"

Pourquoi cette différence ?

Edit : C'est bon compris c'est parce que tu as recompilé en rechangeant le paramètre de WX_UNICODE.

Par contre j'ai quand même une question tes dll ce nomes wxmsw28u_pdfdoc_gcc_wxDev.fr.dll et moi je crée des wxcode_msw28_pdfdoc.dll.

Étrangement mes autres dll on pour nom wxmsw28u_xxxxx_custom.dll du coup quand je lance mon appli. avec les libs pdf_doc que je viens de compiler j'ai l'erreur suivante : "Cette application n'a pas pu ce lancer car "wxBase28_gcc.dll" est introuvable (normale ma dll s'appelle "wxBase28_gcc_custom.dll")
Aurais tu une idée de comment corriger cette erreur ?
----------
Bon ben j'ai finalement réussis à faire fonctionner le tout pour le moment (la méthode employé est moche et j'aimerais trouver autre choses :p)

Mais maintenant j'ai un autre problème je n'arrive pas à effectuer un setFont (de la classe wxpdfDocument) sans obtenir un plantage de mon logiciel... Hors sans font pas de pdf.
J'utilise pourtant un des font fournis lors de l'installation (calligra)
j'ai testé avec la ligne pdf.setFont("Calligra") et pdf.setFont("Calligrapher") mais aucun changement.
Le dossier fonts est dans wx28/lib et aussi à la racine de mon projet...

Je crois que je vais arrêter pour aujourd'hui et me remettre dedans demain... ça iras mieux.

Dernière modification par littlefish (28-01-2010 19:18:21)

28-01-2010 20:47:51  Re: Problème avec wxPDFdocuments #10
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1390
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
Bon, après avoir fait quelques essais, ça marche...

littlefish:
Par contre j'ai quand même une question tes dll ce nomes wxmsw28u_pdfdoc_gcc_wxDev.fr.dll et moi je crée des wxcode_msw28_pdfdoc.dll.
J'ai juste bricolé le makefile pour obtenir des noms de fichiers qui soient en harmonie avec ceux des libs de base que je fournis sur ce site.

littlefish:
Étrangement mes autres dll on pour nom wxmsw28u_xxxxx_custom.dll du coup quand je lance mon appli. avec les libs pdf_doc que je viens de compiler j'ai l'erreur suivante : "Cette application n'a pas pu ce lancer car "wxBase28_gcc.dll" est introuvable (normale ma dll s'appelle "wxBase28_gcc_custom.dll")
Aurais tu une idée de comment corriger cette erreur ?
On dirait que tu as plusieurs versions des libs installées.
Car si l'application cherche à charger la dll "wxBase28_gcc.dll", c'est qu'elle lui est liée (et donc, qu'elle existe quelque part).

littlefish:
Bon ben j'ai finalement réussis à faire fonctionner le tout pour le moment (la méthode employé est moche et j'aimerais trouver autre choses :p)
C'est quoi cette méthode "moche" ?

littlefish:
Mais maintenant j'ai un autre problème je n'arrive pas à effectuer un setFont (de la classe wxpdfDocument) sans obtenir un plantage de mon logiciel... Hors sans font pas de pdf.
J'utilise pourtant un des font fournis lors de l'installation (calligra)
j'ai testé avec la ligne pdf.setFont("Calligra") et pdf.setFont("Calligrapher") mais aucun changement.
Le dossier fonts est dans wx28/lib et aussi à la racine de mon projet...
As-tu déjà essayé, dans un premier temps, d'utiliser les fonts classiques ?
En fait, j'ai eut le même problème que toi, avec l'exemple basique qui se trouve dans le fichier "tutorial1.cpp" de l'exemple fourni avec les sources :

Code wxWidgets:

wxPdfDocument pdf;
pdf.SetCompression(false);
pdf.AddPage();
pdf.SetFont(wxT("Arial"),wxT("B"),16);
pdf.Cell(40,10,wxT("Hello World!"));
pdf.SaveAsFile(wxT("tutorial1.pdf"));

Le "SetFont" faisait planter l'application.
Si je ne mettais pas cette ligne, ça ne plantait pas, mais le fichier obtenu s'appelai "t" au lieu de "tutorial1.pdf", et il ne contenait rien.
Et le problème venait tout simplement du fait que j'utilisais la version "Ansi" de wxPdfDoc avec une application wxWidgets Unicode.

Pour ce qui est de l'utilisation des fonts "spéciales" (celles présentes dans /libs/fonts), ça marche également (avec quelques petits soucis, mais bon...) :
doc wxPdfDocument:
It is necessary to generate a font definition file first with the makefont utility. The definition file (and the font file itself when embedding) must be present either in the subdirectory 'fonts' of the current working directory or in the one indicated by WXPDF_FONTPATH if this environment variable is defined.
Il faut donc que le dossier "fonts" soit dans le répertoire de l'application, ou que la variable système "WXPDF_FONTPATH" pointe vers ce dossier s'il est ailleurs.

Il faut, pour pouvoir utiliser une de ces fonts, l'ajouter au document pdf, et tu pourras ensuite la sélectionner pour "écrire" avec.
Ce qui donne par exemple :

Code wxWidgets:

    wxPdfDocument pdf;
    pdf.SetCompression(false);
    pdf.AddPage();
    pdf.AddFont(wxT("Calligrapher"),wxT(""),wxT("calligra.xml"));
    pdf.SetFont(wxT("Calligrapher"),wxT(""),16);
    pdf.Cell(40,10,wxT("Hello World !"));
    pdf.SaveAsFile(wxT("tutorial1.pdf"));

Le seul truc, c'est que le "AddFont" génère un warning à l'exécution :
Message d'erreur:
wxPdfFontManagerBase::GetFont: Font 'Calligrapher' with style 'Regular' not found.
Malgré tout, ça marche (pour le code ci-dessus).
Inversement, ça ne marche pas si on demande le style "italique" ou "gras" (le message d'erreur est un peu plus long).

Voilou : si tu as besoin de plus d'infos, n'hésites pas...

@+
Xav'

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà... et effectivement, depuis le temps, ce n'est plus tellement nouveau....
29-01-2010 10:46:54  Re: Problème avec wxPDFdocuments #11
littlefish (Membre)
Inscrit le : 04-02-2009
Messages: 13
Snippets: 0
Tutoriels: 0
Hors ligne
Xaviou:
J'ai juste bricolé le makefile pour obtenir des noms de fichiers qui soient en harmonie avec ceux des libs de base que je fournis sur ce site.
Ok, j'ai regardé le makefile, et finalement j'ai fait des changements pour obtenir des noms plus en harmonie avec les libs que j'avais d'installé.

Xaviou:
On dirait que tu as plusieurs versions des libs installées.
Car si l'application cherche à charger la dll "wxBase28_gcc.dll", c'est qu'elle lui est liée (et donc, qu'elle existe quelque part).
En effet, j'avais deux séries de libs installées, j'ai pris ma mâtiné pour tout désinstaller, et au final réinstallé correctement les libs.

Xaviou:
C'est quoi cette méthode "moche" ?
Alors ma méthode moche a consisté à dupliquer mes dll et à les renommer (supprimant le _custom). C'était très bancale et à surtout à ne pas faire, mais c'était juste pour tester si j'avais quand même réussis la compilation de ma libs pdfDocument.

Xaviou:
As-tu déjà essayé, dans un premier temps, d'utiliser les fonts classiques ?
Je viens de tester rapidement avec l'exemple "tutorial1" et ça à parfaitement marché. Je vais tester les fonts "spéciales" dans la journée.


Merci encore pour tout

@+
Little
Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Développement C/C++
» Problème avec wxPDFdocuments