J'aimerais sur Matlab utiliser epstopdf (j'ai utilisé MikTeX pour installer le package epstopdf) pour convertir automatiquement un fichier EPS en un fichier PDF.

À vrai dire, c'est intégré dans un programme pour imprimer en PDF une figure faite sur Matlab avec des fonts différentes de celles qu'on peut utiliser (Helvetica, Courier, Times-Roman), et j'ai suivi ce tuto.

En gros l'histoire c'est d'imprimer en EPS avec une police utilisable (Helvetica par exemple) et d'appliquer un post traitement sur l'EPS pour retrouver la bonne fonte. Une fois cela réalisé, on convertit l'EPS en PDF, et c'est là que ça bloque.

Voici le programme:

Ouvrir dans l'éditeur Overleaf
%Ici j'ai créé ma figure avec la police LM Sans 12, je ne le met pas car pas interessant

%1- Preprocess. Remap the fonts to the Matlab subset
% Find font objects
font1 = findall(gcf,'fontname','LM Sans 12');

%2- Replace fonts
% Important Note: axes font must be remapped BEFORE the xlabel and ylabel
% remap 
set(font1,'fontname','Helvetica','fontweight','bold'); % Remap to Helvetica-Bold

%3- Obtain the eps file using print
file_name = 'B07';
%set(fig,'paperpositionmode','auto','units','centimeters','paperunits','centimeters','papersize',[5 16]);
print(fig,'-depsc','-painters','-r600','-loose',strcat('.\',file_name));   % eps

%4- Postprocess (recover the fonts in figure)
set(font1,'fontname','LM Sans 12','fontangle','normal','fontweight','light');

%5- Obtain the pdf file using epstopdf (included for instance in MikTex)
system(sprintf('epstopdf --gsopt="-sFONTMAP=""C:/Users/BBB/Desktop/General/FontExample2.gs""  -sFONTPATH=C:/Windows/Fonts  -dSubsetFonts=true  -dEmbedAllFonts=true -dPDFSETTINGS=/prepress" "%s.eps"',strcat('.\',file_name)));

FontExample2.gs contient la chose suivante:

Ouvrir dans l'éditeur Overleaf
/Helvetica-Bold             (C:/WINDOWS/Fonts/lmsans12-regular_0.otf)      ;

Quand je lance mon programme j'ai:

Ouvrir dans l'éditeur Overleaf
Unrecoverable error: undefinedfilename in C:/Users/BBB/Desktop/General/FontExample2.gs  -sFONTPATH=C:/Windows/Fonts  -dSubsetFonts=true  -dEmbedAllFonts=true -dPDFSETTINGS=/prepress
Sorry, but "MiKTeX EPS-to-PDF Converter" did not succeed.  
The log file hopefully contains the information to get MiKTeX going again: 
C:\Users\BBB\AppData\Local\MiKTeX\2.9\miktex\log\epstopdf.log

Dans le log j'ai:

Ouvrir dans l'éditeur Overleaf
2018-10-03 12:52:40,833-0400 INFO  epstopdf - starting with command line: epstopdf "--gsopt=-sFONTMAP="C:/Users/BBB/Desktop/General/FontExample2.gs"  -sFONTPATH=C:/Windows/Fonts  -dSubsetFonts=true  -dEmbedAllFonts=true -dPDFSETTINGS=/prepress" .\B07.eps
2018-10-03 12:52:41,061-0400 FATAL epstopdf - Invalid argument
2018-10-03 12:52:41,061-0400 FATAL epstopdf - Info: 
2018-10-03 12:52:41,061-0400 FATAL epstopdf - Source: Libraries\MiKTeX\Core\Stream\FileStream.cpp
2018-10-03 12:52:41,061-0400 FATAL epstopdf - Line: 61

Je n'arrive pas à trouver où j'ai fait l'erreur d'argument :'(

Posée 03 Oct '18, 22:36

chauve4life's gravatar image

chauve4life
2113
Taux d'acceptation : 0%

Modifiée 04 Oct '18, 02:27

Pathe's gravatar image

Pathe ♦♦
7.5k29197245

@chauve4life Les formules de politesse et les signatures sont à éviter : celle(s) de votre contribution a (ont) été supprimée(s).

(03 Oct '18, 22:50) denis ♦♦ denis's gravatar image

@chauve4life Attention ! Les contre-obliques (\) saisies telles quelles dans les contributions ne sont visibles que si elles sont insérées en tant que ⟨code⟩. Pour insérer du ⟨code⟩, notamment des commandes LaTeX, cf. la FAQ Comment mettre en forme ma contribution ?. Merci de corriger votre contribution si cela n'a pas déjà été fait.

(03 Oct '18, 22:50) denis ♦♦ denis's gravatar image

Je ne peux pas vraiment aider car je n'utilise pas MiKTeX et, surtout, ne dispose pas des fontes en question. Pour détecter le problème d'argument, vous pouvez tâtonner en lançant vous-même la commande depuis un terminal et en variant les paramètres.

(04 Oct '18, 19:25) denis ♦♦ denis's gravatar image
Soyez le premier à répondre à cette question !
(dés)activer l'aperçu

Suivre cette question

Par courriel :

Une fois que vous serez enregistré, vous pourrez souscrire à n'importe quelle mise à jour ici

Par flux RSS :

Réponses

Réponses et commentaires

Bases de Markdown

  • *italique* ou _italique_
  • **gras** ou __gras__
  • Lien ::[texte](http://url.com/ "Titre ")
  • Image : ?![alt texte](/path/img.jpg "Titre ")
  • Liste numérotée : 1. Foo 2. Bar
  • Pour ajouter un passage à la ligne, ajoutez deux espaces à l'endroit où vous souhaitez que la ligne commence.
  • Les balises HTML de base sont également prises en charge.