PPxでPDFを閲覧する

あいさつ

つかさです。
今回はPPxでPDFファイルを閲覧する方法です。

こんな感じで、PPvにPDFファイルの一枚目を画像表示します。参考にしたのは、お気に入りのツールを気ままに拡張するブログのafxpdf、というかそれを少しいじっただけです。

仕組み

ghostscriptでPDFの一枚目を画像に変換し、PPvで表示しているだけです。

動作にはghostscriptが必要です。僕はTeXインストーラ 3で他のTeX関係のものと一緒にインストールしました。

インストール

以下をScriptフォルダに保存。

'------------------------------------------------------------
で囲った部分は各自の環境によって適宜変えて下さい

pdfview.vbs
'!*script

Set fso = CreateObject("Scripting.FileSystemObject")
Set ws  = CreateObject("Wscript.Shell")
'------------------------------------------------------------
ghostscript  = "C:\gs\gs9.02\bin\gswin32c.exe"
resolution   = 100
inputfile    = PPx.Extract("%FCD")
outputdir    = PPx.Extract("%0") & "\PPXTMP.PDF\"
outputfile   = "%%03d.bmp"
outputfile1   = outputdir & "001.bmp"
ppv = PPx.Extract("%0") & "\PPVW.EXE"
'------------------------------------------------------------

' prepare outputdir
if Not fso.FolderExists(outputdir) Then
  call fso.CreateFolder(outputdir)
else
  set fld = fso.GetFolder(outputdir)
  For Each file In fld.Files
    if InStr(file.Name, outputprefix) > 0 Then
      call fso.DeleteFile(outputdir & file.Name, True)
    end if
  Next
end if

' execute gswin32c (pdf2bmp)
PPx.Execute ("%Obds " & ghostscript & " -dSAFER -dBATCH -dNOPAUSE -sDEVICE=bmp256 -r" & resolution & " -sOutputFile=" & outputdir & outputfile  & " -dFirstPage=1 -dLastPage=1 " & inputfile)

PPx.Execute (ppv & " -r " & outputfile1 )

Set fso = Nothing
Set ws = Nothing
PPx側の設定

ファイル判別で、PDFならこのスクリプトが起動するように登録。以下を編集して取り込み。

E_cr	= {	; [Enter]用判別
:PDF	,*script %0\Script\PDFView.vbs
}

カスタマイザーからなら次のようにする。


使うとき

PDFファイルにカーソルをあわせてEnterを押すと、そのPDFの一枚目の画像がPPvで表示される。

あとやりたいこと

僕は、PPvのカスタマイズで書いたように、PPvではカーソル上下で、同じフォルダ内の別の画像を表示するようにカスタマイズしているので、PDFもこれにあわせたい。次回くらいには、これができるようにしたい。