Pdf.js: ドキュメント情報に用紙サイズを追加する

作成日 2016年02月15日  ·  29コメント  ·  ソース: mozilla/pdf.js

ドキュメント情報に用紙サイズを追加することは可能ですか?

これは、ドキュメントがレターサイズとA4用紙サイズのどちらを使用しているかを知るために重要です(とりわけ)。

1-viewer 2-feature

最も参考になるコメント

私はコーディングできないので、経験豊富なコーダーがより良いアドバイスを与えるかもしれません。

コアコントリビューターは、この問題に対処する方法についてオープンマインドを持っていると確信しています。 ここでの主な懸念事項は、ソリューションが複雑であってはならず、プロジェクトの将来のメンテナンスに負担をかけないことです。

個人的には、最初のステップとして、「適切な」名前を付けずにページサイズ情報を追加するだけで(ローカライズを回避するため)、おそらく(自動)ユニットを検出します。 2番目のステップは、ページサイズの名前と向きについての議論です。

全てのコメント29件

また、ポートレート/風景を含めることはできますか?

複数のページサイズ/向きが使用されている場合、つまり、一部のページがA4縦向きであるが、一部はA3横向きである場合、予想される動作は何ですか? 他の視聴者はどのようにそれを行いますか?

また、国際化とローカリゼーションに対処する必要があります。

  • 「A4」または「レター」を翻訳する必要があります
  • 米国の場合、10cm×15cmはインチ単位です。

再:回転。 PR8043が私のために何をするかをチェックします。 それは私の問題を解決するかもしれません。 PR 8043と#6103を正しく読む必要があるようです。また、これらの修正が適用された最新リリースであることを確認してください。

再:マルチサイズ。 印刷バックエンドが、印刷出力を複数の印刷ジョブに分割せずにサポートしている場合は、Dunno。 印刷ジョブを分割しない場合は、適切なオプションとして「最大で印刷」または「最小に拡大縮小」があります。

Cupsには、すべての印刷ジョブにメディアサイズのヘッダーが含まれているため、私が知る限り、LinuxとMacOSは印刷ジョブごとに1つのサイズに制限されています。

再:ローカリゼーション。
プリンタには、可能な用紙サイズと使用可能な用紙サイズのリストがあります。
OSの印刷ダイアログは、ユーザーのロケールとプリンターのリストを認識しています。
OSの印刷ダイアログは元のサイズを認識していません。
PDFビューアはロケールを認識していますが、プリンタのリストは認識していないため、使用可能な用紙のリストは認識していません。
PDFビューアは、元のPDFサイズを認識しています。
pdfジェネレーターはサーバーとクライアントのロケールを認識しています。
ユーザーは「pcloadletter」が嫌いです

再:回転。 PR8043が私のために何をするかをチェックします。
再:マルチサイズ。 印刷バックエンドが印刷出力を分割せずにそれをサポートしている場合は、Dunno。
再:ローカリゼーション...プリンタには、可能な用紙サイズと使用可能な用紙サイズのリストがあります...

@berenddeschouwer上記のいずれもOPに関連しているとは思わない

複数のページサイズ/向きが使用されている場合、つまり、一部のページがA4縦向きであるが、一部はA3横向きである場合、予想される動作は何ですか? 他の視聴者はどのようにそれを行いますか?

@ timvandermeij 、SumatraPDFは、参照されたページ(ツールバーに番号が表示されているページ)のサイズを表示します。

また、国際化とローカリゼーションに対処する必要があります。

  • 「A4」または「レター」を翻訳する必要があります
  • 米国の場合、10cm×15cmはインチ単位です。

@yurydelendikA4を翻訳する必要はないと思います。

そして私が知る限り、ページの寸法はPDFドキュメント内のポイントで指定されます。 したがって、PDF.jsはOSのデフォルトの寸法単位を使用する必要があります。

@ousia https://github.com/mozilla/pdf.js/blob/master/test/pdfs/sizes.pdfのドキュメントの予想ページサイズはどれくらいですか?

@ousia https://github.com/mozilla/pdf.js/blob/master/test/pdfs/sizes.pdfのドキュメントの予想ページサイズはどれくらいですか?

@yurydelendik 、あなたの質問がわかりません。

サイズは、ドキュメントではなく、実際のページに関連するプロパティです。

PDF用語では、 /MediaBox/Catalogではなく、 /Pageディクショナリのエントリです( /Pagesはそこのエントリです)。

あなたが言及する文書のページサイズはどれですか?

_Acrobat Reader_は、表示されているページのサイズを表示します。 ここにあります。

pageone

pagetwo

pagethree

この情報を提供していただきありがとうございます! これが明確になったので、これを実装するのは良いことだと思います。 それほど難しくないはずなので、これを初心者向けの良いバグとしてマークしています。

誰も取り組んでいない場合は、これをノックアウトできます。

@loganhuskinsそれはあなたのものです!

私はかなり近いと思います。 getPagesOverview()からbase_viewer getPagesOverview()を使用したいと思います。

import { BaseViewer } from './base_viewer';pdf_document_propertiesにインポートしてから、表示する予定のpageSize値の値としてBaseViewer.getPagesOverview()[0]を実行する必要がありますか? これはどういうわけか機能していないようです。この情報を取得するために再利用できる他のutilメソッドはありますか。 ローガンからこれを乗っ取ってすみません。

仕事に追われてしまったので、これを引き継いでくれれば大丈夫です。

こんにちは、
これはあなたがやろうとしていることですか?

compressed tracemonkey pldi 09 pdf

@ linton-Portman、その場合は_Letter、portrait_を追加するとよいでしょう。

つまり、標準の用紙サイズでは、標準の用紙名を指定すると便利です。

_Evince_の機能をご覧ください。

evince-properties

そして_SumatraPDF_:

sumatrapdf-properties

つまり、標準の用紙サイズでは、標準の用紙名を指定すると便利です。

つまり、これらすべての名前を適切にローカライズする必要があります。 人気のある用紙サイズの短いリストはありますか?

こんにちは、
私がこれまで読んだことから、違いは用紙サイズにあります(米国のレター= 8.50 x11.00インチと英国のA4 = 8.26 x 11.69インチ)...私がそれにアプローチしようとしていた方法は、一連のif / elseステートメントを使用していましたこれらのサイズをチェックします。 次に、これにより、表示されるテキストが決まります。これらのサイズを使用することで、縦向きか横向きかを判断することもできます。

これは、対応する用紙サイズの数に応じて、多くのif / elseステートメントになります。
私は初心者/初心者なので、もっと良い方法があるかもしれません:)

a4 portrait pdf
letter portrait pdf

A4サイズはmmで表す方がよいことに注意してください(例:210mm x 297mm)。

@yurydelendikそうそう、私もそうすることができます。

ここにリストがあります(私はConTeXtから適応しました)。

標準的なヨーロッパの用紙サイズ:

[A0] [幅= 841mm、高さ= 1189mm]
[A1] [幅= 594mm、高さ= 841mm]
[A2] [幅= 420mm、高さ= 594mm]
[A3] [幅= 297mm、高さ= 420mm]
[A4] [幅= 210mm、高さ= 297mm]
[A5] [幅= 148mm、高さ= 210mm]
[A6] [幅= 105mm、高さ= 148mm]
[A7] [幅= 74mm、高さ= 105mm]
[A8] [幅= 52mm、高さ= 74mm]
[A9] [幅= 37mm、高さ= 52mm]
[A10] [幅= 26mm、高さ= 37mm]

標準的なヨーロッパのあまり一般的でない用紙サイズ:

[B0] [幅= 1000mm、高さ= 1414mm]
[B1] [幅= 707mm、高さ= 1000mm]
[B2] [幅= 500mm、高さ= 707mm]
[B3] [幅= 353mm、高さ= 500mm]
[B4] [幅= 250mm、高さ= 353mm]
[B5] [幅= 176mm、高さ= 250mm]
[B6] [幅= 125mm、高さ= 176mm]
[B7] [幅= 88mm、高さ= 125mm]
[B8] [幅= 62mm、高さ= 88mm]
[B9] [幅= 44mm、高さ= 62mm]
[B10] [幅= 31mm、高さ= 44mm]

標準のヨーロッパの封筒サイズ:

[C0] [幅= 917mm、高さ= 1297mm]
[C1] [幅= 648mm、高さ= 917mm]
[C2] [幅= 458mm、高さ= 648mm]
[C3] [幅= 324mm、高さ= 458mm]
[C4] [幅= 229mm、高さ= 324mm]
[C5] [幅= 162mm、高さ= 229mm]
[C6] [幅= 114mm、高さ= 162mm]
[C7] [幅= 81mm、高さ= 114mm]
[C8] [幅= 57mm、高さ= 81mm]
[C9] [幅= 40mm、高さ= 57mm]
[C10] [幅= 28mm、高さ= 40mm]

CDカバー用紙サイズ:

[CD] [幅= 120mm、高さ= 120mm]

アメリカの標準的な用紙サイズ:

[文字] [幅= 8.5インチ、高さ= 11インチ]
[元帳] [幅= 11インチ、高さ= 17インチ]
[タブロイド紙] [幅= 17インチ、高さ= 11インチ]

[リーガル] [幅= 8.5インチ、高さ= 14インチ]
[フォリオ] [幅= 8.5インチ、高さ= 13インチ]
[エグゼクティブ] [幅= 7.25インチ、高さ= 10.5インチ]

封筒のさまざまなセット:

[封筒9] [幅= 8.88インチ、高さ= 3.88インチ]
[封筒10] [幅= 9.5インチ、高さ= 4.13インチ]
[封筒11] [幅= 10.38インチ、高さ= 4.5インチ]
[封筒12] [幅= 11.0インチ、高さ= 4.75インチ]
[封筒14] [幅= 11.5インチ、高さ= 5.0インチ]
[君主] [幅= 7.5インチ、高さ= 3.88インチ]
[チェック] [幅= 8.58インチ、高さ= 3.88インチ]
[DL] [幅= 110mm、高さ= 220mm]
[E4] [幅= 280mm、高さ= 400mm]

向きが縦向きか横向きかを追加すると便利だと思います。

@ linton-ポートマン、あなたのスクリーンショットにあるものから、私は質問があります:

次の情報はもっと良いのではないでしょうか?

Letter, portrait (8.5  × 11 in)

つまり、これらの次の適応:

  • 最初に紙の名前を使用してください。

  • 続いて_portrait_または_landscape_。

    ところで、前の区切りがコンマの場合、単語は小文字で始める必要があると思います。

  • 括弧内に寸法を記入してください。

    • (_x_の代わりに)適切なUnicode記号_×_を使用することをお勧めします。

    • どの用紙サイズがどの寸法を必要とするかは、前のリストで指定されています。

    • 長さの単位(この場合は_in_または_mm_)には略語を使用する方がよいと思います。

それが不可能な場合は、_portrait_または_landscape_を括弧内に配置する必要があります。

あなたの貢献に感謝します。

@ linton-Portman、 switchすることは、 if... elseステートメントのより良い代替手段かもしれません。

私はコーディングできないので、経験豊富なコーダーがより良いアドバイスを与えるかもしれません。 (私はあなたの質問に答えなかったので、単に答えました)。

ここにリストがあります(私はConTeXtから適応しました)。

そのすべてを翻訳する必要があります。 個人的には、最もよく使われるページサイズを5〜10個見つけて、名前を付けることを好みます。

文字、縦向き(8.5×11インチ)

そのため、「8.5インチ×11インチ、文字/ポートレート」または「100mmx200mm」の方が適している可能性があります。

(xの代わりに)適切なUnicode記号×を使用することをお勧めします。

はい、しかしそれは特定の文化のローカライザー次第でもあります

私はコーディングできないので、経験豊富なコーダーがより良いアドバイスを与えるかもしれません。

コアコントリビューターは、この問題に対処する方法についてオープンマインドを持っていると確信しています。 ここでの主な懸念事項は、ソリューションが複雑であってはならず、プロジェクトの将来のメンテナンスに負担をかけないことです。

個人的には、最初のステップとして、「適切な」名前を付けずにページサイズ情報を追加するだけで(ローカライズを回避するため)、おそらく(自動)ユニットを検出します。 2番目のステップは、ページサイズの名前と向きについての議論です。

2ヶ月くらいここで連絡がないのでやってみました。 私が前に尋ねるべきだったかどうか謝罪します。
PRは、開始点であるptでページサイズビューを追加します。 次のステップ(ここで説明するように)は、これらをcm / mm / inch / ...に変換し、一致する標準のドキュメントサイズを見つけようとします。 これらの両方は、このPRでは実装されていません。

上記のプルリクエストは、この機能のほとんどを実装しました。 まだやるべきことは、最初のページだけでなく、現在表示されているページのページサイズを表示することです。 オプションで、文字/ポートレートとデフォルトのページサイズ(A4など)を追加できますが、この問題を解決するために必須とは思われません。

#9577でさらに改善が行われ、現在表示されているページのページサイズの表示も実装されました。 この問題では、文字/縦向きとデフォルトのページサイズのみが残ります。

最後の部分は、上記のプルリクエスト(ページの向きとページサイズの名前)によって実装されます。 修正されたとおりに終了します。

このページは役に立ちましたか?
0 / 5 - 0 評価