クセロPDFの嘘つきPDF1.3を強制的にPDF1.4に変更するスクリプト
スポンサードリンク
このまえ、クセロPDFの嘘つきPDF1.3を強制的にPDF1.4に変更するワンライナー を作ったとき、Win32 の ActivePerl じゃあワンライナーがうまく動かなかったので、せめてもの罪滅ぼしにこれを作りました。
#!/usr/bin/perl -w # Filename: 2pdf14.pl # ActivePerl 5.8.6 (Win32) で確認したよ。 # Usage: ドラドロしてください。 # (要ドラドロできるようになるソフト) # もしくはコマンドライン # C:\> perl 2pdf14.pl ほげ.pdf use strict; use File::Basename; use encoding "cp932", Filter => 1; # 正規表現パターン設定 my $Regex = <<'REGEX'; PDF-\d\.\d.* REGEX # コマンドライン引数分繰り返し foreach my $argv (@ARGV) { my ( $pdfversion, $pdf ); my $fullpath = $argv; ( my $base, my $dir ) = fileparse( $fullpath, '\.[^\.]+$' ); my $filename = $base . ".pdf"; my $newpath = $dir . '#' . $filename; print "PDF 読み込み中...\n"; open( IN, $fullpath ) || die "can't open $fullpath \n"; binmode(IN); read IN, $pdf, -s $fullpath; close(IN); # ヘッダのバージョンを強制的に %PDF-1.4 に書き換える。 $pdf =~ s/^%PDF-\d\.\d/%PDF-1.4/; # 置換結果書き込み print "処理用PDF書き込み中...\n"; open FH, ">$newpath"; binmode(FH); print FH $pdf; close FH; print "正規化PDF書き込み中...\n"; }
やっていることのわりにスクリプトが長いのですが。
スポンサードリンク
トラックバック(0)
トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/1309
コメントする