PDFドキュメントのページを再配置し、シートごとに複数のページを結合できる無料のツールを探しています。最初の部分(再配置)は、多くのツールで簡単に解決できます。 PyPDF )。
問題は2番目の要件にあります。2つ(またはそれ以上)のページを1つのページに結合することです。たとえば、2つのページ(AとB)を取り、それらを回転させ、拡大縮小して、このように1つのページに結合します
------ ------ ------
| | | | | |
| A | | B | | a |
| | | | | |
| | | | ---> ------
| | | | | |
| | | | | b |
| | | | | |
------ ------ ------
このソリューションはLinux上で、できればWindows上でも動作する必要があります。 PythonまたはPerlバインディングを備えたコンソールアプリケーションまたはライブラリを探しています。
Editpdfnup この種類の変換を正確に実行するはずのライブラリがあり、クロスプラットフォームですが、私はできません this に似たバグのために使用してください。
これは、PDF(psupとpsbookに相当するものを見つけたかった)
私のパッケージマネージャーから:
A6ブックレットを作成します。
pdfbook -2 -p a5 infile.pdf outfile.pdf
pdf-toolsの内容:
多価もあります: http://multivalent.sourceforge.net/Tools/index.html
Linuxでは、PDFファイルをPostscriptに変換し、psnup
を使用できます。それを呼び出す正確な方法は、ページをどのようにまとめるかによって異なります。回転させたい、使用したい用紙サイズなどが必要ですが、次のようになります。
pdf2ps infile.pdf infile.ps
psnup -2 infile.ps outfile.ps
ps2pdf outfile.ps outfile.pdf
使用可能なツールによっては、より効率的な方法があります-psnup
は確かに唯一の方法ではありませんが、比較的有名なプログラムです(とにかくLinuxで)。
Linuxを使用している場合は、 BookletImposer を使用して、複数のPDFページを1つのページに配置できます。
Ubuntuユーザーの場合、このツールはUbuntu Software Centerで入手できます。
あなたの質問に答えるには、PDF「インポジション」ツールが必要です。これは、PDF新しいシングルを作成する特定の配列PDFページ。新聞の組版のようなものだと想像してください。特定の列幅、特定の行数で、スロットの配列を定義します。特定の固定寸法(cm)のページ。次に、空のスロットを上から下、左から右にpdfソースファイルのページで埋めます。OPの場合、構成された単一のページを作成します。 1x2配列(1列、2行)に配置された2つの8.5x11ページのうち、ページは次の順序で配列にドロップされます:1,2。したがって、最初のページ(pdfのページ1)をドロップします配列の最初のスロット(列1、行1)、2番目のページ(ページ2)を2番目のスロット(列1、行2)にドロップしています。
ツールを使用してこれを実現する方法:Multivalentの古いバージョンをダウンロードします。作者が説明なしで最新版から優れたツールクラスを削除したため、古いものを使用する必要があることに注意してください。 02/12の時点での作業リンクは次のとおりです。 http://code.google.com/p/pdfsizeopt/downloads/detail?name=Multivalent20060102.jar 簡単にするために、jarファイルの名前をmに変更しました.jar。言うまでもなく、これを機能させるにはJREをインストールする必要がありますが、それを公開します。 m.jarをJavaクラスパス環境変数(スクリプト用)に追加するか、-cpオプションと相対パス(以下を参照)を使用してコマンドライン構文を実行します。以下の例では、インストールディレクトリのコマンドライン、そうでない場合はルートからの絶対パス(c:\ 1\bin\m.jarなど)を指定します。
OPが投稿した内容を正確に達成する例を次に示します。C:\ 1\bin> Java -cp m.jar tool.pdf.Impose -dim 1x2 -verbose -papersize "21.59x55.88cm" -layout "1,2 "yourfilename.pdf
-dimオプションは、列x行に配列を作成することに注意してください。 -papersizeはここではセンチメートルで指定されますが、インチが必要な場合は、インチを2.54倍してcmを取得します。 -layoutオプションを使用すると、配列の空のスロットを上から下、左から右に埋める順序を指定できます。この場合、上部のpdfの1ページ目と下部の2ページ目が必要なので、引数は「1,2」です。最後の引数は、実際のソースファイルです。完了すると、ツールはyourfilename-up.pdfというファイルを出力します。
お役に立てば幸いです。
-マット・ツヴァイル
このサイズの2倍のシート(A4、ポートレート)でページ(A5、ランドスケープなど)を2回繰り返すためのスクリプトを次に示します。
#!/bin/bash
INPUTFILE=$*
PAGENUM=`pdftk ${INPUTFILE} dump_data | grep NumberOfPages | cut -d : -f 2 | cut -d " " -f 2`
PAGES=`seq 1 ${PAGENUM}`
DUPAGES=`for i in ${PAGES} ; do echo $i $i | tr "\n" " " ; done`
OUTPUT1=`basename ${INPUTFILE} .pdf`.dup.pdf
OUTPUT2=`basename ${INPUTFILE} .pdf`.double.pdf
pdftk ${INPUTFILE} cat ${DUPAGES} output ${OUTPUT1}
pdfjam --nup 1x2 ${OUTPUT1} --outfile ${OUTPUT2}
それは本当にエレガントではありません。 2回目のpdftk呼び出しなしで実行できますが、スペースを含むファイルでは機能しません。ただし、複数ページのPDFでは機能します。
PyPDFのソースコード、特にrotateClockwise()メソッドを確認してください。ページのコンテンツが書き込まれる場所が必要です。コンテンツの前に「q」演算子(状態を保存)と「cm」(スケーリングマトリックスの正しいパラメーターを使用)を挿入し、その後に「Q」演算子(状態を復元)を挿入します。
演算子の説明とページの構造については、 PDFドキュメント を参照してください(有用なリンクについては、下にスクロールしてください)。
PyPDFにパッチを送信することを忘れないでください:)
[編集] pdfnupコマンドを含む pdfjam sources を確認することもできます。
これは、サードパーティアプリからprnファイルでいっぱいのディレクトリを取得し、単一のマージされたpdfを作成するために使用するPerl関数です。
sub runMerged($)
{
my($path) = @_;
print "Generating merged PDFs for $path\n";
my @files = sort(getFiles($path, ".prn\$"));
if (scalar(@files))
{
open(MERGE, ">$path/merged.prn");
for (my $i = 0; $i < scalar(@files); $i++)
{
print MERGE "^L\n" if ($i > 0);
open(FN, "$path/" . $files[$i]);
while (my $line = <FN>)
{
print MERGE $line;
}
close(FN);
}
chdir("$BASE_PATH/txt2pdf");
print `./txt2pdf.pl $path/merged.prn`;
}
}
私はあなたと同じ問題を抱えていましたが、これが私がやったことです:
Adobe Acrobat XI Proを使用して、最初のドキュメントを開きます。編集し、「スナップショットを撮る」を選択してから、コピーしたいものの上隅をクリックして反対側の隅にドラッグします。ペイントで開いたきれいなシートを用意します。ペイントでクリーンシートをクリックし、Vキーを押して最初のドキュメントをクリーンシートに貼り付けます。ペイントシートで一時的に2番目のアイテムを1番目のアイテムの下に配置することを除いて、同じページで結合する2番目のアイテムに対して繰り返します。次に、2番目のアイテムをドラッグして、ペイントシートの必要な場所に配置します。ペイントシートファイルを保存すれば完了です!
今週も同様のニーズがありました。しかし、後でA3シート(ポートレート)でA4ページ(風景)を「2回」繰り返し、後で半分にカットする必要がありました。
多数の面付け機能を備えたAcrobatプラグインを見つけました。これは私のニーズにぴったりで、完全に機能する30日間の試用版です。
他の誰かに役立つことを願っています。
http://www.pdfsnake.com/