2015年9月12日

TeX2imgの生成する画像サイズをもとのサイズに合わせようという話.内部であらかじめBoundingBoxを計測してそれにあわせるという実装をしていることもあって,とっととサイズを計測してしまうのが早そう.と言うか,eps2writeするとBoundingBoxが切り詰めたのになっちゃうので,それをとにかく戻さないとならないし(それ以外はどうにでもなりそうだけど).

と言うわけで,PDFiumのヘッダファイルを見ていたら「FPDFPage_GetMediaBox」とか「FPDFPage_GetCropBox」とかいかにもな関数がある.ので呼び出すようにしてみたpdfiumdraw.pdfiumdraw --box=cropbox test.pdfとすると(1ページ目のCropBoxを)出力する……はず.なのだが,単純なLaTeXソースから生成させて試してみたのだが,pdflatexで作ったPDFファイルに対してはきちんと得られるが,platex + dvipdfmxで作ったPDFファイルに対しては失敗する.不思議だ…….

3 件のコメント:

  1. なんか Box の値が出てくる順番が pdfinfo や pdfTeX と違うだけな気がしています。pdfLaTeX で作ろうが dvipdfmx で作ろうが、pdfinfo や pdfTeX は「bbllx bblly bburx bbury」の順で返しますが、pdfiumdraw は「bbllx bbury bburx bblly」の順で返しているようです。

    返信削除
  2. 失礼しました、同じソースから作った PDF でも pdfLaTeX 由来だと取得できるのに dvipdfmx 由来だと Failed to get box size になりますね…不思議。

    返信削除
  3. あー順番はミスです.直しておきます.(いつもこの順番わからなくなる…….)

    返信削除

コメントの追加にはサードパーティーCookieの許可が必要です