Was ein Bild über sich sagt, und wie es gelesen wird
Geben Sie einem mitgelieferten Bild Urheber und Rechte mit und legen Sie fest, welche Pixel sichtbar sind, wie deckend und in welcher Ausrichtung.
In einem echten PDF ansehen
Jedes Bild, das ein Scanner in eine Datei gelegt hat
Eine Datei mit drei Blättern und eine Datei mit einem Foto, jedes Bild auf einer Seite in seiner eigenen Größe; das Foto kommt genau so hinein, wie die Kamera es geschrieben hat, denn die Anzeigesoftware liest ein Foto selbst.
Das PDF öffnen Das vollständige Beispiel ansehen
Auch zu sehen in: Ein Register, dessen Seiten sagen, woher sie stammen
Zusammenfassung
Ein Foto gehört jemandem. Die Kamera, der Scanner oder die Bildagentur hat das meist bereits in der Datei selbst vermerkt, und diese Zeilen lassen sich genau so weitergeben, wie sie sind — oder durch Ihre ersetzen, wo das Bild ohne kam. So oder so reisen sie mit dem Bild im Dokument und bleiben bei ihm, wenn es wieder herausgeholt wird. Derselbe Eintrag sagt, wie das Bild gelesen wird: welche seiner Pixel die Seite durchscheinen lassen, ob ein zweites Graustufenbild Pixel für Pixel angibt, wie deckend es ist, und in welcher Ausrichtung es gezeichnet wird, wenn seine eigene Datei das Falsche sagt.
Technisch
Auf der obersten Ebene einer Anfrage geschrieben, unter
"images"
images gibt an, was jedes mitgelieferte Bild über sich selbst sagt, in einem XMP-Paket, das am Bild-XObject selbst geschrieben wird. Zwei Wege: Angaben, aus denen der Server das Paket schreibt; oder der Name eines mitgelieferten Teils mit einem anderswo geschriebenen Paket, das unverändert weitergegeben wird, ohne Zusatz und ohne Prüfung. Ein Bild beansprucht nie selbst eine Norm: Die Norm wird einmal angegeben, vom Dokument. Über ein Bild nichts zu sagen ist der Normalfall, und ein Bild, das kein Element zeichnet, gelangt nie in das Dokument. Derselbe Eintrag gibt an, womit das XObject selbst geschrieben wird: die Schablone, die zwei Arten von Masken, die durchsichtigen Abtastwerte, der Bereich, über den jede Komponente gelesen wird, die Ausrichtung und das Profil, durch das seine Farben gelesen werden.
Anfrageschema
-
images— Array, optional, standardmäßig leer. -
images[].name— Zeichenkette, erforderlich. Der Name des mitgelieferten Teils, den dieser Eintrag beschreibt, genau der, den einimage-Element verwendet. -
images[].metadata— optional. Zwei Formen:{"facts": {...}}— dieselben Felder wiemetadata:title,author,subject,producer,created,trapped,schemas. Der Server schreibt das Paket daraus.{"packet": "part name"}— der Name eines mitgelieferten Teils mit einem anderswo geschriebenen Paket. Was die Anzeigesoftware dort findet, ist das, was übergeben wurde.
-
images[].files— Array von Zeichenketten, optional, standardmäßig leer. Die Namen der deklarierten Anhänge, auf die das Bild verweist: das Protokoll des Scans, aus dem es stammt, die an ihm vorgenommenen Messungen, was auch immer eine Maschine neben den Pixeln liest. Ein hier beanspruchter Anhang gehört zum Bild statt zum Dokument. -
images[].stencil— boolescher Wert, optional, standardmäßigfalse. Ob das Bild als Schablone statt als Bild gelesen wird: Es hat keine eigene Farbe und gibt an, wohin die Farbe kommt, mit der die Seite bereits füllt. Ein Bild, das nicht ein Bit pro Pixel und eine Komponente hat, wird abgelehnt. -
images[].stencil_mask— Zeichenkette, optional. Der Name des mitgelieferten Teils, dessen Null-Bits angeben, welche Pixel dieses Bildes sichtbar sind. Dieser Teil wird als Schablone gelesen und selbst nirgends gezeichnet. -
images[].soft_mask— Zeichenkette, optional. Der Name des mitgelieferten Graustufenteils, dessen Abtastwerte Pixel für Pixel angeben, wie deckend dieses Bild ist: Schwarz ist durchsichtig, Weiß deckend. Sie wird über das Bild gestreckt, beide müssen also nicht gleich groß sein, und sie selbst wird nirgends gezeichnet. -
images[].color_key— Array von Ganzzahlpaaren, optional, ein Paar pro Komponente. Der niedrigste und der höchste Abtastwert, der durchsichtig ist. Ein Pixel zeigt die Seite nur dort, wo jede seiner Komponenten in ihr Paar fällt. Die Werte sind die Zahlen, als die die Abtastwerte gespeichert sind, nicht die Farbe, für die sie stehen. -
images[].opaque— boolescher Wert, optional, standardmäßigfalse. Ob alles, was laut Datei durch das Bild hindurchscheint, verworfen wird, sodass überhaupt nichts mehr hindurchscheint. Das ist die Antwort auf eine Datei mit einem Alphakanal, den eine Norm nicht zulässt. -
images[].decode— Array von Zahlenpaaren, optional, ein Paar pro Komponente. Der Bereich, über den jede Komponente gelesen wird: der Wert, für den ihr niedrigster Abtastwert steht, dann der Wert, für den ihr höchster steht. Ein umgekehrtes Paar zeichnet das Bild als sein eigenes Negativ. Fehlt es, wird jede Komponente über den Standardbereich ihres Farbraums gelesen. -
images[].orientation— Zeichenkette, optional. In welcher Ausrichtung das Bild gezeichnet wird, was auch immer seine eigene Datei sagt. Eine Kamera speichert ein Bild so, wie ihr Sensor es gelesen hat, und vermerkt, wie das Gehäuse gehalten wurde; dies gibt stattdessen die Anfrage an, für eine Datei, deren Kamera das Falsche vermerkt hat. Acht Werte:upright, so gezeichnet, wie die Pixel gespeichert sind;mirrored_left_to_right, linke und rechte Seite vertauscht;upside_down, um eine halbe Drehung gedreht;mirrored_top_to_bottom, oben und unten vertauscht;turned_leftundturned_right, eine Vierteldrehung gegen und im Uhrzeigersinn;mirrored_and_turned_leftundmirrored_and_turned_right, gespiegelt und dann um diese Vierteldrehung gedreht. -
images[].icc_profile— Zeichenkette, optional. Der Name des mitgelieferten Teils mit dem ICC-Profil, durch das die Farben des Bildes gelesen werden. Eine Datei kann ein eigenes enthalten; ein hier genanntes hat Vorrang. Das Profil beschreibt die Komponenten, aus denen die eigenen Farben des Bildes bestehen, sonst wird es abgelehnt, und es bei einem als Schablone gelesenen Bild zu nennen wird abgelehnt. -
images[].opacity_channel— Zeichenkette, optional. Bei einem TIFF, in dem ein Bildbearbeitungsprogramm mehrere Deckkraftkomponenten gespeichert hat, der Name derjenigen, die angibt, wie deckend das Bild ist; fehlt er, wird die erste genommen, die die Datei als Deckkraft ausweist. Die Farben, die die Datei mit einer dieser Komponenten multipliziert hat, werden wieder durch sie geteilt, jede andere wird verworfen, und eine Komponente, über deren Bedeutung die Datei nichts sagt, wird als von den Farben getrennte Deckkraft gelesen. Ein Name bei einem Teil, das kein TIFF ist, oder einer, unter dem keine Komponente gespeichert wurde, wird abgelehnt. -
images[].clipping_path— Objekt, optional. Der Pfad, innerhalb dessen das Bild gehalten wird, wenn einimage-Elementclip_to_pathangibt; er hat Vorrang vor dem, den die eigene Datei des Bildes enthält. Er nimmtcontoursan, ein Array geschlossener Konturen. Eine Kontur nimmtknotsan, ein Array der Punkte, die sie in kubischen Bézierkurven durchläuft, wobei die letzte Kurve zum ersten Knoten zurückkehrt. Ein Knoten nimmtanchoran, den Punkt, durch den die Kontur läuft, sowiearrivingundleaving, die Kontrollpunkte der ankommenden und abgehenden Kurven. Jeder ist ein Paar[x, y]in Bruchteilen des Bildes, wie es gespeichert ist,xab seinem linken Rand undyab seinem unteren Rand, sodass ein auf dem Weg in seinen Kasten gedrehtes oder gespiegeltes Bild seinen Pfad mitnimmt. Ein Knoten, dessen Kontrollpunkte sein Anker sind, macht die Kurven zu beiden Seiten gerade. Wo sich Konturen überlappen, liegt ein Punkt innerhalb einer geraden Anzahl von ihnen außerhalb des Pfads. Ein Pfad ohne Kontur hält nichts fest, und das Bild wird vollständig gezeichnet. - Ein Teil mit einem anderswo geschriebenen Paket schreibt seine Eigenschaften ohne ihre Beschreibung: Die Norm wird einmal angegeben, vom Dokument.
-
images[].interpolate— boolescher Wert, optional, standardmäßigfalse. Ob die Anzeigesoftware das Bild glättet, wo es größer als seine Pixel gezeichnet wird. Das Bild zeigt dann nicht mehr genau, was es enthält, weshalb ein Dokument, das einearchive-Norm beansprucht, es ablehnt. -
images[].rendering_intent— Zeichenkette, optional. Wie die Anzeigesoftware die Farben des Bildes in das überführt, was das Gerät darstellen kann, am Bild selbst angegeben und mit Vorrang vor dem Intent des Grafikzustands, unter dem es gezeichnet wird:absolute_colorimetric,relative_colorimetric,saturationoderperceptual. -
images[].inks— Objekt, optional. Die Druckfarben, deren Farbtöne die Abtastwerte sind, vollständig angegeben wie ein deklarierterseparation- oderdevice_n-Farbraum untercolor_spaces: ein Graustufenscan, in einer Sonderfarbe gedruckt, ein Lack, ein Weiß unter einem Etikett. Die Abtastwerte werden nicht angetastet, nur das, als was sie gelesen werden, sodass das Bild so viele Komponenten hat wie der Farbraum Druckfarben. Jede andere Art von Farbraum wird abgelehnt, ebenso ein Bild, das zusätzlichmeasurednennt, eine Schablone, ein Bild, das eine Farbtabelle indiziert, eines, das durch ein Profil gelesen wird, und ein JPEG-2000- oder JBIG2-Stream. -
images[].measured— Objekt, optional. Die gemessene Farbe, als die die Abtastwerte gelesen werden, vollständig angegeben wie ein deklariertercal_gray-,cal_rgb- oderlab-Farbraum untercolor_spaces: ein Scan von einem kalibrierten Scanner, die Werte eines Farbmessgeräts. Die Abtastwerte werden nicht angetastet, nur das, als was sie gelesen werden, sodass das Bild so viele Komponenten hat, wie der Farbraum annimmt: eine fürcal_gray, drei für die beiden anderen. Jede andere Art von Farbraum wird abgelehnt, ebenso ein Bild, das zusätzlichinksnennt, eine Schablone, ein Bild, das eine Farbtabelle indiziert, eines, das durch ein Profil gelesen wird, und ein JPEG-2000- oder JBIG2-Stream. -
images[].jbig2— Objekt, optional.{}gibt an, dass der Teil ein JBIG2-Stream ist, der nie an seinen Bytes erkannt wird;{"globals": "part name"}nennt zusätzlich den mitgelieferten Teil mit den Segmenten, gegen die der Stream gelesen wird. Die Bytes werden unverändert übernommen. Ein Teil, dessen Segmente nie die Seitengröße angeben, wird abgelehnt, ebenso eine Bildnummer und ein Deckkraftkanal daneben, die beide zu einem TIFF gehören. -
images[].fax— boolescher Wert, optional, standardmäßigfalse. Ob ein Bild mit einem Bit pro Abtastwert so kodiert wird, wie ein Faxgerät eine Seite kodiert, CCITT Gruppe 4.
Eine vollständige Anfrage, die ein PDF erzeugt
{
"images": [
{
"name": "photo",
"orientation": "upright",
"metadata": {
"facts": {
"author": "Camille Roy",
"subject": "The workshop, June 2026"
}
}
}
],
"items": [
{
"type": "image",
"image": "photo",
"rect": { "llx": 60, "lly": 560, "urx": 300, "ury": 740 }
}
]
}
Das Dokument als Ganzes
Die Nummern, die die Anzeigesoftware zeigt Hundert Briefe in einer einzigen Datei Was das Dokument über sich sagt Was das Dokument über sich sagt, einmal gesagt Text, den niemand kopieren kann Notizen, die ein Programm in der Datei für sich hinterlässt Die Notizen, die ein Programm auf einer Seite hinterlässt Die Daten, die ein Programm an einen Farbabschnitt hängt Eine Datei, die noch in Jahrzehnten lesbar ist Die Drucknorm, die das Dokument beansprucht Die beanspruchte Norm für variablen Datendruck Das Passwort, das es öffnet, und was damit getan werden darf Eine Rechnung, die Mensch und Maschine gleichermaßen lesen Die Adresse, gegen die relative Links gelesen werden Die PDF-Version, die die Datei angibt Die PDF-Erweiterungen, die die Datei zu nutzen angibt Die Anhänge, die das Dokument neben seinen Seiten trägt Dateien, die das Dokument nennt, ohne sie zu enthalten Die Anhänge als Portfolio gezeigt Welche Anhänge eine Seite beansprucht Welche Anhänge eine Schrift beansprucht Der Ausweis, den eine einzelne Schrift trägt Welche Anhänge die Karte des Dokuments beansprucht Eine anderswo geschriebene Dokumentkarte Die Bereiche einer Seite, in denen ein Leser misst Der Ausweis, den eine einzelne Seite trägt Die Barrierefreiheitsnorm, die das Dokument beansprucht Die Normen, an denen das fertige Dokument gemessen wird
Wohin als Nächstes
Jeder JSON-Schlüssel einer Anfrage, auf einer Seite Die übrigen einundvierzig Einstellungen einer Anfrage