お問い合わせ

ブログ

これまでに経験してきたプロジェクトで気になる技術の情報を紹介していきます。

複数のxps、oxpsのファイルをpdf化するバッチと複数のpdfを1つのpdfへ結合するバッチ

ghostscriptのサイト
https://www.ghostscript.com/

ダウンロードしてパスを通す必要があるもの

xps、oxpsをpdf化するためにダウンロードするもの
https://www.ghostscript.com/releases/gxpsdnld.html
から
GNU Affero General Public License
の列に有るWindows版のものをダウンロードし、展開しパスを通す

pdfファイルを結合するためにダウンロードするもの
https://www.ghostscript.com/releases/gsdnld.html
から
GNU Affero General Public License
の列に有るWindows版のものをダウンロードし、インストールしパスを通す

使い方
下記oxps2pdf.batとcombinepdf.batのコードをコピペ、保存する。
xps、oxpsのファイルのあるフォルダーへoxps2pdf.batとcombinepdf.batを置きます。

oxps2pdf.batをダブルクリックで処理開始し、pdf化されます。

combinepdf.batの使い方

1つめの引数を、結合後のpdf名とし、それ以降が結合対象pdf名です。少数であれば空白区切りで並べていきます。
combinepdf.bat result.pdf 01_ab.pdf 02_cd.pdf

結合対象pdf名にはワイルドカードが使えます。
(ファイル名の命名が規則的であれば、ある程度は順番に結合されるようです)

combinepdf.bat result.pdf *_*.pdf


oxps2pdf.bat

::This software includes the work that is distributed in the Apache License 2.0.
::https://www.apache.org/licenses/LICENSE-2.0

@echo off

for %%A in (*.xps *.oxps) do (
    gxpswin64  -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=%%~nA.pdf %%A
)

combinepdf.bat

::This software includes the work that is distributed in the Apache License 2.0.
::https://www.apache.org/licenses/LICENSE-2.0

@echo off
setlocal enableDelayedExpansion

for %%A in (%*) do (
    if not defined files (
        set files=%%A
    ) else (
        set files=!files! %%A
    )
)

gswin64c -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=%files%

endlocal
複数のxps、oxpsのファイルをpdf化するバッチと複数のpdfを1つのpdfへ結合するバッチ 2022-01-25 15:33:41

コメントはありません。

4256

お気軽に
お問い合わせください。

お問い合わせ