Pdf.js: ajouter un format de papier aux informations du document

Créé le 15 févr. 2016  ·  29Commentaires  ·  Source: mozilla/pdf.js

Serait-il possible que vous ajoutiez du format de papier aux informations du document?

Il est important de savoir si le document utilise le format de papier Lettre ou A4 (entre autres).

1-viewer 2-feature

Commentaire le plus utile

Je ne peux pas coder, donc les codeurs expérimentés peuvent donner de meilleurs conseils.

Je suis sûr que les principaux contributeurs auront l'esprit ouvert sur la manière dont ce problème sera traité. La principale préoccupation ici est qu'une solution ne doit pas être complexe et ne pas alourdir la maintenance future du projet.

Personnellement, dans un premier temps, je voudrais simplement ajouter des informations sur la taille de la page sans "gentils" noms (pour éviter leur localisation), peut-être (auto) détecter les unités. La deuxième étape serait la discussion du nom et de l'orientation de la taille de la page.

Tous les 29 commentaires

Et peut-il inclure portrait / paysage?

Quel est le comportement attendu si plusieurs tailles / orientations de page sont utilisées, c'est-à-dire que certaines pages sont au format A4 portrait, mais certaines sont au format A3 par exemple? Comment les autres téléspectateurs font-ils cela?

et nous devons également faire face à l'internationalisation et à la localisation, par exemple

  • "A4" ou "Letter" doit être traduit
  • 10 cm × 15 cm sera en pouces pour nous

Re: rotation. Je vais vérifier ce que PR 8043 fait pour moi. Cela peut résoudre mon problème. Il semble que j'ai vraiment besoin de lire correctement PR 8043 et # 6103 et de m'assurer que je suis sur une version tardive avec ces correctifs appliqués.

Re: multi-taille. Je ne sais pas si des backends d'impression prennent en charge cela sans fractionner l'impression en plusieurs travaux d'impression. Si vous ne divisez pas le travail d'impression, vous avez "imprimer sur le plus grand" ou "mettre à l'échelle au plus petit" comme options sensées.

Cups inclut un en-tête de taille de support avec chaque travail d'impression, donc Linux et MacOS sont limités à une taille par travail d'impression, pour autant que je sache.

Re: localisation.
L'imprimante dispose d'une liste des formats de papier possibles et disponibles.
La boîte de dialogue d'impression du système d'exploitation connaît les paramètres régionaux de l'utilisateur et une liste d'imprimantes.
La boîte de dialogue d'impression du système d'exploitation ne connaît pas la taille d'origine.
La visionneuse PDF connaît les paramètres régionaux, mais pas une liste d'imprimantes, donc pas une liste de papier disponible.
Le visualiseur de pdf connaît la taille originale du PDF.
Le générateur de pdf connaît les paramètres régionaux du serveur et du client.
L'utilisateur déteste la "lettre de chargement du PC"

Re: rotation. Je vais vérifier ce que PR 8043 fait pour moi.
Re: multi-taille. Je ne sais pas si des backends d'impression prennent en charge cela sans fractionner l'impression i ..
Re: localisation ... L'imprimante a une liste des formats de papier possibles et disponibles ...

@berenddeschouwer Je ne pense pas que tout ce qui précède soit lié au PO

Quel est le comportement attendu si plusieurs tailles / orientations de page sont utilisées, c'est-à-dire que certaines pages sont au format A4 portrait, mais certaines sont au format A3 par exemple? Comment les autres téléspectateurs font-ils cela?

@timvandermeij , SumatraPDF affiche la taille de la page parcourue (celle qui a le numéro dans la barre d'outils).

et nous devons également faire face à l'internationalisation et à la localisation, par exemple

  • "A4" ou "Letter" doit être traduit
  • 10 cm × 15 cm sera en pouces pour nous

@yurydelendik , je ne pense pas que A4 devrait être traduit.

Et pour autant que je sache, les dimensions de la page sont spécifiées en points à l'intérieur du document PDF. Ainsi, PDF.js doit utiliser l'unité de dimension par défaut du système d'exploitation.

@ousia quelle est la taille de page attendue pour le document sur https://github.com/mozilla/pdf.js/blob/master/test/pdfs/sizes.pdf ?

@ousia quelle est la taille de page attendue pour le document sur https://github.com/mozilla/pdf.js/blob/master/test/pdfs/sizes.pdf?

@yurydelendik , je ne comprends pas votre question.

La taille est une propriété liée à la page réelle et non au document.

en termes PDF, /MediaBox est une entrée dans le dictionnaire /Page , pas dans le /Catalog ( /Pages est l'entrée là).

Quelle doit être la taille de page du document que vous mentionnez?

_Acrobat Reader_ affiche les dimensions de la page affichée. Ici vous l'avez.

pageone

pagetwo

pagethree

Merci de fournir ces informations! Maintenant que c'est clair, je pense que cela devrait être bon à mettre en œuvre. Je marque cela comme un bon bogue pour débutant car il ne devrait pas être trop difficile.

Je peux supprimer ça si personne n'y travaille.

@loganhuskins C'est à vous!

Je pense que je suis assez proche, je veux utiliser getPagesOverview() de base_viewer .

Dois-je importer import { BaseViewer } from './base_viewer'; dans pdf_document_properties , puis faire BaseViewer.getPagesOverview()[0] comme valeur de la valeur pageSize que je prévois d'afficher? Cela ne semble pas fonctionner, existe-t-il une autre méthode util que je peux réutiliser pour obtenir ces informations. Désolé pour le détournement de Logan.

J'ai été absorbé par le travail, donc si vous reprenez ça, je vais bien.

Salut,
Est-ce ce que vous cherchez à faire?

compressed tracemonkey pldi 09 pdf

@ linton-Portman, dans ce cas, ajouter _Lettre, portrait_ serait génial.

Je veux dire, avec les formats de papier standard, il est utile de fournir le nom du papier standard.

Voyez ce que fait _Evince_:

evince-properties

Et _SumatraPDF_:

sumatrapdf-properties

Je veux dire, avec les formats de papier standard, il est utile de fournir le nom du papier standard.

Cela signifie que nous devons localiser correctement tous ces noms. Existe-t-il une courte liste de formats de papier courants?

Salut,
D'après ce que j'ai lu jusqu'à présent, les différences sont dans la taille du papier (lettre US = 8,50 x 11,00 pouces et UK A4 = 8,26 x 11,69 pouces) ... La façon dont j'allais l'aborder consistait à utiliser une série d'instructions if / else vérification de ces tailles. Ensuite, cela déterminera le texte affiché ... En utilisant également ces tailles, vous pouvez également déterminer si portrait ou paysage ...

Ce sera beaucoup de déclarations if / else en fonction du nombre de formats de papier pris en charge ...
Je suis débutant / novice alors peut-être qu'il y a une meilleure façon :)

a4 portrait pdf
letter portrait pdf

Notez que le format A4 est préférable d'être exprimé en mm, par exemple 210 mm x 297 mm

@yurydelendik Oh oui, je peux faire ça aussi.

Voici une liste (que j'ai adaptée de ConTeXt).

Formats de papier européens standard:

[A0] [largeur = 841 mm, hauteur = 1189 mm]
[A1] [largeur = 594 mm, hauteur = 841 mm]
[A2] [largeur = 420 mm, hauteur = 594 mm]
[A3] [largeur = 297 mm, hauteur = 420 mm]
[A4] [largeur = 210 mm, hauteur = 297 mm]
[A5] [largeur = 148 mm, hauteur = 210 mm]
[A6] [largeur = 105 mm, hauteur = 148 mm]
[A7] [largeur = 74 mm, hauteur = 105 mm]
[A8] [largeur = 52 mm, hauteur = 74 mm]
[A9] [largeur = 37 mm, hauteur = 52 mm]
[A10] [largeur = 26 mm, hauteur = 37 mm]

Formats de papier européens standard moins courants:

[B0] [largeur = 1 000 mm, hauteur = 1 1414 mm]
[B1] [largeur = 707 mm, hauteur = 1 000 mm]
[B2] [largeur = 500 mm, hauteur = 707 mm]
[B3] [largeur = 353 mm, hauteur = 500 mm]
[B4] [largeur = 250 mm, hauteur = 353 mm]
[B5] [largeur = 176 mm, hauteur = 250 mm]
[B6] [largeur = 125 mm, hauteur = 176 mm]
[B7] [largeur = 88 mm, hauteur = 125 mm]
[B8] [largeur = 62 mm, hauteur = 88 mm]
[B9] [largeur = 44 mm, hauteur = 62 mm]
[B10] [largeur = 31 mm, hauteur = 44 mm]

Tailles d'enveloppes européennes standard:

[C0] [largeur = 917 mm, hauteur = 1297 mm]
[C1] [largeur = 648 mm, hauteur = 917 mm]
[C2] [largeur = 458 mm, hauteur = 648 mm]
[C3] [largeur = 324 mm, hauteur = 458 mm]
[C4] [largeur = 229 mm, hauteur = 324 mm]
[C5] [largeur = 162 mm, hauteur = 229 mm]
[C6] [largeur = 114 mm, hauteur = 162 mm]
[C7] [largeur = 81 mm, hauteur = 114 mm]
[C8] [largeur = 57 mm, hauteur = 81 mm]
[C9] [largeur = 40 mm, hauteur = 57 mm]
[C10] [largeur = 28 mm, hauteur = 40 mm]

Format de papier de couverture de CD:

[CD] [largeur = 120 mm, hauteur = 120 mm]

Formats de papier standard américains:

[lettre] [largeur = 8,5 pouces, hauteur = 11 pouces]
[grand livre] [largeur = 11 pouces, hauteur = 17 pouces]
[tabloïd] [largeur = 17 pouces, hauteur = 11 pouces]

[légal] [largeur = 8,5 pouces, hauteur = 14 pouces]
[folio] [largeur = 8,5 pouces, hauteur = 13 pouces]
[exécutif] [largeur = 7,25 pouces, hauteur = 10,5 pouces]

Différents ensembles d'enveloppes:

[enveloppe 9] [largeur = 8,88 pouces, hauteur = 3,88 pouces]
[enveloppe 10] [largeur = 9,5 pouces, hauteur = 4,13 pouces]
[enveloppe 11] [largeur = 10,38 pouces, hauteur = 4,5 pouces]
[enveloppe 12] [largeur = 11,0 pouces, hauteur = 4,75 pouces]
[enveloppe 14] [largeur = 11,5 pouces, hauteur = 5,0 pouces]
[monarque] [largeur = 7,5 pouces, hauteur = 3,88 pouces]
[vérifier] [largeur = 8,58 pouces, hauteur = 3,88 pouces]
[DL] [largeur = 110 mm, hauteur = 220 mm]
[E4] [largeur = 280 mm, hauteur = 400 mm]

Je pense qu'il est utile d'ajouter si l'orientation est portrait ou paysage.

@ linton-Portman, d'après ce que je vois dans vos captures d'écran, j'ai une question:

Les informations suivantes ne seraient-elles pas meilleures?

Letter, portrait (8.5  × 11 in)

Je veux dire, ces adaptations suivantes:

  • Utilisez d'abord le nom du papier.

  • Suivi par _portrait_ ou _landscape_.

    BTW, si la séparation avant est une virgule, je pense que le mot devrait commencer par une lettre minuscule.

  • Écrivez les dimensions entre parenthèses.

    • Il vaut mieux utiliser le signe Unicode approprié _ × _ (au lieu de _x_).

    • Quel format de papier nécessite quelles dimensions sont spécifiées dans la liste précédente.

    • Je pense qu'il est préférable d'utiliser des abréviations pour les unités de longueur (_in_ ou _mm_ dans ce cas).

Si cela n'était pas possible, _portrait_ ou _landscape_ devraient entrer entre parenthèses.

Merci beaucoup pour votre contribution.

@ linton-Portman, utiliser switch pourrait être une meilleure alternative aux instructions if... else .

Je ne peux pas coder, donc les codeurs expérimentés peuvent donner de meilleurs conseils. (J'ai simplement répondu à votre question, car elle est restée sans réponse).

Voici une liste (que j'ai adaptée de ConTeXt).

Tout cela doit être traduit. Personnellement, je préfère trouver 5 à 10 tailles de page les plus utilisées et leur donner des noms.

Lettre, portrait (8,5 × 11 po)

Pour cette raison: «8,5 pouces × 11 pouces, lettre / portrait» ou simplement «100 mm x 200 mm» peut sembler un meilleur choix ici

Il vaut mieux utiliser le signe Unicode approprié × (au lieu de x).

Oui, mais c'est aussi aux localisateurs pour une culture spécifique

Je ne peux pas coder, donc les codeurs expérimentés peuvent donner de meilleurs conseils.

Je suis sûr que les principaux contributeurs auront l'esprit ouvert sur la manière dont ce problème sera traité. La principale préoccupation ici est qu'une solution ne doit pas être complexe et ne pas alourdir la maintenance future du projet.

Personnellement, dans un premier temps, je voudrais simplement ajouter des informations sur la taille de la page sans "gentils" noms (pour éviter leur localisation), peut-être (auto) détecter les unités. La deuxième étape serait la discussion du nom et de l'orientation de la taille de la page.

Je l'ai essayé, car il n'y a pas eu de communication ici depuis environ 2 mois. Je m'excuse si j'aurais dû demander avant.
Le PR ajoute la vue Taille de la page en pt, ce qui est un début. Les étapes suivantes (comme décrit ici) consisteraient à les convertir en cm / mm / pouces / ... et à essayer de trouver une taille de document standard correspondante. Ces deux éléments ne sont pas mis en œuvre dans ce PR.

La demande d'extraction ci-dessus a implémenté la plupart de cette fonctionnalité. Ce qui reste à faire est d'afficher la taille de page de la page actuellement visible au lieu de seulement à partir de la première. Facultativement, des formats de page lettre / portrait et par défaut (tels que A4) peuvent être ajoutés, mais je ne considère pas cela comme obligatoire pour résoudre ce problème.

D'autres améliorations ont été apportées à # 9577, qui a également implémenté l'affichage de la taille de la page actuellement visible. Pour ce problème, seules les tailles de page lettre / portrait et par défaut restent.

La dernière partie est implémentée par la pull request ci-dessus (orientation de la page et noms de taille de page). Fermeture comme fixe.

Cette page vous a été utile?
0 / 5 - 0 notes