複数のPDFページを1つに合わせる


1

どういうわけか可能ですか "ズームアウトする" すべてのページを1ページに収める複数ページのPDF コマンドライン経由 (Linux上で動作する必要があります)

例えば私はXSLで生成されたPDFを持っています:FO / FOPは3ページにまたがるテーブル(写真の赤い1)を持っています。しかし、私はそれを自動的にしたい 1ページにリサイズ (写真の右側のページを参照してください。)複数のページを印刷するときに選択できるが、自動的にサイズ変更されるので、ページの「マトリックス」は必要ありません。

edit:xsl:foを使ってテーブルを自動的に1ページに合わせる方が簡単な場合

[picture](http://www.tinyimage.de/jpeg.php?img_id=391137)


1
印刷文書のフォーマットであるPDFを使用しないことを考えましたか?
Daniel Beck

あなたの質問ははっきりしていません。あなたはあなたがあなたがあなたがあなたがあなたがあなたがあなたがあなたがあなたが1枚の紙の用紙に2または4ページを印刷することのようなページの「マトリックス」を望まないと思うと言う。じゃ、何が欲しいの?私はあなたが何を出力したいのか理解していません。
allquixotic

@allquixotic:(ひどい、私は知っている)絵を見てください。複数のページを1つのページに印刷したいが、互いの下には境界線やパディングを入れないでください。
stwagner

@allquixotic:彼が欲しいのは、複数のページのテーブルをより小さなフォントサイズの1つのページにマージすることを望んでいることだと思います。これができるかどうかわからない
darnir

回答:


0

たぶん...垂直方向に非常に大きいページサイズ(例:8.5 "x 33")を設定して、すべてが1ページに収まるようにします。次に、印刷するときに、1枚の普通紙にページを印刷するために、プリンタの拡大縮小オプションを選択できます。あなたはこの方法で読めないテキストを得る可能性があります。

[追加]より複雑な方法はレンダリングすることだろう 二度 。一度ページ数を取得し、もう一度適切なサイズのページで最終結果を取得します。理想的なページの高さを計算するときには、ヘッダー/フッターのサイズも考慮する必要があります。

((number-of-pages * (standard-page-height - header-height - footer-height)) + header-height + footer-height)

ええ、私もそれについて考えました:xsl:foのページ高さを高い数に設定して、それを「lpr -pPDF -oページに合わせるtable.pdf」でA4のPDFに印刷することはうまくいきます - 残りの問題は、設定する高さがわからない - @ RedGrittyBrickの回答に対する私の回答を参照してください。
stwagner

page-height = "indefinite"を発見しただけで、コンテンツに合わせて高さが自動調整されます - しかし、それはfopではサポートされていません。
stwagner

2回レンダリングすることができる場合は、最初のスクリプトを通常どおりに実行して出力からページ数を読み取り、次にページ数* 11 "(または何でも)で再度レンダリングします。
Chris Nava

ヘッダー/フッターを考慮して、計算をもう少し複雑にする必要があるかもしれません。 ((ページ数*(11 - ヘッダーの高さ - フッターの高さ))+ヘッダーの高さ+フッターの高さ)
Chris Nava

0

いいえ、汎用PDF(またはPS)ツール(例えばpdftk、psutils)はこの機能を提供していません - 私はいくつかの理由で推測します

ほとんどのPDFは、幅または高さの比率がA4またはレターサイズの用紙のサイズに近いページ用に作成されています。 3ページを縦に並べて配置するだけでは、テキストの左側または右側に余白が大きくなります。ヘッダーとフッターの繰り返しの気を散らすこともあります。 PDFは指定された座標で指定された形状を描画することに基づく最終フォーマットなので、テキストやその他のオブジェクトを任意のPDFファイルにリフローすることはできません。

小さいフォントサイズを使用するようにツールを設定できますか?


私は今のところテーブルの長さがわからないので - 使用される文字数と行数を使って高さを推測または計算することができますが、それは非常に信頼性の低い解決策になると思います
stwagner

PDFはこれには不適切な形式です。HTMLまたはその他のページ以外の形式を使用してください。おそらくXML + XSL - ほとんどのブラウザはXSLをサポートしていると思います。
RedGrittyBrick

残念ながらそれは最終的にPDFでなければなりません - ブラウザを介してPDFにそれを印刷する人なしで。現在、私はwkhtmltopdfとjavascriptを使ったオートズームを使用していますが、見栄えの悪いPDFが生成されています(細い境界線が破壊されたり、表示されなくなったりします)。
stwagner

0

いいえ、私の知る限りでは、あなたが求めることを達成することはできません。

テーブルを読んで1つのシートに結合したいとします。

ただし、アプリケーションによっては、探しているものを作成できる場合があります。印刷プロパティ、ページレイアウトなどのオプションを確認してください。私はXSLについてあまり知らないので、それがあなたにとって可能であるならコメントすることができません。しかし、私はあなたが最近LibreOffice CalcとMS Excelから要求していることを正確にしました。ただし、これを実行することはお勧めできません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.