[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Печать бланков с изменяющимся содержимым



On Sat, Mar 10, 2007 at 04:00:46PM +0500, Sentinel wrote:

> Отсюда и вопрос: как лучше решить задачу генерации бланков с изменяющимся
> содержимым свободными средствами?

Если знаком с LaTeX, то можно на нём + скриптом. А если нет, то может
оказаться проще не разбираться с этим, а сделать пустой бланк в виде
картинки и вписывать текст ImageMagick-ом. Вот пример перлового скрипта,
который берёт два слова из STDIN и пишет их поверх картинки. (Входной
текст должен быть в UTF8.) Для Python-а, думаю, тоже должны аналогичные
библиотеки быть.

(Кстати, в LaTeX тоже может быть проще загрузить бланк как фоновый
рисунок, а не пытаться изобразить его LaTeX-овскими средствами.)

  #!/usr/bin/perl

  use Image::Magick;
  use strict;

  my $color = 'black';
  my $font = '/usr/local/share/fonts/ttfonts/tahoma.ttf';
  my $fontsize = 32;
  my $blank='blank.png';
  my $outfile='filled.png';

  my $name = <>; chomp $name;
  my $namex = 700; my $namey = 360;
  my $surname = <>; chomp $surname;
  my $surnamex = 1000; my $surnamey = 360;

  my $p = Image::Magick->new;
  $p->ReadImage($blank);
  $p->Set(font=>$font);
  $p->Set(pointsize=>$fontsize);
    
  $p->Annotate(text=>$name, x=>$namex, y=>$namey, 
               fill=>$color, align=>'Left',
      );
  $p->Annotate(text=>$surname, x=>$surnamex, y=>$surnamey, 
               fill=>$color, align=>'Left',
      );

  $p->Write($outfile);
 

-- 
Оля



Reply to: