write_tiff.json

Die JSON-Datei des Beispiels „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.

JSON 73 Zeilen

Diese Datei ist eine Anfrage: Eine Anwendung sendet sie über das Netz an den Server, der das PDF erzeugt und zurücksendet. Sie erzeugt dieselbe Seite wie die Rust- und die Python-Fassung dieses Beispiels. Eine Anfrage nennt jede Datei, die sie verwendet, nie ihren Inhalt; der Aufruf trägt die Anfrage und die Dateien zusammen. Eine Schrift, die der Server bereits vorhält, etwa DejaVuSans, wird ohne Anhang genannt. Senden Sie die Anfrage an die Adresse, die die API-Seite angibt.

Diese Anfrage nennt Dateien, die sie nicht trägt: pages.tif#1, pages.tif#2, pages.tif#3, photograph.tif. Jede davon reist neben der Anfrage, im selben Aufruf, als mitgelieferter Teil, genau so benannt, wie die Anfrage sie hier nennt — die Beschreibung sagt, welcher Name welche Rolle spielt, Sie benennen Ihre Dateien also, wie Sie möchten. Eine Anfrage, die eine Datei nennt, von der der Aufruf nichts trägt, wird abgelehnt.

Wofür dieses Beispiel da ist

Ein Scanner liefert nicht eine Datei pro Blatt. Er liefert eine Datei mit dem ganzen Stapel darin, und dasselbe gilt für ein Faxgerät: Jede Seite der Übertragung ist darin, eine nach der anderen. Software, die nur die erste ansieht, verliert stillschweigend den Rest, und niemand merkt es bis zu dem Tag, an dem jemand Seite vier braucht.

Was dieses Beispiel zeigt

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
{
  "metadata": {
    "title": "hqf-pdf TIFF sample"
  },
  "page_sizes": [
    { "page": 2, "width": 61.0, "height": 37.0 },
    { "page": 3, "width": 2.0, "height": 2.0 },
    { "page": 4, "width": 3.0, "height": 1.0 },
    { "page": 5, "width": 1.0, "height": 4.0 }
  ],
  "images": [
    { "name": "photograph.tif", "page": 1 },
    { "name": "pages.tif#1", "page": 1 },
    { "name": "pages.tif#2", "page": 2 },
    { "name": "pages.tif#3", "page": 3 }
  ],
  "items": [
    {
      "type": "rect",
      "rect": { "llx": 0.0, "lly": 700.0, "urx": 595.276, "ury": 842.0 },
      "fill": [0.93, 0.94, 0.96],
      "pages": [1]
    },
    {
      "type": "image",
      "image": "photograph.tif",
      "rect": { "llx": 60.0, "lly": 600.0, "urx": 180.0, "ury": 672.7868852459017 },
      "pages": [1]
    },
    {
      "type": "image",
      "image": "pages.tif#1",
      "rect": { "llx": 190.0, "lly": 600.0, "urx": 310.0, "ury": 720.0 },
      "pages": [1]
    },
    {
      "type": "image",
      "image": "pages.tif#2",
      "rect": { "llx": 320.0, "lly": 600.0, "urx": 440.0, "ury": 640.0 },
      "pages": [1]
    },
    {
      "type": "image",
      "image": "pages.tif#3",
      "rect": { "llx": 450.0, "lly": 600.0, "urx": 480.0, "ury": 720.0 },
      "pages": [1]
    },
    {
      "type": "image",
      "image": "photograph.tif",
      "rect": { "llx": 0.0, "lly": 0.0, "urx": 61.0, "ury": 37.0 },
      "pages": [2]
    },
    {
      "type": "image",
      "image": "pages.tif#1",
      "rect": { "llx": 0.0, "lly": 0.0, "urx": 2.0, "ury": 2.0 },
      "pages": [3]
    },
    {
      "type": "image",
      "image": "pages.tif#2",
      "rect": { "llx": 0.0, "lly": 0.0, "urx": 3.0, "ury": 1.0 },
      "pages": [4]
    },
    {
      "type": "image",
      "image": "pages.tif#3",
      "rect": { "llx": 0.0, "lly": 0.0, "urx": 1.0, "ury": 4.0 },
      "pages": [5]
    }
  ]
}