Publish::PDF プラグイン。これで rss2pdf 相当のことができます。キモは、
sub feed { my($self, $context, $args) = @_; my $dir = $self->conf->{dir}; unless (-e $dir && -d _) { mkdir $dir, 0755 or $context->error("mkdir $dir: $!"); } my $file = File::Spec->catfile($dir, $args->{feed}->id . ".pdf"); my $body = $self->templatize($context, $args); utf8::encode($body); $context->log(info => "Writing PDF to $file"); my $pdf = PDF::FromHTML->new; $pdf->load_file(\$body); $pdf->convert(); $pdf->write_file($file); }
Audrey の PDF::FromHTML つかってます。PDF::Template のインストールでハマった。(最新版を CPAN から削除したらしく、CPAN シェルからいれられない。search.cpan.org からもってきていれた)
できあがった PDF は こんなの になりました。かっこよくありません。また、img タグをふくんでいるとうまくいかなかったりすることがあるみたいです。 Firefox のコマンドラインオプションとかつかって HTML から PDF を作る方法ってなかったですかね? そのほうがキレイにでそうです。