XPSファイルをPDFに変換する2つの方法【Linuxツール活用ガイド】
ある日、請求書がXPSファイルで送られてきました。PDFではなく。ええと、XPSとは「Open XML Paper Specification」の略で、Microsoftが開発した固定レイアウトのドキュメント形式です。さらにWindows 8以降ではoxpsという形式も登場しており、いずれの場合も、適切なソフトウェアがインストールされていないOSでは表示や閲覧が難しくなることがあります。やはりPDFの方が賢明な選択と言えるでしょう。
このガイドでは、XPSファイルをPDF形式に変換する2つの方法をご紹介します。これにより、ほぼすべてのデバイスで問題なく閲覧できるようになります。使用するのはLinuxツールです。それでは始めましょう。
方法1:GXPSツール(libgxps-tools)
最新の多くのディストリビューションでは、GXPS関連ツールがリポジトリに用意されています。例えばFedora 25では、必要なユーティリティ一式が「libgxps-tools」というパッケージで提供されているので、まずはこれをインストールしましょう。他のディストリビューションでもコマンドはほぼ同様です。
dnf install libgxps-tools
インストールが完了したら、「xpstopdf」コマンドを実行します。非常にシンプルなプログラムで、使い方も簡単です:
xpstopdf <source> <target>
生成されたPDFファイルは、元のドキュメントとは異なるフォントが使用される場合があります。これは、フリーのツールにはXPSファイルの作成時に使われたプロプライエタリなフォントが同梱されていないことがあるためです。ただし、全体的には読みやすく、十分実用的な出力が得られます。
方法2:GhostPDL(GhostXPS)
Ghostツールはお馴染みですね。以前LaTeXやLyxなどをテストした際にも使用しました。Ghostscriptのダウンロードページを見ると、PCL、PDF、XPSのインタプリタ・レンダラーなど、いくつかの異なるツールが用意されています。さらに、これらすべてのユーティリティをひとまとめにした「GhostPDL」バンドルもあります。今回は全部入りが欲しいので、こちらを入手することにします。ソースコードとして配布されているため、自分でコンパイルする必要があります。GitHubからダウンロードしましょう。まずはアーカイブを展開します:
tar xvzf ghostpdl-<version>.tar.gz
次に「./configure」を実行し、最後に「make all」ですべてのバイナリを作成します。必要であればインストールしてもよいですし、生成されたオブジェクトを任意のディレクトリに手動で移動しても構いません。エラーが発生した場合は、開発ツールやヘッダーファイルが不足していることを意味するので、先にそれらを揃えておきましょう。私のFedora 25環境では、何の問題もなくスムーズに完了しました。Linuxのコマンドや設定に関する過去のハウツー記事も参考になるかもしれません。
./configure
make all
「gxps」バイナリは、展開したソースアーカイブの「bin」サブディレクトリ内にあります。
gxps -sDEVICE=pdfwrite -sOutputFile=file.pdf -dNOPAUSE file.xps
一見複雑に見えますが、それほど難しいものではありません。適切なドキュメントを見つけるのは少し大変かもしれません。Ghostscriptのドキュメントは数が多く込み入っているからです。しかし、すぐに必要な情報は見つかるはずです。「-sDEVICE」オプションは使用するデバイスを指定します。この場合のPDFライターは、いわばPDFプリンターのようなものです。「-sOutputFile」は名前の通り出力ファイルを指定します。「-dNOPAUSE」オプションは対話的なプロンプトを無効にし、EOF文字に遭遇した場合やCtrl+Cで中断された場合にも正常に終了させます。興味があれば、オンラインにはさらに多くの情報があります。要点としては、出力ファイルを先に指定し、入力ファイルを最後に指定するということです。以上です。ここでも元のドキュメントとはフォーマットやフォントに差異が生じる可能性がありますが、かなり近い仕上がりになります。作業完了です!
まとめ
私はGSやLaTeXなどが登場する記事が大好きです。これらは非常に奥深く、その美しさと複雑さはOS全体にも匹敵します。glibcやgccがまさに驚きと苦痛に満ちた宇宙であるように。そして今、あなたは1つではなく、2つの変換方法を手に入れたのです。
この記事は最初、厄介な課題として始まりました。当初はオンラインで検索しましたが、うまく見つかりませんでした。しかし、そこでLinuxの出番です!サードパーティ製ツールを使わずにXPSファイルを開いたり変換したりしたいなら、Linuxは同じ結果を達成するための、比較的シンプルでクリーンな2つの方法を提供してくれます。しかも、それを「玄人らしい」やり方で成し遂げたという知識と誇りまで手に入ります。ぜひお試しください。
P.S. ホームページのPDFアイコンは、Mimooh氏によるもので、CC BY-SA 3.0ライセンスの下で提供されています。
-
ExcelファイルをPDFに変換する4つの方法|初心者向けに手順を徹底解説
データや数値を日常的に扱うお仕事をされている方なら、Microsoft ExcelやGoogleスプレッドシートをお使いのことでしょう。しかし、Excelファイルを誰かと共有する前に、必ずPDFに変換してから送るのがベストプラクティスであることをご存じでしょうか? この記事では、ExcelファイルをPDFに変換する具体的な方法をご紹介します。まずは、なぜExcelシートをPDFに変換すべきなのか、その理由から見ていきましょう。 ExcelをPDFに変換すべき理由 PDF化することでExcelシートが保護され、編集できなくなります。受け取った相手が書式や数式を勝手に変更したり、データを改ざんし
-
LinuxのpdftocairoでPDFを画像に変換・フラット化する方法
手元にあるPDFドキュメントの編集や黒塗り(リダクション)が必要になった場面を想像してみてください。一部の情報を追記したり、別の情報を隠蔽したりしたいこともあるでしょう。こうした作業はさまざまなPDFソフトで行えます。しかし多くの場合、新たな変更は元の文書の上にレイヤーとして重ねられるため、専門知識を持つ人であれば、黒塗りマーカーの下からデータを読み取れてしまうのです。以前、PDFファイルを「フラット化」する方法を紹介するチュートリアルを公開しました。これはすべての変更を単一のレイヤーにまとめることを意味します。今回はもうひとつのテクニックとして、PDFファイルを画像に変換する方法をご紹介しま