Rylai PDF は何をしますか?
RylaiによるオリジナルのCodex-Hermes-Claudeスキル。
ローカルファイルと決定論的ツールを使用します。ユーザーが明示的にインプレース置換を要求しない限り、元の文書を保持します。パスワードを勝手に生成したり、認証情報を埋め込んだり、直接の承認なしに文書を外部サービスにアップロードしたりしないでください。
ランタイム
Python 3と以下を使用します:
pypdf:ページレベルの検査と編集。pdfplumber:より高品質なテキスト抽出が必要な場合。pypdfium2またはPopplerpdftoppm:オプションのページレンダリング。- LibreOffice:OfficeソースをPDFに変換する場合のみ。
インストール前にプローブします:
python -c "import pypdf; print(pypdf.__version__)"
python -c "import pdfplumber; print(pdfplumber.__version__)"
不足しているPythonパッケージのみをインストールします:
python -m pip install pypdf pdfplumber pypdfium2
scripts/rylai_pdf.pyをこのスキルディレクトリからの相対パスで解決します。
ワークフロー
- 入力パス、要求された操作、出力パス、ページ範囲を確認します。
- 未知のPDFや暗号化されたPDFを編集する前に、
infoを実行します。 - 新しい出力パスに書き込みます。置換が意図されている場合のみ
--forceを使用します。 - 結果を再度開き、ページ数、メタデータ、該当する場合は抽出テキストを確認します。
- レイアウトに敏感な作業の場合は、代表的なページをレンダリングし、PNG出力を検査します。
- Poppler、LibreOffice、OCR、またはその他のオプションの依存関係がない場合は、スキップしたチェックを報告します。
有用なテキストレイヤーがないスキャン済みページには、利用可能なローカルOCRエンジンを使用します。元のPDFを保持し、使用したOCRツールと言語モデルを明記します。
バンドルCLI
検査:
python scripts/rylai_pdf.py info input.pdf
選択したページの抽出:
python scripts/rylai_pdf.py extract input.pdf output.txt --pages 1-3,7
マージ:
python scripts/rylai_pdf.py merge output.pdf first.pdf second.pdf
選択したページを個別のファイルに分割:
python scripts/rylai_pdf.py split input.pdf output-pages --pages 2-5
選択したページを時計回りに回転:
python scripts/rylai_pdf.py rotate input.pdf rotated.pdf 90 --pages 1,3
ローカルのPDFiumまたはPopplerでレンダリング:
python scripts/rylai_pdf.py render input.pdf rendered-pages --dpi 144
ユーザーがその文書のパスワードを提供した場合のみ--passwordを追加します。
品質基準
- 出力は修復警告なしで開くこと。
- ページ順序、枚数、回転、選択範囲がリクエストと一致すること。
- 抽出テキストが黙って空にならず、スキャン済みページが識別されること。
- レンダリングされたページに予期しないクリッピングや空白出力がないこと。
- ソースファイル、一時ファイル、パスワード、ユーザーパスがスキルにバンドルされないこと。