ページ全体を .png として出力する

ページ全体を .png として出力する

ページ全体の.pngを出力する必要があります(実際、左ページと右ページをくっつける必要があり、現在imagemagickでこれを行っています)。これはスタンドアロンクラスで実行できることはわかっていますが、memoirクラスで本全体に対してこれを行う必要があります(たとえば、これ1つ)。

PDF を取得して PDF ユーティリティをいくつか使用することでこれを行うことができますが、もっと効率的な方法があるかどうか疑問に思っています (これを何千回も行うため)。理想的な結果に最も近いのは、dvipng を使用し、オプションを使用することですが-T bbox、残念ながら一部の余白が省略されます。.tex ファイルまたは .dvi 出力で直接機能する他のオプションはありますか?

具体的なケースとしては、次のようなソース ファイルがあるとします。

\documentclass[smalldemyvopaper,11pt]{memoir}
\usepackage{lipsum} 

\begin{document}
\lipsum[1-5]
\end{document}

そして、コマンドを使用すると、dvipng -T 5.675in,8.5in example.dvi予想とはまったく異なる画像が表示されます。この5.675in,8.5in部分は、memoirクラスのドキュメントから抜粋したものです。表1.3左側の部分もカットされていることに注目してください。

ここに画像の説明を入力してください

答え1

アクセスできる場合は、PDF ファイルを操作するユーティリティpdftoppmの一部である utilを使用します。poppler

(左ページと右ページを「貼り付ける」とはどういう意味かわかりません。)

サンプルファイル( と名付けましたtestpng.tex)を実行すると、

 pdflatex testpng.tex

これでページがPDFとして生成されます。次に

 pdftoppm -png testpng.pdf tpn

(-pngスイッチはpng形式で出力するように指示し、引数は出力されるpngファイルのプレフィックスを設定します) このコマンドは、、、およびというtpn名前の3つのpngファイルを生成します(PDF出力で3ページから開始したため) 。たとえば、2ページ目は次のようになります。tpn-1.pngtpn-2.pngtpn-3.png

ここに画像の説明を入力してください

適切な余白があると思います。マニュアルページ他に何ができるか確認します。


代替案としてはdvipng、ツールを使用することですが、OP が指摘したように、このツールの方が実行速度が速くなります。OP が指摘した問題は、用紙サイズを指定した後、余白が正しく表示されないことです。

dvipngこれは、パラメータに基づいて出力がどのように行われるかによるものです-T

  • が指定された場合-T bbox、dvipngは以下を含む最小の長方形の画像を出力します。
    • dvi の起源(デフォルトでは、ページの左上隅から水平方向と垂直方向の両方で 1 インチの点です)
    • そしてページ上のすべてのインク。
  • が指定されている場合-T tight、dvipng はページ上のすべてのインクを含む最小の長方形の画像を出力します。
  • -T <width>,<height>指定された寸法の長方形の画像を出力する場合、その内容は、その大きさの長方形であり、dvi の起源(これは、紙の上端と左端の両方から 1 インチ離れた点であることに注意してください)。

これを説明するために、次のTeXソースを考えてみましょう。

\documentclass{book}

\usepackage{geometry}

\geometry{paperwidth=5in, paperheight=7in, inner=0.4in, outer=2in, top=1.2in, bottom=2in}
\usepackage{lipsum} 

\begin{document}
\lipsum[1-5]
\end{document}

これには、非常に不均衡な余白があります。 を使用するとdvipng -T5in,7in、最初の 2 ページは次のようになります。

ページ1:

ここに画像の説明を入力してください

2ページ:

ここに画像の説明を入力してください

1 ページのテキストの一部が切り捨てられているのがわかります。これは、内側の余白が 0.4 インチに設定されており、端から 1 インチ未満であるためです。また、両方のケースで残りの上部余白がちょうど 0.2 インチであることを確認することもできます。つまり、両方のページ番号が消えます。

意図したとおりにページ全体を表示するには、dvi の原点を水平方向と垂直方向の両方に正確に 1 インチ移動して、ページの左上隅に揃えるだけです。注意:推測または目測が必要です。同じ2ページを で出力したものがこれですdvipng -T5in,7in -O1in,1in。左右非対称の余白が尊重されており、デイビッドは提案したオフセット パラメータを設定するために、ドキュメントの実際の余白をいじる必要はありません。

ページ1:

ここに画像の説明を入力してください

2ページ:

ここに画像の説明を入力してください

関連情報