Вложение Times New Roman в XSL-FOP - PullRequest
0 голосов
/ 31 января 2012

Я недавно обнаружил, что коммерческая типографская компания, которую использует мой офис, не имеет ссылочных шрифтов на своих принтерах. PDF-файлы, которые я создаю, используя библиотеку Apache FOP, по умолчанию устанавливают шрифты, на которые ссылаются во время преобразования XSL-FO. Три стандартных шрифта (Times New Roman, Courier и DejaVu) не будут встраиваться, несмотря на мои попытки их форсировать. Я перепробовал все по этой ссылке и даже более старый метод, описанный здесь . Заранее благодарим за любой вклад, который вы можете предоставить.

Пример моих попыток изменить файл fop.xconf

<font embed-url="file:///C:/WINNT/Fonts/TIMES.TTF">
    <font-triplet name="Times Embed" style="normal" weight="normal"/>
</font>
<font embed-url="file:///C:/WINNT/Fonts/TIMESI.TTF">
    <font-triplet name="Times Embed I" style="italic" weight="normal"/>
</font>   

<!-- Times Roman -->
<font>
  <afp-font name="Times Roman" type="raster" codepage="T1V10500" encoding="Cp500">
    <afp-raster-font size="6" characterset="C0N20060" base14-font="TimesRoman"/>
    <afp-raster-font size="7" characterset="C0N20070" base14-font="TimesRoman"/>
    <afp-raster-font size="8" characterset="C0N20080" base14-font="TimesRoman"/>
    <afp-raster-font size="9" characterset="C0N20090" base14-font="TimesRoman"/>
    <afp-raster-font size="10" characterset="C0N20000" base14-font="TimesRoman"/>
    <afp-raster-font size="11" characterset="C0N200A0" base14-font="TimesRoman"/>
    <afp-raster-font size="12" characterset="C0N200B0" base14-font="TimesRoman"/>
    <afp-raster-font size="14" characterset="C0N200D0" base14-font="TimesRoman"/>
    <afp-raster-font size="16" characterset="C0N200F0" base14-font="TimesRoman"/>
    <afp-raster-font size="18" characterset="C0N200H0" base14-font="TimesRoman"/>
    <afp-raster-font size="20" characterset="C0N200J0" base14-font="TimesRoman"/>
    <afp-raster-font size="24" characterset="C0N200N0" base14-font="TimesRoman"/>
    <afp-raster-font size="30" characterset="C0N200T0" base14-font="TimesRoman"/>
    <afp-raster-font size="36" characterset="C0N200Z0" base14-font="TimesRoman"/>
  </afp-font>
    <font-triplet name="Times" style="normal" weight="normal"/>
    <font-triplet name="TimesRoman" style="normal" weight="normal"/>
    <font-triplet name="Times Roman" style="normal" weight="normal"/>
    <font-triplet name="Times-Roman" style="normal" weight="normal"/>
    <font-triplet name="Times New Roman" style="normal" weight="normal"/>
    <font-triplet name="TimesNewRoman" style="normal" weight="normal"/>
    <font-triplet name="serif" style="normal" weight="normal"/>
  </font>

1 Ответ

1 голос
/ 17 апреля 2012

Если им не нужно получать «pdf» как таковой, вы можете преобразовать его в PCL, который представляет собой не что иное, как описание того, как напечатать файл. Согласно википедии это «стандарт DeFacto для языков принтеров». Ghostscript может сделать это для вас http://www.ghostscript.com/ бесплатно с открытым исходным кодом и т. Д. И т. Д ...

http://sourceforge.net/projects/ghostscript/forums/forum/5451/topic/3096129 - полезные инструкции о том, как выполнить преобразование pdf в pcl:)

Надеюсь, это полезно, я чувствую вашу боль :) 1009 *

...