M.C.P.C.

―むり・くり―プラスコミュニケーション(更新終了)


| トップページ |

2005年9月 6日 00:00

クセロPDFの嘘つきPDF1.3を強制的にPDF1.4に変更するスクリプト

このエントリーをはてなブックマークに追加 mixiチェック

このまえ、クセロ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";
 
}
 

やっていることのわりにスクリプトが長いのですが。

投稿 大野 義貴 [Script] | |

トラックバック(0)

トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/1309

コメントする