Annonces Google
Serveur IRC
Serveur : irc.portlane.se
Canal : #AmigaNG
Activité du Site

Pages vues depuis 25/07/2007 : 25 265 888

  • Nb. de membres 187
  • Nb. d'articles 1 270
  • Nb. de forums 19
  • Nb. de sujets 20
  • Nb. de critiques 24

Top 10  Statistiques

Index du forum »»  Création-Développement »» PDF vers bitmap?

PDF vers bitmap? #1546

4Contributeur(s)
thellierzzd10hElwoodYesCop
3 Modérateur(s)
K-LElwoodcorto
thellier thelliericon_post
Hello

existe il une fomction/library permettant d afficher un Pdf (une page n d'un pdf) dans une bitmap?
Je pensais a afficher un livre avec le compositing...

Alain
zzd10h zzd10hicon_post
As-tu regarder les sources d'ImageMagick sur OS4Depot ?

Pas testé, mais il semble qu'ImageMagick puisse convertir les pages d'un PDF en images avec une commande style :

convert myfile.pdf[0-10] -resize 200x200 thumb-%05d.png

Donc au pire, si tu trouves dans les sources d'IM comment produire une image à partir d'un PDF, aprés tu recharges l'image par Datatype dans un Bitmap, non ?

Ca peut être intéressant pour avoir des effets de pages qui se tournent, comme sur tablettes.

C'est quoi ton idée finale ?
thellier thelliericon_post
Effectivement c est l idee
Y a longtemps j avais fait un objet3d en forme de livre : ce serait bien de le tracer via le compositing ou warp3d avec de vraies pages dedans qui eventuellement se tourneraient
je vais voir imagemagick...

Merci
Alain
Elwood Elwoodicon_post
Non cela n'existe pas mais ce serait cool de l'avoir :-)
Il faudrait d'abord commencer par porter ce genre de librairie je suppose : http://sourceforge.net/projects/libpdf/

Ensuite il faut faire une classe Reaction.
--
Philippe Ferrucci
Avec une Sam460 et AmigaOS 4.1, je suis eco-responsable. Cool !
thellier thelliericon_post
Merci

Les sources de libpdf ne sont plus sur sourceforge( !!?)
Mais c'est pas grave car j'ai trouvé un exemple dans les sources de Aros/Cairo qui fait pdf2png

Je donne ici les lignes les plus essentielles:
(si ça interesse qqun)

document = poppler_document_new_from_file (uri, NULL, &error);
if (document == NULL)
FAIL (error->message);

page = poppler_document_get_page_by_label (document, page_label);
if (page == NULL)
FAIL ("page not found");

poppler_page_get_size (page, &width, &height);

surface = cairo_image_surface_create (CAIRO_FORMAT_RGB24, width, height);
cr = cairo_create (surface);
cairo_surface_destroy (surface);

cairo_set_source_rgb (cr, 1,1,1);
cairo_paint (cr);
cairo_push_group_with_content (cr, CAIRO_CONTENT_COLOR_ALPHA);

poppler_page_render (page, cr);
g_object_unref (page);

cairo_pop_group_to_source (cr);
cairo_paint (cr);

status = cairo_surface_write_to_png (cairo_get_target (cr),output_filename);
YesCop YesCopicon_post
Thellier,

sans vouloir jouer le pessemiste, je te conseille de tester ces lignes de code avant de te réjouir.
L'année dernière, j'avais exploré ces commandes cairo pour faire du dessin et du composing.
C'était sympa à coder même si pour moi il y a un "bug" quand il s'agit de surfaces_cairo (si la mémoire ne me fait pas défaut).
Ensuite, après m'être amusé, je transférai le résultat sous forme pdf, svg et png avec une fonction du genre airo_surface_write_to_png. D'ailleurs en général, la taille du fichier png était 0 !
Mais les fichiers n'étaient pas toujours lisibles ou le résultat n'était pas celui escompté.

Si tu veux persister dans ce sens, je peux te donner mes sources cairo pour que tu jettes un oeil.
thellier thelliericon_post
Ouuups c'est moche :-/

Déjà que ça fait des années que je dis que je pourrais faire un bouquin en 3D sans le faire ... et là tu me coupe les ailes direct

Sais tu si cairo sais au moins (vraiment) afficher un pdf ?

Car à vrai dire la fonction cairo_surface_write_to_png() ne me manque pas si y a moyen de copier l'image dans la surface vers une texture/bitmap
(Je veut dire ne pas passer par un fichier .png temporaire c'est encore mieux)

Alain
YesCop YesCopicon_post
Avec cairo, je ne pense que tu puisses afficher directement un pdf.
Cependant, j'ai pensé que la meilleure solution serait de lorgner sur ghostscript, les sources doivent exister. Là au moins, tu auras la possibilité d'afficher les pdfs quelque soit leur complexité (ou presque).
Je suis désolé de t'avoir coupé les ailes...
Petites Annonces

0 annonce(s) publiée(s)

Consulter

AmigaOS 4.1

Laissez-vous tenter par
AmigaOS 4.1
AmiTheme

AmiTheme