「PDF」の版間の差分

提供:Turgenev's Wiki
(Notion-MW)
 
(Notion-MW)
9行目: 9行目:
<ul>
<ul>
<li><p>切り出し</p>
<li><p>切り出し</p>
<pre class="dummy_str_visual_basic">pdftk hoge.pdf cat 1 3-5 output fuga.pdf</pre></li></ul>
<syntaxhighlight lang="</syntaxhighlight></li></ul>">
visual basic pdftk hoge.pdf cat 1 3-5 output fuga.pdf ```


==== cpdf ====
==== cpdf ====
19行目: 20行目:
例えば、「1,5ページ目のサイズを縦横とも半分にして出力したい」ときは
例えば、「1,5ページ目のサイズを縦横とも半分にして出力したい」ときは


<pre class="dummy_str_javascript">cpdf input.pdf 1,5 -scale-page &quot;0.5 0.5&quot; -o output.pdf</pre>
<syntaxhighlight lang="javascript">cpdf input.pdf 1,5 -scale-page "0.5 0.5" -o output.pdf</syntaxhighlight>
とする。一方で、「1,5ページ目のサイズを縦横とも半分にして<strong>1, 5ページ目のみを</strong>出力したい」ときは
とする。一方で、「1,5ページ目のサイズを縦横とも半分にして<strong>1, 5ページ目のみを</strong>出力したい」ときは


<pre class="dummy_str_javascript">cpdf input.pdf 1,5 AND -scale-page &quot;0.5 0.5&quot; -o output.pdf</pre>
<syntaxhighlight lang="javascript">cpdf input.pdf 1,5 AND -scale-page "0.5 0.5" -o output.pdf</syntaxhighlight>
のように<strong>AND</strong>を入れるといいっぽい。
のように<strong>AND</strong>を入れるといいっぽい。


38行目: 39行目:
Shift+Enterで次に移動できるようにするためにAutoHotKeyで
Shift+Enterで次に移動できるようにするためにAutoHotKeyで


<pre class="dummy_str_javascript">#IfWinActive ahk_class AcrobatSDIWindow
<syntaxhighlight lang="javascript">#IfWinActive ahk_class AcrobatSDIWindow
+Enter::^+G
+Enter::^+G
#IfWinActive</pre>
#IfWinActive</syntaxhighlight>
と書いて起動しておく
と書いて起動しておく



2023年11月24日 (金) 11:08時点における版

pdfを扱う方法について。

pdftkとcpdf

pdftkは有能だが、cpdfはさらに強い

pdftk

  • 切り出し

    </li></ul>">
    visual basic pdftk hoge.pdf cat 1 3-5 output fuga.pdf ```
    
    ==== cpdf ====
    
    非商用に限り[https://community.coherentpdf.com/ https&#58;//community.coherentpdf.com/] このcommunityバージョンが無料で使える
    
    概要は[http://pdf-file.nnn2.com/?p=892 http&#58;//pdf&#45;file.nnn2.com/?p&#61;892] 、具体的なコマンド例は [http://pdf-file.nnn2.com/?p=1025 http&#58;//pdf&#45;file.nnn2.com/?p&#61;1025] など参照
    
    例えば、「1,5ページ目のサイズを縦横とも半分にして出力したい」ときは
    
    <syntaxhighlight lang="javascript">cpdf input.pdf 1,5 -scale-page "0.5 0.5" -o output.pdf

    とする。一方で、「1,5ページ目のサイズを縦横とも半分にして1, 5ページ目のみを出力したい」ときは

    cpdf input.pdf 1,5 AND -scale-page "0.5 0.5" -o output.pdf
    

    のようにANDを入れるといいっぽい。

    • -remove-fontsで埋め込みフォントを除去できる。ただしAcrobat Readerでの表示とかはかなりおかしくなる(Chromeならいけてたりする)

    Adobe reader

    • 「文書」メニューの前回のビュー設定を復元をしておくとよい。これをクラウドで共有できたりすると便利かもしれないができるかどうか不明。→ https://superuser.com/questions/83935/pdf-where-does-acrobat-reader-save-information-about-last-view-settings によると レジストリの HKCU\Software\Adobe\Acrobat Reader\9.0\RememberedViewsにあるらしい。見てみたら今は \HKEY_CURRENT_USER\Software\Adobe\Acrobat Reader\DC\RememberedViewsっぽい。15ファイルが上限?Recent自体は100個保存してるみたいだが

    上書き保存なのに毎回ダイアログが出て不快。設定から「ファイルを保存するときにオンラインストレージを表示」を外すと良い(というよりマシな)感じになる(無駄なクリック数が減る)。保護モードを解除すれば即座に上書き保存できるようだが、セキュリティリスクがありそうなのでやめておいた。

    Alt+方向キーで進む戻るはできるが、Logicoolのマウスの進む戻るは効かなかったので、Logicool Optionsをインストールしてアプリケーション個別の設定をした

    Shift+Enterで次に移動できるようにするためにAutoHotKeyで

    #IfWinActive ahk_class AcrobatSDIWindow
    +Enter::^+G
    #IfWinActive
    

    と書いて起動しておく

    暗号化(編集の禁止)の解除

    qpdfで--decryptをする

    結合

    pdftk *.pdf cat output out.pdf compress

    compressはなくてもいい気がする。あるとサイズが増えることさえあった(?)

    圧縮

    https://zat.ifdef.jp/html/2010/09-17.html

    ghostscriptの/defaultがかなりよさそう?

    重ね合わせ

    pdftkなら(multi)stamp/background https://satiseni.hateblo.jp/entry/2020/07/28/105907 ただ、全文検索ができない? (他の2つはできた)

    qpdfだと--underlayとか--overlay

    cpdfならstamp-onとかcombine-pages https://www.coherentpdf.com/cpdfmanual/cpdfmanualch8.html

    PDF/Aへの変換

    https://stackoverflow.com/questions/1659147/how-to-use-ghostscript-to-convert-pdf-to-pdf-a-or-pdf-x

    しおり(table of contents)

    https://superuser.com/questions/311388/how-can-the-table-of-contents-in-a-pdf-file-be-edited によるとJPdfBookmarksがよさそうだった(使ってみたが実際よかった、GPLだし)、pdfModとかいうのもいつか使ってみるかも

    JPdfBookmarks

    しおり情報をdumpしたファイルを編集するとよい、open/closedというのはしおりが折りたたまれているべきかどうかを指定するっぽい

    FitPageにするとジャンプしたときに必ずビューアの表示サイズが調整されて1ページが画面に収まるよう変更されてしまう。FitWidthだと「幅に合わせる」になる。直したいときはTopLeftZoom,0,0,0.0 にするとよい。ただし手間がかかるし、普通に全画面で見るならそこまで不便はないかも。

    あと普通にpdftkも使えるっぽい(djvuのところでも引用したhttps://bobbielf2.github.io/blog/2017/04/11/preserve-the-table-of-contents-when-converting-a-book-from-djvu-to-pdf/など参照)

    PDF→SVG

    pdftocairoというのがlatexに入っている。ここも参照。

    pdftocairoを呼び出す設定をVSCodeのLaTeX拡張に書けばよい。 LaTeX を参照。

    あと、Inkscapeでもできるはず。

    djvuの表示、pdfへの変換

    djvulibreを入れる(Winもある)

    bookmarkに関してはhttps://bobbielf2.github.io/blog/2017/04/11/preserve-the-table-of-contents-when-converting-a-book-from-djvu-to-pdf/ にあるPythonコードを改変したものを用いる

    OCR

    ocrmypdfを使おう

    OCRデータだけにする

    ghostscriptを使うと画像とアウトラインデータを消せるので実質的に不可視テキストだけになる https://askubuntu.com/questions/477663/how-to-remove-images-from-a-pdf-file