$ps = ps_new();
ps_open_file($ps,$filename);
ps_begin_page($ps,$size,$size);
ps_set_parameter($ps, 'SearchPath' , '/usr/share/texmf-texlive/fonts/afm/bluesky/cm');
$psfont = ps_findfont($ps, "cmr10", "", 0);
ps_setfont($ps, $psfont, 12.0);
ps_circle($ps,$size/2,$size/2,$size/10);
ps_circle($ps,$size/4,$size/2,1);
ps_circle($ps,$size/2,$size/4,1);
ps_circle($ps,$size/4,$size/4,1);
ps_fill($ps);
//ps_show_xy($ps, 'test',$size/8,$size/8);
//ps_stroke($ps);
ps_end_page($ps);
ps_close($ps);
ps_delete($ps);
Si je commente la ligne ps_setfont, il enregistre correctement un fichier .ps contenant des cercles pleins. Avec la ligne ps_setfont non commentée, firefox propose de sauvegarder quelque chose avec mon nom de fichier .php, mais ce qui est sauvegardé est de 0 octet.Génération de Postscript en PHP: le navigateur propose de sauvegarder le fichier
Je ne comprends pas pourquoi ce « téléchargement » est offert: -S
J'ai quelques-uns d'entre eux à la fin de la error.log apache: [Mer 25 novembre 2009 11:20:42] [Avis] enfant pid 18600 signal de sortie Segmentation fault (11) Note: les .ps le fichier ne doit pas être envoyé au navigateur, je l'incluerai plus tard dans LaTeX, et je produirai un fichier .pdf séparé. – Emyr
Le code que vous avez posté est-il complet ou il y en a plus? J'ai supposé que le script générait et servait le .ps sur le HTTP basé sur votre mention de Firefox. Comment est-il demandé alors? – bbb
Mon script retourne un fichier pdf généré en écrivant LaTeX dans un fichier .tex, en utilisant exec ("cd $ chemin && latex $ filename && pdflatex $ nomfichier", $ output), puis readfile ($ pdf); Ce que ce bloc de code est destiné à faire est de générer un diagramme postscript qui sera intégré dans le pdf. Les seules parties manquantes dans le code ci-dessus sont les bits qui définissent $ filename et $ size. Je suppose que php renvoie les mauvais en-têtes sans contenu à cause des erreurs de segmentation. – Emyr