web-dev-qa-db-ja.com

配布資料としてPDF

PDFプレゼンテーションを次のレイアウトで印刷したい:

laouyt

このレイアウトを実現するためのツールはありますか?残念ながら、プレゼンテーションはPDF(つまり、PowerPoint、OpenOffice、またはTeXファイルはありません)としてのみ利用可能です。

2
Ted

PDFtk CLIツール(Ubuntuリポジトリに含まれています)とどちらかを標準で直接使用して行うことができますPDFリーダーEvince、または PDFjam を使用しますが、LaTeXのインストールが必要です。DebianSidでは、PDFjamは現在texlive-extra-utilsパッケージに含まれています。

どちらの場合も考え方は似ています。 PDFtkとEvinceのみの場合:

  1. lines.pdfを作成します。これは(横向き)PDFで、書き込み用のラインガイドで構成されています。
  2. pdftkを使用して、配布資料を1ページにバーストします。
  3. 新しいPDFを作成します。ここで、奇数ページはすべて配布資料からの連続ページであり、偶数ページはすべてlines.pdfのインスタンスです。
  4. EvinceでPDF)を開き、シートごとに数ページを印刷することを選択します(6、横向きモード)。

これが私がこのように働くようになることができる簡単な試みです。プレゼンテーションの場合と同様に、入力ファイルが横向きモードであると想定していることに注意してください。私のlines.pdfはInkscapeで数秒で作成されました(A4、横向き、キャンバス全体を埋めるテキストボックスを作成、サイズ100、アンダースコアで埋める)。

スクリプトを次のように保存します。 handout.sh、実行可能にし、PDFファイルを引数としてのみ呼び出します。

#!/bin/sh
usage() {
    cat <<-USAGE 1>&2
    usage: ${0##*/} [FILE]
    USAGE
    exit 1
}

[ $# -ne 1 ] && usage

if ! TMPDIR=$(mktemp -d); then
    printf 'error: could not create tempdir, aborting.\n' 1>&2
    exit 2
fi
# Clean everything up after closing Evince, or if the script is aborted.
trap 'rm -rf "$TMPDIR"' EXIT

LINES="$HOME/anteckningar/su-handout/lines.pdf"

HANDOUT="$TMPDIR/handout.pdf"

pdftk "$1" burst output "$TMPDIR/p%04d.pdf"

# Create PDF argument list with lines spliced in at every even position.
for p in $TMPDIR/*.pdf; do
    pdfs="$pdfs $p $LINES"
done

pdftk $pdfs cat output "$HANDOUT"
# Open Evince and print the file using wanted settings.
evince "$HANDOUT"

PDFjamを使用すると、ソリューションはユーザーにとってさらに簡単になります。上記のようにlines.pdfが必要であり、スクリプトを次のように変更できます。

#!/bin/sh
usage() {
    cat <<-USAGE 1>&2
    usage: ${0##*/} [FILE]
    USAGE
    exit 1
}

[ $# -ne 1 ] && usage

if ! TMPDIR=$(mktemp -d); then
    printf 'error: could not create tempdir, aborting.\n' 1>&2
    exit 2
fi
# Clean everything up after closing Evince, or if the script is aborted.
trap 'rm -rf "$TMPDIR"' EXIT

LINES="$HOME/anteckningar/su-handout/lines.pdf"

HANDOUT="$TMPDIR/handout.pdf"
HANDOUT_SIXUP="${HANDOUT%.pdf}-6up.pdf"

pdftk "$1" burst output "$TMPDIR/p%04d.pdf"

# Create PDF argument list with lines spliced in at every even position.
for p in $TMPDIR/*.pdf; do
    pdfs="$pdfs $p $LINES"
done

pdftk $pdfs cat output "$HANDOUT"
pdfjam-slides6up --frame false --outfile "$TMPDIR" "$HANDOUT"
evince "$HANDOUT_SIXUP"

これにより、PDFがすでに直接印刷用に正しくフォーマットされているEvinceセッションが開きます。これを変更して、結果を直接プリンターに送信することもできますが、ほとんどの場合、Evinceでプレビューを取得したいと思います。 。

2

LibreOffice これを行います。スライドをプレゼンテーションとして作成し、次のように[印刷]ダイアログを設定して、[ドキュメント:配布資料]および[ページあたりのスライド:3]を使用してスライドを印刷します。

LibreOffice Impress print dialog

1
Flup

プレゼンテーションをどのように作成しているのかはわかりません。すべてのまともなプレゼンテーションツールは配布資料を生成します。これはあなたが望むものです。

LibreOfficeとMicrosoftPowerPointの両方がこれを行います。

あなたの場合、スライドはPDF形式のみであり、メモ用のスペースを追加する必要があることを明確にしました。

簡単な方法は、まともなPDFリーダーツールを使用することです(私は使用したことがないので、Adobeリーダーでこれを実行できるかどうかはわかりません)。PDF-XChangeEditorを使用して、例を印刷できます。自動回転と自動中心がオンになっているファイルoff、これにより次のレイアウトが得られます。

enter image description here

そのため、スライドの下に書き込み用のスペースができます。まったく同じではありませんが、非常に簡単に作成できます。あなたはおそらくあなたの例に近づくためにそれをさらにいじることができます。背景画像または背景ページテンプレートのいずれかを使用して、線で囲まれたメモ領域を取得することもできます。

それ以上に進むには、PDFから各ページを抽出して再合成する必要があり、おそらく実際に保証されているよりも多くの作業が必要になります。

1
Julian Knight

LibreOfficeでPDFを開きます。LibreOfficeDrawで開く必要があります。

空のImpressプレゼンテーションを開始します。プレゼンテーションのページサイズをPDFのページサイズと一致するように変更します(アスペクト比だけでなく、実際の用紙サイズをミリメートル/インチで一致させます)。

Drawですべてのスライドを選択します。コピー(Ctrl-C)。

Impressに移動します。貼り付け(Ctrl-V)。

LibreOfficeテンプレートから空白のスライドを削除します。

うまくいけば、印刷できる編集不可能なプレゼンテーションができました。

0
Åsmund