「PDF」タグアーカイブ

ブラザー・プリンター (2)

顔料 4 色機であるから、写真画質が忠実でないのは致し方ない。
価格.com レビューに「pdf を直接プリントすると縮小される」というのが気になった。
ハガキサイズ 148 x 100 フチナシのカードデザインをプリントしたら 141 x 41 になってしまった。 win ではブラザーのアプリからプリントすればマトモになるらしい。

そこで win はどんなことしてるんだろうと調べた。「フチナシ印刷」。
すると A4 では US レターサイズを指定させていた。
それで改めて Linux 側の設定を見ると Postcard Borderless って用紙区分がある。
ナルホド、じゃ、それを試してみよう。「ナヌッ」 確かにフチナシ印刷にはなっている。
しかし天地左右が 2mm ずつ切れてしまっていた。左端から 2mm くらいのところにコールサインを置いたデザインだったからテキメンにわかる。
「お前、そうじゃないだろう」、フツーの写真ならゴマカシも効くだろう。

斯くしてフチナシの必要が出たときには Epson 機に働いてもらわなければならない。

枚数抜きで pdf ファイルを作ってしまった

ときには片面のカードが 10 枚も遭ったりすると、qsl 枚数は熟しているのにファイル数は 1 しか増えない。
baobab はフォルダ数もカウントするから、500 アイテムあってもそこからサブフォルダ数を引いたのがファイルっ数になる。でもカードは 700 を超えているハズと思う。
そこで pdf のページ数を調べなくってはならない。単体なら pdfinfo でわかる。

LibreOffice でもマクロでできるらしいが、フォルダのファイル群から取得するというのは見当たらなかった。
そこで ChatGPT に相談した。こちらは特定フォルダから、ファイラーを開かずにサブフォルダ名を入力して、ページ数を得たかった。

import os
import PyPDF2

def count_pages(pdf_path):
    with open(pdf_path, 'rb') as pdf_file:
        pdf_reader = PyPDF2.PdfFileReader(pdf_file)
        return pdf_reader.numPages

def process_subfolders(root_folder):
    for subdir, _, files in os.walk(root_folder):
        for filename in files:
            if filename.endswith('.pdf'):
                pdf_path = os.path.join(subdir, filename)
                page_count = count_pages(pdf_path)
                print(f'ファイルパス: {pdf_path}, ページ数: {page_count}')

if __name__ == "__main__":
    relative_folder = input("基準フォルダの相対パスを入力してください: ")
    base_folder = os.path.join("/home/NAME/Documents/XYZ", relative_folder)
    
    if os.path.exists(base_folder):
        process_subfolders(base_folder)
    else:
        print("指定されたフォルダは存在しません。")

で ChatGPT は python count_pages.py と走らせればよいと言った。
が、python3 がインストールしてあるので、python3 count_pages.py とした。
しかし、出力はタイムスタンプのようで、参照するには使いにくい。

$ python3 count_pages.py | sed -e "s/基準フォルダの相対パス を入力してください: //" | sort -k 2 -t ' '

とすれば、ファイル名ソートされて出てくる。

どうせならソートまで python で完結させたいともう一度 ChatGPT に相談。

import os
import PyPDF2

def count_pages(pdf_path):
    with open(pdf_path, 'rb') as pdf_file:
        pdf_reader = PyPDF2.PdfFileReader(pdf_file)
        return pdf_reader.numPages

def process_subfolder(base_folder, subfolder_name):
    subfolder_path = os.path.join(base_folder, subfolder_name)
    pdf_files = []  # ファイル情報を保存するリスト
    for filename in os.listdir(subfolder_path):
        if filename.endswith('.pdf'):
            pdf_path = os.path.join(subfolder_path, filename)
            page_count = count_pages(pdf_path)
            pdf_files.append((pdf_path, page_count))  # ファイル情報をリストに追加

    # ファイル名でソート
    pdf_files.sort(key=lambda x: x[0])

    for pdf_info in pdf_files:
        pdf_path, page_count = pdf_info
        print(f'ファイルパス: {pdf_path}, ページ数: {page_count}')

if __name__ == "__main__":
    base_folder = "/home/NAME/Documents/XYZ"  # 基準フォルダのパス
    subfolder_name = input("サブフォルダ名を入力してください: ")
    process_subfolder(base_folder, subfolder_name)

と結果を得た。

これで枚数を引数としたファイル名にリネームすれば、カード枚数もカウントできるだろう。

pdf アイコンをサムネイルに – nautilus

ここ暫くディジタル・アワードをダウンロードすることが多くなってきた。 今や 1,600 枚を超えた。
ダウンロードするのはいいが、 目に付いたのが最近のものが須らく Adobe の pdf アイコンになってしまっていることだ。
win では右クリックメニューにサムネイル表示があるらしいのだが、 こちらの nautilus にそんなものはナイ。
Dolphin だの MATE の caja だのも試してみるが、 全く変わらない。 caja は MATE デスクトップでないと動作しないが。

pdf アイコンがいっぱい

jpeg でダウンロードすればという問題ではない。
YB の 7I1TI, 8H11TS, 8G110JPR, 8A602K といった記念局は A5 サイズ pdf の QSL であるから。

もう少しで Ubuntu Focal が出る時期ではあるが、 Nautilus で pdf ファイルのサムネイル表示ができてないことに気づいた。
検索しても日本語サイトも英語サイトも .cache/thumbnail を削除という情報しかなかった。
モチロン、 ソレを実行しても改善しないからクマったものだ。 実行権がないというのはソレ以前の問題だが。

検索して二ページ目、Ubuntu 18.04 – Solve Nautilus という文字が目に入った。
Nikolas Bermaerts 氏が作成したスクリプトをインストールしてから、 サムネイル・キャッシュを削除するというものだった。

$ sudo wget -O /usr/local/bin/bwrap https://raw.githubusercontent.com/NicolasBernaerts/ubuntu-scripts/master/nautilus/bwrap
$ sudo chmod +rx /usr/local/bin/bwrap
// サムネイル・キャッシュを削除
$ rm --recursive --force $HOME/.cache/thumbnails/*