自前のPublisher変換エンジンを作った。

Microsoftによるpublisherのサポート終了は、多くの人に問いを突きつけています。自分のドキュメントは、自分が積み上げてきた仕事は、これからどうなるのか。 長年にわたってLibreOfficeはPublisherファイルをまともに開ける唯一のメインストリームソフトウェアで、このフォーマットを自力で解き明かしたボランティアたちの仕事は本当に見事なものでした。.pubをLibreOfficeで開けば、だいたいそこに全部あります。

でも「だいたい」と「全部ある」は、そのファイルがあなたの積み上げた仕事(自分で書いたカリキュラム、長年の手間と愛情をかけて作り続けてきた家族のレシピ本、20年分の会報アーカイブ、顧客に手渡す価格表)であるとき、もはや十分ではなくなります。

多くのドキュメントにとって、LibreOfficeで十分です。テキストボックスはだいたい正しい位置に来る。文字はちゃんとある。長い間、PubConvertはインターネット上のほぼすべてのPublisherコンバーターと同じ方法で動いていました。あなたの.pubファイルをLibreOfficeに渡して、その出力を返すだけです。

そこで私たちはこのフォーマットを自分たちで読み取り、コンバーターをゼロから作ることにしました。私たちの目標は、Publisher自身の出力をできるだけ忠実に再現することです。

実際に何を作ったか

.pubフォーマットにマニュアルはありません。Microsoftは一度も公開しておらず、しかもフォーマットはPublisherのバージョンをまたいで変化し続けています。私たちは実際のPublisherドキュメント(ニュースレター、メニュー、証明書、抽選券、冊子など、人々が実際に作ったファイル)でパーサーをテストしました。出力をそれらのドキュメントが本来あるべき姿とページごとに並べて比較し、合わない部分を修正しました。そしてまた繰り返しました。また。また。また。また。また……

これは互換ソフトウェアを作るための古くから正当な手法です。こうして生まれたコンバーターのコードはすべて、私たちが推論した内容をもとにRustで書いた自前のものです。テキストを取り出すのは簡単なほうでした。見た目を正確に再現すること。フォントの種類、表の罫線、テキストが写真に沿って折り返す方法。そこが本当に難しい部分であり、私たちが時間を注いできたところです。

私たちのエンジンはファイルを直接読み込み、独自のPDFレンダラーで描画します。間にLibreOfficeは入りません。.pubファイルから直接、**本当に編集できるWordドキュメント!**とIDMLファイル(Adobe InDesignとAffinity Publisherが開ける形式)も書き出します。

Publisherが自分自身のファイルに対してゴールドスタンダードであることは変わらず、そこは正直に認めます。私たちの目標は、それにできるだけ近づき、差を縮め続けることです。判断する方法は、あなた自身のファイルで試すこと。お支払いの前に結果をプレビューしてください。

気づくこと

以前に変換して結果が少し変だったという方、もう一度試してみてください。具体的に変わった点はこちらです。

  • WordArtが形を保持するようになりました。曲線や完全な円に沿ったテキストも含めて
  • 表が罫線、塗りつぶし、配置を保持します。カレンダーも同様
  • クラシックなクリップアートが消えずに描画されます
  • グラデーションと画像エフェクトが維持されます
  • 複数ページのドキュメントが正しいページ順で出力されます
  • 回転・反転されたオブジェクトが正しい位置に収まります

そして気づかないこと。これも同じくらい重要です。エンジンが読めないファイルに当たった場合(存在します。ほとんどが非常に古いものや破損したものです)、自動的に旧来の変換経路にフォールバックします。どちらにせよ結果は返ってきます。

カウントダウンが意味すること

Microsoft 365では2026年10月1日にPublisherが使えなくなります。買い切り版は引き続きファイルを開けますが、そのサポートは2026年10月13日に終了します。このエンジンを作った理由のすべては、「自分のファイルはどうなるの?」という問いへの答えが、Publisherを後回しにするソフトウェアに左右されないようにするためでした。

リリース以降、個々のテーマはそれぞれ記事にまとめてきました。InDesignとAffinityのためのIDML変換編集できる状態を保つWord変換、そしてPublisherファイルの難所:WordArt、クリップアート、カレンダーの話です。エンジン自体も改善を続けています。最新の修正は8月のアップデートにまとめています。

まずは:あなたのファイルで試してみてください。プレビューは無料で、作業が終わった瞬間にファイルは削除されます。