クセロ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





![: Amazon.co.jp: プラスティック・メモリーズ 1【完全生産限定版】(イベントチケット優先販売申込券付) [Blu-ray]](/lists/_9/B00VWX66E8.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 2【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX66K2.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 3【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX6MV0.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 4【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX66IO.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 5【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX6Y0E.jpg)
![: Amazon.co.jp: プラスティック・メモリーズ 6【完全生産限定版】[Blu-ray]](/lists/_9/B00VWX69D6.jpg)

コメントする