Pdf.js: Fügen Sie den Dokumentinformationen das Papierformat hinzu

Erstellt am 15. Feb. 2016  ·  29Kommentare  ·  Quelle: mozilla/pdf.js

Wäre es möglich, dass Sie Dokumentinformationen Papiergröße hinzufügen?

Dies ist wichtig, um zu wissen, ob das Dokument (unter anderem) das Papierformat Letter oder A4 verwendet.

1-viewer 2-feature

Hilfreichster Kommentar

Ich kann nicht codieren, daher können erfahrene Codierer bessere Ratschläge geben.

Ich bin sicher, dass die Hauptakteure offen dafür sein werden, wie dieses Problem angegangen wird. Das Hauptanliegen hierbei ist, dass eine Lösung nicht komplex sein darf und die zukünftige Wartung des Projekts nicht zusätzlich belastet.

Persönlich würde ich als ersten Schritt nur Informationen zur Seitengröße ohne "nette" Namen hinzufügen (um deren Lokalisierung zu vermeiden), vielleicht Einheiten (automatisch) erkennen. Der zweite Schritt wäre die Erörterung des Namens und der Ausrichtung der Seitengröße.

Alle 29 Kommentare

Und kann es Porträt / Landschaft enthalten?

Was ist das erwartete Verhalten, wenn mehrere Seitengrößen / -ausrichtungen verwendet werden, dh einige Seiten sind A4-Hochformat, andere beispielsweise A3-Querformat? Wie machen das andere Zuschauer?

und wir müssen uns auch mit Internationalisierung und Lokalisierung befassen, z

  • "A4" oder "Letter" muss übersetzt werden
  • 10 cm × 15 cm sind für US in Zoll

Re: Rotation. Ich werde überprüfen, was PR 8043 für mich tut. Das kann mein Problem beheben. Es sieht so aus, als müsste ich PR 8043 und # 6103 wirklich richtig lesen und sicherstellen, dass ich mit diesen Korrekturen eine späte Version habe.

Betreff: Multi-Size. Keine Ahnung, ob Druck-Backends dies unterstützen, ohne den Ausdruck in mehrere Druckaufträge aufzuteilen. Wenn Sie den Druckauftrag nicht aufteilen, haben Sie als vernünftige Optionen "Auf den größten drucken" oder "Auf den kleinsten skalieren".

Cups enthält bei jedem Druckauftrag einen Header für die Mediengröße. Daher sind Linux und MacOS meines Wissens auf eine Größe pro Druckauftrag beschränkt.

Re: Lokalisierung.
Der Drucker verfügt über eine Liste möglicher und verfügbarer Papierformate.
Der OS-Druckdialog kennt das Gebietsschema des Benutzers und eine Liste der Drucker.
Der OS-Druckdialog kennt die Originalgröße nicht.
Der PDF-Viewer kennt das Gebietsschema, jedoch keine Liste der Drucker, also keine Liste des verfügbaren Papiers.
Der PDF-Viewer kennt die ursprüngliche PDF-Größe.
Der PDF-Generator kennt die Server- und Client-Gebietsschemas.
Der Benutzer hasst "PC-Ladebrief"

Re: Rotation. Ich werde überprüfen, was PR 8043 für mich tut.
Betreff: Multi-Size. Keine Ahnung, ob Print-Backends dies unterstützen, ohne den Ausdruck zu teilen.
Betreff: Lokalisierung ... Der Drucker verfügt über eine Liste möglicher und verfügbarer Papierformate ...

@berenddeschouwer Ich denke, keiner der oben genannten

Was ist das erwartete Verhalten, wenn mehrere Seitengrößen / -ausrichtungen verwendet werden, dh einige Seiten sind A4-Hochformat, andere beispielsweise A3-Querformat? Wie machen das andere Zuschauer?

@timvandermeij , SumatraPDF zeigt die Größe der durchsuchten Seite an (die Seite mit der Nummer in der Symbolleiste).

und wir müssen uns auch mit Internationalisierung und Lokalisierung befassen, z

  • "A4" oder "Letter" muss übersetzt werden
  • 10 cm × 15 cm sind für US in Zoll

@yurydelendik , ich denke nicht, dass A4 übersetzt werden sollte.

Und soweit ich weiß, werden die Seitenabmessungen in Punkten innerhalb des PDF-Dokuments angegeben. Daher sollte PDF.js die Standardbemaßungseinheit des Betriebssystems verwenden.

@ousia Wie groß ist die erwartete Seitengröße für das Dokument unter https://github.com/mozilla/pdf.js/blob/master/test/pdfs/sizes.pdf ?

@ousia Wie groß ist die erwartete Seitengröße für das Dokument unter https://github.com/mozilla/pdf.js/blob/master/test/pdfs/sizes.pdf?

@yurydelendik , ich verstehe deine Frage nicht.

Größe ist eine Eigenschaft, die sich auf die tatsächliche Seite bezieht, nicht auf das Dokument.

In PDF-Begriffen ist /MediaBox ein Eintrag im /Page Wörterbuch, nicht im /Catalog ( /Pages ist der Eintrag dort).

Welche Seitengröße sollte das von Ihnen erwähnte Dokument haben?

_Acrobat Reader_ zeigt die Abmessungen der angezeigten Seite an. Hier hast du es.

pageone

pagetwo

pagethree

Vielen Dank für die Bereitstellung dieser Informationen! Nun, da dies klar ist, denke ich, dass dies gut umzusetzen sein sollte. Ich markiere dies als einen guten Anfängerfehler, da es nicht zu schwer sein sollte.

Ich kann das ausschalten, wenn niemand daran arbeitet.

@loganhuskins Es gehört dir!

Ich denke, ich bin ziemlich nah dran, ich möchte getPagesOverview() von base_viewer .

Sollte ich import { BaseViewer } from './base_viewer'; in pdf_document_properties importieren und dann BaseViewer.getPagesOverview()[0] als Wert für pageSize angeben, den ich anzeigen möchte? Das scheint irgendwie nicht zu funktionieren, gibt es eine andere util -Methode, die ich wiederverwenden kann, um diese Informationen zu erhalten. Tut mir leid, dass ich das von Logan entführt habe.

Ich bin mit der Arbeit beschäftigt, also wenn du das übernimmst, bin ich gut.

Hallo,
Wollen Sie das tun?

compressed tracemonkey pldi 09 pdf

@ linton-Portman, in diesem Fall wäre es großartig, _Brief, Porträt_ hinzuzufügen.

Ich meine, bei Standardpapierformaten ist es nützlich, den Standardpapiernamen anzugeben.

Sehen Sie, was _Evince_ tut:

evince-properties

Und _SumatraPDF_:

sumatrapdf-properties

Ich meine, bei Standardpapierformaten ist es nützlich, den Standardpapiernamen anzugeben.

Das heißt, wir müssen alle diese Namen richtig lokalisieren. Gibt es eine kurze Liste beliebter Papierformate?

Hallo,
Nach dem, was ich bisher gelesen habe, liegen die Unterschiede in der Papiergröße (US-Brief = 8,50 x 11,00 Zoll & UK A4 = 8,26 x 11,69 Zoll) ... Die Art und Weise, wie ich mich dem nähern wollte, war die Verwendung einer Reihe von if / else-Anweisungen Überprüfung auf diese Größen. Dies bestimmt dann, welcher Text angezeigt wird .... Wenn Sie auch diese Größen verwenden, können Sie auch bestimmen, ob Hoch- oder Querformat ....

Dies wird eine Menge if / else-Aussagen sein, abhängig davon, wie viele Papierformate berücksichtigt werden ....
Ich bin ein Anfänger / Anfänger, also gibt es vielleicht einen besseren Weg :)

a4 portrait pdf
letter portrait pdf

Beachten Sie, dass die Größe A4 besser in mm ausgedrückt werden kann, z. B. 210 mm x 297 mm

@yurydelendik Oh ja, das kann ich auch.

Hier haben Sie eine Liste (die ich von ConTeXt angepasst habe).

Europäische Standardpapierformate:

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

Europäische, weniger verbreitete Standardpapierformate:

[B0] [Breite = 1000 mm, Höhe = 1414 mm]
[B1] [Breite = 707 mm, Höhe = 1000 mm]
[B2] [Breite = 500 mm, Höhe = 707 mm]
[B3] [Breite = 353 mm, Höhe = 500 mm]
[B4] [Breite = 250 mm, Höhe = 353 mm]
[B5] [Breite = 176 mm, Höhe = 250 mm]
[B6] [Breite = 125 mm, Höhe = 176 mm]
[B7] [Breite = 88 mm, Höhe = 125 mm]
[B8] [Breite = 62 mm, Höhe = 88 mm]
[B9] [Breite = 44 mm, Höhe = 62 mm]
[B10] [Breite = 31 mm, Höhe = 44 mm]

Europäische Standardumschlaggrößen:

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

CD-Cover Papiergröße:

[CD] [Breite = 120 mm, Höhe = 120 mm]

Amerikanische Standardpapierformate:

[Buchstabe] [Breite = 8,5 Zoll, Höhe = 11 Zoll]
[Hauptbuch] [Breite = 11 Zoll, Höhe = 17 Zoll]
[Boulevardzeitung] [Breite = 17 Zoll, Höhe = 11 Zoll]

[legal] [Breite = 8,5 Zoll, Höhe = 14 Zoll]
[Folio] [Breite = 8,5 Zoll, Höhe = 13 Zoll]
[Exekutive] [Breite = 7,25 Zoll, Höhe = 10,5 Zoll]

Verschiedene Umschlagsätze:

[Umschlag 9] [Breite = 8,88 Zoll, Höhe = 3,88 Zoll]
[Umschlag 10] [Breite = 9,5 Zoll, Höhe = 4,13 Zoll]
[Umschlag 11] [Breite = 10,38 Zoll, Höhe = 4,5 Zoll]
[Umschlag 12] [Breite = 11,0 Zoll, Höhe = 4,75 Zoll]
[Umschlag 14] [Breite = 11,5 Zoll, Höhe = 5,0 Zoll]
[Monarch] [Breite = 7,5 Zoll, Höhe = 3,88 Zoll]
[check] [width = 8.58in, height = 3.88in]
[DL] [Breite = 110 mm, Höhe = 220 mm]
[E4] [Breite = 280 mm, Höhe = 400 mm]

Ich denke, es ist nützlich hinzuzufügen, ob die Ausrichtung Hoch- oder Querformat ist.

@ linton-Portman, nach dem, was ich in deinen Screenshots sehe, habe ich eine Frage:

Wären die folgenden Informationen nicht besser?

Letter, portrait (8.5  × 11 in)

Ich meine, diese folgenden Anpassungen:

  • Verwenden Sie zuerst den Namen des Papiers.

  • Gefolgt von _portrait_ oder _landscape_.

    Übrigens, wenn die Trennung vorher ein Komma ist, denke ich, dass das Wort mit einem Kleinbuchstaben beginnen sollte.

  • Schreiben Sie die Abmessungen in die Klammern.

    • Es ist besser, das richtige Unicode-Zeichen _ × _ (anstelle von _x_) zu verwenden.

    • Welches Papierformat welche Abmessungen erfordert, ist in der vorherigen Liste angegeben.

    • Ich denke, es ist besser, Abkürzungen für Längeneinheiten zu verwenden (in diesem Fall _in_ oder _mm_).

Wenn das nicht möglich wäre, sollte _portrait_ oder _landscape_ in die Klammern gesetzt werden.

Vielen Dank für Ihren Beitrag.

@ linton-Portman, die Verwendung von switch möglicherweise eine bessere Alternative zu if... else -Anweisungen.

Ich kann nicht codieren, daher können erfahrene Codierer bessere Ratschläge geben. (Ich habe einfach auf Ihre Frage geantwortet, da sie unbeantwortet blieb).

Hier haben Sie eine Liste (die ich von ConTeXt angepasst habe).

All das muss übersetzt werden. Persönlich bevorzuge ich es, 5-10 der am häufigsten verwendeten Seitengrößen zu finden und ihnen Namen zu geben.

Brief, Porträt (8,5 × 11 Zoll)

Aus diesem Grund könnte "8,5 Zoll × 11 Zoll, Brief / Porträt" oder nur "100 mm x 200 mm" hier eine bessere Wahl sein

Es ist besser, das richtige Unicode-Zeichen × (anstelle von x) zu verwenden.

Ja, aber es liegt auch an den Lokalisierern für eine bestimmte Kultur

Ich kann nicht codieren, daher können erfahrene Codierer bessere Ratschläge geben.

Ich bin sicher, dass die Hauptakteure offen dafür sein werden, wie dieses Problem angegangen wird. Das Hauptanliegen hierbei ist, dass eine Lösung nicht komplex sein darf und die zukünftige Wartung des Projekts nicht zusätzlich belastet.

Persönlich würde ich als ersten Schritt nur Informationen zur Seitengröße ohne "nette" Namen hinzufügen (um deren Lokalisierung zu vermeiden), vielleicht Einheiten (automatisch) erkennen. Der zweite Schritt wäre die Erörterung des Namens und der Ausrichtung der Seitengröße.

Ich habe es versucht, da hier seit ungefähr 2 Monaten keine Kommunikation mehr stattgefunden hat. Entschuldigt mich, wenn ich vorher hätte fragen sollen.
Der PR fügt die Seitengrößenansicht in pt hinzu, was ein Anfang ist. Die nächsten Schritte (wie hier beschrieben) würden darin bestehen, diese in cm / mm / Zoll / ... zu konvertieren und zu versuchen, eine passende Standarddokumentgröße zu finden. Beide sind in dieser PR nicht implementiert.

Die obige Pull-Anforderung hat den größten Teil dieser Funktion implementiert. Was noch zu tun bleibt, ist die Anzeige der Seitengröße der aktuell sichtbaren Seite anstatt nur der ersten. Optional können Buchstaben- / Hochformat- und Standardseitengrößen (wie A4) hinzugefügt werden, aber ich sehe dies nicht als obligatorisch an, um dieses Problem zu beheben.

Weitere Verbesserungen wurden in # 9577 vorgenommen, in dem auch die Seitengröße der aktuell sichtbaren Seite angezeigt wurde. In diesem Problem bleiben nur Buchstaben / Hochformat und Standardseitengrößen übrig.

Der letzte Teil wird durch die obige Pull-Anforderung (Seitenausrichtung und Seitengrößennamen) implementiert. Schließen wie fest.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen