「PDF」タグアーカイブ

枚数抜きで 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/*

RSGB のアワード

以前アワードマネージャーの M0 なんとかにメールしても梨の礫だったが、今回別のページからアクセスするとイージーにフォームが得られた。
今年になってから一部のアワードで様式が変更になり、 JARL GCR が必要だった認識があったが、変更になった。
http://rsgb.org/main/operating/amateur-radio-awards/

IARU-Reg-1

実はこの手のフォーム入り PDF は見るのが初めてだった。
windows では入力エリアはライトブルーで色付けされている。
Acrobat DC で見ると、入力エリアと注釈だけが許可されているらしい。

Signed のところは Linux ではお手手カーソルになるが、クリックしても無反応。
恐らく win しか対応していないのであろうと win10 へ。
モチロンそんな署名 ID なんぞ持っているわけでないから新規作成。
「windows ID から作成」をクリックして名前とメールアドレスを入力。
「完了」から PDF へ戻ると電子署名が挿入されていた。

QSL リストは LOTW も有効になっていて、 LOTW の QSO ID を入れることになっている。
幸い IARU Region 1 Award は Class 2 が LOTW 63 で足りた。

もうひとつ Commonwealth Century Award も出そうと思ったが、 PDF に

QSLs cards (if applicable) have been verified by a local official of my national radio society.

とあるが、 JARL GCR の様式が PDF にも xls にもナイ。

LOTW で 62 持っているが 40 の class Bronze ではおもしろくナイ。
QSL 12 を加え class Silver としたい。
それでマネージャーに 12 枚をスキャンコピーで送りたいがと訊いたところ快諾してくれた。

EU のフィールドデイへの参加でアワードチェックは週末が明けたらとの話だった。
承認されれば RSGB ショップへ行って電子アワード 2.5 ポンドを払うことになる。

このような LOTW が活かせるアワードが増えてくれれば、 LOTW 獲得にもチカラが入る。
黒点ゼロばっかりじゃ若干意欲も萎え気味になる。