ドキュメント · PDF ツールキット
ブラウザでのページ範囲による PDF の分割: 仕組み
· 仕組み
pdf ページ範囲 ブラウザ処理
3-7 のようなページ範囲は、多くの影響を伴う小さな命令です。この投稿では、ブラウザー ツールがその範囲を新しい自己完結型 PDF に変換する方法と、出力が予想よりも大きくなったり小さくなったりすることが多い理由について説明します。
1 つの長いスキャン、5 つの表示 - 単一の PDF がマシンから離れずに複数のファイルになる必要がある一般的な状況
スキャンされた契約書は、その展示物が別のレビュー担当者に送られる必要がある場合でも、1 つの長いファイルとして届くことがよくあります。スプリッターは 1 つの PDF から 50 MB までを受け入れ、それを現在のタブに読み取り、コントラクトをアップロード サービスに送信せずに、カンマで区切られた各範囲を個別の結果にします。
このワークフローは、主な契約として 1-18 ページ、スケジュールとして 19-25、署名として 26-40 ページを必要とするパラリーガルに適しています。ソースはそのまま残ります。この操作では、選択したページから新しいドキュメントが作成されるため、元のスキャンをアーカイブまたは配布する前に、すべての出力を確認することが重要です。
ページ範囲の解釈方法 — 物理ページ位置、包含範囲、および最初のページが「i」ラベルが付いている場合でもページ 1 である理由
範囲は物理的な位置を使用し、1 から始まります。印刷されたフッターに「i」と表示されているか、番号が含まれていない場合でも、ファイルの最初のページは 1 ページです。単純な数値で 1 ページを選択し、`2-6` の両端が含まれ、`8-` が最後に到達し、`-3` が 1 ページから始まります。
パーサーは、不正な形式のトークン、`7-2` などの逆スパン、および実際のページ数を超える位置を拒否します。カンマは、単に選択項目を結合するのではなく、出力を定義します。したがって、`1-3, 4-6` は 2 つのファイルを生成し、`1-6` は 1 つのファイルを生成します。重複する範囲は、共有ページを意図的に複数の部分にコピーします。
ページ ツリーのサブセットの抽出 - ツールが要求したページのみを含む新しいドキュメントを構築する方法
何かを書き換える前に、範囲パーサーは要求された各グループを 0 から始まるページ インデックスに変換します。次に、ワーカーはそのグループに対して新しい PDF を作成し、pdf-lib を使用して名前付きページをコピーし、結果をシリアル化します。名前のないページは他の場所に再配布されません。ギャップは、素材を省略するための有効な指示です。
ページのコピーでは、表示されているページ コンテンツ、寸法、既存の回転、選択可能なテキスト、およびそれらのページで使用されている埋め込み画像が保持されます。ブックマーク、ドキュメントレベルの添付ファイル、フォーム定義は再構築されません。各部分は新しいファイルであり、入力デジタル署名は、新しく書き込まれたバイトを認証しなくなりました。
各範囲が新しいドキュメントになると出力サイズが異なる理由
ワークブックは、サイズの違いを特に重複した共有リソースに帰属させますが、実装ではそのアカウンティングが公開されません。擁護可能な見解は、すべての範囲が新しい PDF として保存され、出力サイズをページ数に比例して分割する必要がないということです。スキャンされたページとベクター ページでは、伝送されるデータ量が大きく異なります。
PDF にはすでに圧縮ストリームが含まれているため、複数のパーツが圧縮されていないエントリとともに ZIP に配置されます。アーカイブにより配信が簡素化されます。圧縮パスではありません。結合されたエントリは、それぞれの保存サイズに近いままであることが期待されますが、分割によって大きな文書が大幅に小さくなるという保証はありません。
分割と抽出 — ファイルを複数の部分に分割する場合と、選択したページを 1 つの新しいファイルに取り込む場合と、それぞれがどの部分に収まるかを比較します。
分割して抽出することで、配送に関するさまざまな質問に答えます。 Split は、カンマで区切られた各グループを個別のドキュメントとして扱います。 Extract はページ リストを受け入れ、すべての名前付きページを 1 つの新しい PDF に書き込みます。複数の展示または章には分割を使用します。受信者が分散した位置から組み立てられた 1 つの簡潔なパケットを受信する必要がある場合は、extract を使用します。
この区別により、ダウンロードの形式も制御されます。 1 つの分割範囲は、`-part-1` サフィックスが付いた PDF を返します。 2 つ以上の範囲は `-split.zip` アーカイブを返します。 Extract は常に 1 つの `-pages.pdf` を返します。この操作を選択すると、申告期限直前に予期しないバンドルが作成されるのを意図的に回避できます。
作業例 — スキャンした 40 ページの契約書を署名ページ、スケジュール、本文に分割する
40 ページの契約書の場合、実際の仕様は `1-24, 25-34, 35-40` になる可能性があります。このツールは、3 つのグループすべてを 40 ページに対して検証し、書かれた順序で 3 つの新しい PDF を作成し、それらを 1 つの ZIP にパッケージ化します。部品番号は、シートに印刷されている元のページ番号ではなく、範囲の順序に従います。
ダウンロード後、すべてのパーツを開きます。本文が意図した位置で終了し、スケジュールが見出しから始まり、署名ページが正しい方向を保っていることを確認します。印刷されたラベルが物理的な位置と異なる場合は、分割を実行する前にオフセットを決定します。このツールは、実際に読み取ることができるページ ツリーの順序で動作します。
これでカバーされないもの — ブックマークまたは検出されたコンテンツによる分割。スキャンされたファイルの多くにはない構造が必要です。
このスプリッターは、ブックマーク、見出し、検出されたテキスト、または視覚的な区切り記号で分割しません。これらのリクエストには信頼性の高い構造またはコンテンツ認識が必要ですが、多くのソース スキャンにはページ画像しか含まれていません。また、アクセス制御をバイパスするのではなく、暗号化またはパスワードで保護された PDF を拒否します。まず、元のアプリケーションで認証されたコピーのロックを解除します。
OCR、コンテンツ分類、サーバー側履歴はありません。許容される最大値は入力 PDF の 50 MB ですが、実際の作業はさらにデバイス メモリによって制限されます。複雑なアーカイブ要件やアクセシビリティ要件は、ページレベルの選択が完了した後、専門のソフトウェアで検証する必要があります。
分割により、選択された各範囲がローカルに再構築され、ドキュメントレベルの構造が省略されます。
分割は、制御された再構築のシーケンスです。つまり、包含範囲を解析し、各グループを新しいドキュメントにコピーし、シリアル化し、必要に応じて複数の出力をパッケージ化します。これは、ドキュメント レベルのナビゲーションと署名が維持される一方で、ページの品質が維持される理由を説明しています。また、コンマが構造的な影響を与える理由も説明します。
PDF ツールキットは、デバイス上の Web ワーカーでこれらの変換を実行します。そのコードはドキュメント バイトを運ぶリクエストを行いませんが、同意された分析が正規の運用ホストに読み込まれ、ToolAcre イベントからファイル名とコンテンツが除外される可能性があります。その後ファイルをクリアしてバッファを解放し、ワーカーを終了します。このタブには、ダウンロードされなかった出力のリカバリ コピーが保持されないため、すべての範囲が開かれるまで ZIP を保持しておきます。ファイル名も確認してください。