輪郭を失うことなくPDFに余白(右側)を追加しますか?

輪郭を失うことなくPDFに余白(右側)を追加しますか?

既存のPDFをインポートしてサイズをより広くし(スペースを追加)、マイグラフィックタブレット(Xournal ++に読み込まれている)を使用して手描きのコメントを追加できます。

これまで、私はpdfcropを通してこれを行う方法を見つけました。

pdfcrop --margin '0 0 400 0' in.pdf out.pdf

ただし、右側にアウトライン/ブックマークセクションはありません。

誰もが解決策を知っていますか?
(Linux app / cmdが優先されますが、知っている人がいる場合は、オンラインまたはwindows / osxツールを参照できます。)

答え1

コメントする評判が足りないので、ここでYutaの答えを広げたいです。余白を追加するには、次のコマンドを使用します。pdfcrop利益:

pdf-crop-margins -o out.pdf -p 100 -a4 $left $bottom $right $top in.pdf

単位はBP(= 1/72インチ)です。正の数は余白を減らし、負の数は余白を拡張します。たとえば、右マージンを1インチ拡張するには、を使用します-a4 0 0 -72 0

pdfCropMarginsがない場合、-p 100パラメータの絶対オフセットを適用する前に、元の余白が常に10%に減少しますa4

答え2

[作家]

多くの研究の終わりに、[1] Linuxで動作するツールが見つかりました。無料で試すことができますが、50ドルのライセンスが必要だと思います。私はこれを使ってPDFに余白を追加し、概要を保存することができました。

無料ツールが見つかりませんでした。誰でもそれを見つけたら、追加の回答を投稿していただければ幸いです。

同じ問題を抱えている人に役立つ場合は、私が使用するツールはMaster PDF Editorです。

https://code-industry.net/masterpdfeditor/

ドキュメント->ページレイアウト->「幅」。

(RHEL / Fedoraでこれを行うには、qt5-qtsvgライブラリをインストールする必要がありました。)

[1]私が試したLinuxツール:
(によるとhttps://www.tecmint.com/best-pdf-page-cropping-tools-for-linux/)

  • ブリス - 利益は拡大することができず、縮小するだけです。
  • pdfcrop - 拡張できますが、目次が失われます(質問に記載されているように)。
  • Pdf Shuffler - 切り捨てずにページを再配置/削除するだけです。
  • Evince/Okular - ページレイアウト/トリミングを編集できないようです。
  • pdf-quench - 正しく動作しません。
  • KCrop - ページを小さくすることはできますが、大きくすることはできません。

答え3

pip install pdfCropMargins
pdf-crop-margins sample.pdf -o sample_cropped.pdf

上記は私にとって効果的です。sample.pdf輪郭を失うことなく切り取ることができます。余裕を追加する必要はありませんでした。

答え4

スクリプトはまず A4 形式の一時 PDF を生成し、ページに適合することを確認します。次に、幅を増やし、コンテンツを左に移動してサイズを変更します。必要に応じてパラメータを自由にカスタマイズしてください。

#!/bin/bash

# Check if an input PDF file is provided as an argument
if [ $# -ne 1 ]; then
    echo "Usage: $0 <input.pdf>"
    exit 1
fi

input_pdf="$1"

# Check if the input PDF file exists
if [ ! -f "$input_pdf" ]; then
    echo "Error: The input PDF file '$input_pdf' does not exist."
    exit 1
fi

# Extract the base name of the input file (without the extension)
inputname=$(basename "$input_pdf" .pdf)

# Create temp_a4.pdf
gs -o temp_a4.pdf -sDEVICE=pdfwrite -sPAPERSIZE=a4 -dPDFFitPage -f "$input_pdf"

# Wait for temp_a4.pdf to be created
while [ ! -f temp_a4.pdf ]; do
    sleep 1
done

# Create output.pdf with increased width and content translated to the left
gs -o "${inputname}-wide.pdf" -sDEVICE=pdfwrite -dDEVICEWIDTHPOINTS=595 -dDEVICEHEIGHTPOINTS=1100 -dFIXEDMEDIA -dPDFFitPage -c "<</Install {0 0 translate 0 -150 translate}>> setpagedevice" -f temp_a4.pdf


# Cleanup temp_a4.pdf
rm temp_a4.pdf

echo "Output PDF: ${inputname}-wide.pdf"

使用法:必要に応じてスクリプト名(ae addwidth.sh)を変更します。実行:sh ./addwidth.sh input.pdf

関連情報