Quick Fix Features

Dieser Artikel gibt einen Überblick über alle in pdfToolbox enthaltenen Quick Fixes.

Da ein Quick Fix auch auf der Kommandozeile ausgeführt werden kann, indem eine JSON-Datei-basierte Quick Fix-Konfiguration verwendet wird, enthält dieser Artikel auch JSON-Serialisierungen für jedes Quick Fix. Detaillierte Informationen zur Verwendung von Quick Fix auf der Kommandozeile finden Sie hier.

Darüber hinaus können die JSON-Serialisierungen auch im "JavaScript-basierte Konfiguration" Quick Fix verwendet werden. Wie das geht, können Sie hier nachlesen.

Liste der QuickFix Funktionsbereiche:

Sonderfarben Quick Fixes

Sonderfarben umbenennen

Dieses Quick Fix Feature benennt Sonderfarben um. Die Verwendung dieses Vorgangs in Zusammenhang mit "Aktueller Sonderfarbname" erlaubt flexibles umbenennen – entweder nur für eine spezifische Sonderfarbe oder eine Liste von Namen,  oder eine Umbenennungen, die als RegEx ausgedrückt werden können. Die folgende Tabelle veranschaulicht dies anhand einiger Beispiele.

Operator Aktueller Sonderfarbname
Neuer Sonderfarbname
Effekt
gleich red Logo Rot Wenn es eine Sonderfarbe gibt mit dem Namen "red" wird diese umbenannt zu "Logo Rot"
enthält red Logo Rot Alle Sonderfarben die "red" enthalten ("Deep red", "Fred", "ingredient", ... ) werden umbenannt zu "Logo Rot".
regex .* Logo $0 Alle Sonderfarben werden umbenannt durch zusätzliches anfügen von "Logo " an den aktuellen Namen.
 {
   
	"quickfixes" : [
		{
				"quickfix" : "rename_spot",
				"version" : "1.0"				
				"instructions" : [
				{
					"new_spot" : "Logo Red",
					"old_spot" : "red",
					"operator" : "contains"
				}
			]
			
		}
	]
}

// "operator" : "regex|begins_with|contains|does_not_begin_with|does_not_contain|does_not_end_with|ends_with|equal_to|is_contained_in|is_not_contained_in|unequal_to"

Selbst wenn es mehrere Befehle innerhalb eines QuickFix-Schrittes gibt, so wird jeder nur  einmal (wenn überhaupt) "angefasst". Falls wiederholte Modifikationen gewünscht sind (Sonderfarbnamen ändern, dann den bereits veränderten Sonderfarbnamen nochmals ändern), muss der entsprechende Befehl als separater Quick Fix-Schritt erstellt werden.

Sonderfarben anpassen (inkl. optionales umbenennen)

Dieses Quick Fix ist eine erweiterte Version vom "Sonderfarben umbenennen"-Quick Fix. Zusätzlich zum neuen Sonderfarbnamen ist es auch möglich das Erscheinungsbild der Sonderfarbe zu bestimmen, als DeviceCMYK, DeviceRGB, sRGB, Lab D50, Lab D65, sRGB, DeviceGray (oder ein bestimmtes ICC-Profil anzugeben über <ICC-Profil-Pfad>) mit entsprechenden Zahlenwerten für die Kanäle.

Falls der neue Sonderfarbname leer gelassen wird, dann ändert sich nur das Erscheinungsbild. Wenn der alternative Farbraum und die Farbwerte nicht definiert sind, so wird nur der Name geändert (hat den gleichen Effekt wie das "Sonderfarben umbenennen"-Quick Fix).

{
    "quickfixes": [
        {
            "quickfix": "adjust_spot",
            "version": "1.0",
            "instructions": [
                {
                    "operator": "contains",
                    "old_spot": "red",
                    "new_spot": "Company Red",
                    "alt" : "sRGB",
                    "c0" : 1.0,
                    "c1" : 0.0,
                    "c2" : 0.0,
                    "c3" : 0.0
                }
            ]
        }
    ]
}

//		"operator": "regex|begins_with|contains|does_not_begin_with|does_not_contain|does_not_end_with|ends_with|equal_to|is_contained_in|is_not_contained_in|unequal_to"
//		"alt": "DeviceGray|DeviceRGB|DeviceCMYK|Lab_D50|Lab_D65|sRGB|<icc-profil-file-path>"

Sonderfarben zusammenführen

Das "Sonderfarben zusammenführen"-Quick Fix unterscheidet sich vom "Sonderfarben umbenennen"-Quick Fix insofern, als dass auf beiden Seiten – "In diese Sonderfarbe zusammenführen" und "Zusammenführende Sonderfarben" – ein Operator verwendet werden kann.

Im Allgemeinen wird empfohlen, die Kombination aus dem Operator und "In diese Schmuckfarbe zusammenführen" so spezifisch wie möglich zu wählen, um die richtige Sonderfarbe in der PDF-Datei zu identifizieren, in die die anderen Sonderfarben zusammengeführt werden sollen. Der Grund dafür ist, dass wenn mehr als eine Sonderfarbe auf die “In diese Sonderfarbe zusammenführen” Kondition zutrifft, die Quick Fix Analyse die Sonderfarbe auswählt, welche sie zuerst identifiziert. Somit besteht hier die Gefahr, dass eine falsche Sonderfarbe als Referenz ausgewählt wird, in welche dann die anderen Sonderfarben zusammengefügt werden.

{
	"quickfixes" : 
	[
		{
			"instructions" : 
			[
				{
					"master_spot" : "Firmenrot",
					"operator1" : "equal_to",
					"operator2" : "contains",
					"slave_spot" : "Rot"
				}
			],
			"quickfix" : "merge_spot",
			"version" : "1.0"
		}
	]
}

//		"operator1": "regex|begins_with|contains|does_not_begin_with|does_not_contain|does_not_end_with|ends_with|equal_to|is_contained_in|is_not_contained_in|unequal_to"
//		"operator2": "regex|begins_with|contains|does_not_begin_with|does_not_contain|does_not_end_with|ends_with|equal_to|is_contained_in|is_not_contained_in|unequal_to"

Seitengeometrie-Rahmen (und Seitenbaum)

Seitenbaum anpassen

Dieses Quick Fix wird nur selten erforderlich sein. Es wird immer dann ausgeführt, wenn Quick Fixes zusammen mit Seitengeometrie-Rahmen aufgeführt werden.

Aufgrund der Flexibilität der PDF-Syntax gibt es zahlreiche Möglichkeiten, Seiten und die dazugehörigen Seitengeometrierahmen (mindestens eine MediaBox muss immer definiert werden) in ein PDF zu integrieren. Das "Seitenbaum anpassen"-Quick Fix "normalisiert" die Seitenorganisation in PDFs. Bei mehrseitigen PDFs stellt es sicher, dass nicht mehr als die in "Seitenbaum Knotengröße" angegebene Anzahl von Seiten in einem Seitenbaumknoten vorhanden sind (dies hat nur praktische Auswirkungen auf das Abrufen von Seiten in PDFs mit einer großen Anzahl von Seiten).

Darüber hinaus werden Einträge für Seitengeometrie-Rahmen - die in zwischengeschalteten Seitenbaumknoten vorhanden sein könnten und dann für alle Seiten unter diesem Knoten gelten würden - auf die Seite verschoben für die sie gelten, so dass jede Seite in Bezug auf Seitengeometrie-Rahmen auf eigenen Füßen steht (und sie unabhängig von allen anderen Seiten macht). Noch einmal, dies ist hauptsächlich für eine schnelle Verarbeitung von seitenbezogenen Informationen erforderlich.

{
    "quickfixes": [
        {
            "quickfix": "adjust_pages_tree",
            "version": "1.0",
            "instructions": [
                {
                    "pages_size": 100
                }
             ]
        }
    ]
}

MediaBox auf Ursprung setzen

Dieses Quick Fix hat eine Besonderheit: Es stellt sicher, dass sich die untere linke Ecke der MediaBox bei 0:0 befindet. Seitenrahmen Manipulationen können leicht dazu führen, dass dem nicht so ist. Streng genommen ist das nicht wichtig . Solange die Breite und Höhe der Seitengeometrie-Rahmen – und Ihre relative Position zueinander – korekt sind, ist alles weitere unwichtig. Die untere linke Ecke der MediaBox könnte sogar bei 2000:-900 sein und es gäbe weiterhin kein Problem. Die Ausnahme liegt bei einigen Ausgabe- oder Weiterverarbeitungssystemen, besonders in früheren Jahren, die darauf bestanden, dass bei allen PDFs die MediaBoxen bei 0:0 beginnen. Diese Systeme haben Probleme mit PDFs, deren MediaBox nicht bei 0:0 beginnt und können zu 'unerwarteten' Ausgabe-Ergebnissen führen.

{
    "quickfixes": [
        {
            "quickfix": "set_mediabox_to_origin",
            "version": "1.0",
            "instructions": [
                {
                    "page_selector": "all"
                }
            ]
        }
    ]
}

//		"page_selector": "all|even|odd|<splitscheme_expression>"

Seitendrehung anwenden

Dies wird nur ausgeführt, wenn eine bestimmte Seite einen Rotate entry enthält und dieser Eintrag ungleich Null ist. Für diesen Fall befindet sich der Rotate key zunächst in der Seitenbeschreibung und anschließend wird dieser Rotate key entfernt. Zusätzlich werden die Seitengeometrie-Rahmen, die Position der Kommentare, wie auch Form Felder entsprechend neu ausgerichtet.

{
    "quickfixes": [
        {
            "quickfix": "apply_rotate_key",
            "version": "1.0",
            "instructions": [
                {
                    "page_selector": "all"
                }
            ]
        }
    ]
}

//		"page_selector": "all|even|odd|<splitscheme_expression>"

Seitengeometrie-Rahmen automatisch korrigieren

In diesem Quick Fix ist es möglich, die Seiten zu definieren, deren Seitengeometrie-Rahmen automatisch korrigiert werden sollen:

Korrigiert automatisch enthaltene Seitengeometrie-Rahmen (TrimBox oder ArtBox, BleedBox, CropBox, MediaBox – in dieser Reihenfolge), falls erforderlich, auf allen Seiten definiert durch die Seitenauswahl.

Zusätzlich wird die untere linke Ecke der MediaBox auf den Ursprung gesetzt.

{
    "quickfixes": [
        {
            "quickfix": "auto_correct_page_boxes",
            "version": "1.0",
            "instructions": [
                {
                    "page_selector": "all"
                }
            ]
        }
    ]
}

//		"page_selector": "all|even|odd|<splitscheme_expression>"

Seitengeometrie-Rahmen entfernen

Entfernt den/die ausgewählten Seitengeometrie-Rahmen von der Seiten (definiert durch die Seitenauswahl).

{
    "quickfixes": [
        {
            "quickfix": "remove_page_box",
            "version": "1.0",
            "instructions": [
                {
                    "page_selector": "all",
                    "which_box": "ArtBox"
                }
            ]
        }
    ]
}

//		"page_selector": "all|even|odd|<splitscheme_expression>"
//		"which_box": "CropBox|BleedBox|TrimBox|ArtBox">

Seitengeometrie-Rahmen setzen

Legt Seitengeometrie-Rahmen entweder relativ zu einem vorhandenen Seitengeometrie-Rahmen oder auf absolute Koordinaten fest.

{
    "quickfixes": [
        {
            "quickfix": "set_page_box",
            "version": "1.0",
            "instructions": [
                {
                    "page_selector": "all",
                    "which_box": "CropBox",
                    "from_box_or_absolute":  "BleedBox",
                    "left": 5.0,
                    "bottom": 5.0,
                    "right": 5.0,
                    "top": 5.0,
                    "unit": "mm",
                    "when": "always"
                }
             ]
        }
    ]
}

//		"page_selector": "all|even|odd|<splitscheme_expression>"
//		"which_box": "CropBox|BleedBox|TrimBox|ArtBox"
//		"from_box_or_absolute": "CropBox|BleedBox|TrimBox|ArtBox|absolute"

Seitengeometrie-Rahmen setzen (Ausmaße)

Setzt die Seitengeometrie-Rahmen auf festgelegte Seitengeometrie-Rahmen-Abmessungen.

{
    "quickfixes": [
        {
            "quickfix": "set_page_box_by_dimensions",
            "version": "1.0",
            "instructions": [
                {
                    "page_selector": "all",
                    "which_box": "CropBox",
                    "relative_to": "center",
                    "from_box_or_origin":  "TrimBox",
                    "hor_offset": 0.0,
                    "vert_offset": 0.0,
                    "width": 210.0,
                    "width_is_relative": false,
                    "height": 297.0,
                    "height_is_relative": false,
                    "unit": "mm",
                    "when": "always"
                }
             ]
        }
    ]
}

//		"page_selector": "all|even|odd|<splitscheme_expression>"
//		"which_box": "CropBox|BleedBox|TrimBox|ArtBox"
//		"relative_to": "lower_left_corner|left_center|upper_left_corner|top_center|lower_right_corner|right_center|upper_right_corner|upper_right_corner|bottom_center|center"
//		"from_box_or_origin": "CropBox|BleedBox|TrimBox|ArtBox|origin"

Seiten skalieren, drehen oder spiegeln

Seiten skalieren

Skaliert alle Seiten der PDF, welche über die Seitenauswahl definiert wurden. Zusätzlich wird die untere linke Ecke der MediaBox auf den Ursprung gesetzt.

{
    "quickfixes": [
        {
            "quickfix": "scale_pages",
            "version": "1.0",
            "instructions": [
                {
                    "page_selector": "all",
                    "short_edge": 210,
                    "long_edge": 297,
                    "unit": "mm",
                    "page_scale_mode": "fit_from_inside_add_white_space"
                }
            ]
        }
    ]
}

//		"page_selector": "all|even|odd|<splitscheme_expression>"
//		"page_scale_mode": "fit_from_inside_add_white_space|fit_from_inside_scale_page_edge_proportionally|fit_from_outside_cut_page|fit_from_outside_scale_page_edge_proportionally|stretch_to_fill"

Nur Inhalt skalieren

Skaliert den Seiteninhalt aller Seiten, welche über die Seitenauswahl definiert wurden, auf den gewünschten Prozentwert ohne die Seitendimensionen zu verändern.  Zusätzlich wird die untere linke Ecke der MediaBox auf den Ursprung gesetzt.

{
    "quickfixes": [
        {
            "quickfix": "scale_page_content_only",
            "version": "1.0",
            "instructions": [
                {
                    "page_selector": "all",
                    "relative_to": "center",
                    "scale_to_percent": 110
                }
            ]
        }
    ]
}

//		"page_selector": "all|even|odd|<splitscheme_expression>"
//		"relative_to": "lower_left_corner|left_center|upper_left_corner|top_center|lower_right_corner|right_center|upper_right_corner|upper_right_corner|bottom_center|center"

Seiten vergrößern

Vergrößert den Seitenbereich aller Seiten, welche über die Seitenauswahl definiert wurden, ohne den Seiteninhalt zu verändern.  Zusätzlich wird die untere linke Ecke der MediaBox auf den Ursprung gesetzt.

{
    "quickfixes": [
        {
            "quickfix": "enlarge_pages",
            "version": "1.0",
            "instructions": [
                {
                    "page_selector": "all",
                    "which_edges": "top_and_bottom",
                    "enlarge_by": 10,
                    "unit": "mm"
                }
            ]
        }
    ]
}

//		"page_selector": "all|even|odd|<splitscheme_expression>"
//		"which_edges": "left|bottom|right|top|left_and_right|top_and_bottom|all"

Seiten drehen

Dreht alle Seiten, welche über die Seitenauswahl definiert wurden, um den angegebenen Winkel. Wenn es einen Parameter für die Seitendrehung gibt, wird dieser angewendet. Zusätzlich wird die untere linke Ecke der MediaBox auf den Ursprung gesetzt.

{
    "quickfixes": [
        {
            "quickfix": "rotate_pages",
            "version": "1.0",
            "instructions": [
                {
                    "page_selector": "all",
                    "rotate_by": -90
                }
            ]
        }
    ]
}

//		"page_selector": "all|even|odd|<splitscheme_expression>"

Seiten spiegeln

Spiegelt alle Seiten, welche über die Seitenauswahl definiert wurden, horizontal oder vertikal. Zusätzlich wird die untere linke Ecke der MediaBox auf den Ursprung gesetzt.

let cfg = 
{
    "quickfixes": [
        {
            "quickfix": "flip_pages",
            "version": "1.0",
            "instructions": [
                {
                    "page_selector": "even",
                    "flip_direction": "horizontally"
                }
            ]
        }
    ]
}

//		"page_selector": "all|even|odd|<splitscheme_expression>",
//		"flip_direction": "horizontally|vertically"

Seiten einfügen, duplizieren, entfernen, invertieren, neu anordnen

Leere Seite einfügen

Fügt eine leere Seite vor oder nach den Seiten ein, die durch die Seitenauswahl definiert sind. Die Seitengeometrie-Rahmen werden übernommen von den vorherigen oder nachfolgenden Seiten, wo die leere Seite eingefügt wird.

{
    "quickfixes": [
        {
            "quickfix": "insert_empty_page",
            "version": "1.0",
            "instructions": [
                {
                    "page_selector": "all",
                    "where": "after"
                }
            ]
        }
    ]
}

//		"page_selector": "all|even|odd|<splitscheme_expression>",
//		"where": "before|after"

Seiten duplizieren

Dupliziert die Seite(n), welche durch die Seitenauswahl definiert wurden.

{
    "quickfixes": [
        {
            "quickfix": "duplicate_page",
            "version": "1.0",
            "instructions": [
                {
                    "page_selector": "1,-1"
                }
            ]
        }
    ]
}

//		"page_selector": "all|even|odd|<splitscheme_expression>"

Seiten entfernen

Entfernt die Seite(n), welche durch die Seitenauswahl definiert wurden.

{
    "quickfixes": [
        {
            "quickfix": "remove_page",
            "version": "1.0",
            "instructions": [
                {
                    "page_selector": "2--1"
                }
            ]
        }
    ]
}

//		"page_selector": "all|even|odd|<splitscheme_expression>"

Seitenreihenfolge invertieren

Dieses Quick Fix kehrt die Seitenreihenfolge entsprechend dem definierten 'Seitenselektor' um, z.B. alle Seiten oder nur gerade Seiten usw.

Beispiel: Ein einfaches 10-seitiges PDF mit dem Seitenselektor "1-5" hat danach eine Seitenreihenfolge von: 5,4,3,2,1,6,7,8,9,10.

Weitere Informationen finden Sie hier.

{
    "quickfixes": [
        {
            "quickfix": "invert_pages",
            "version": "1.0",
            "instructions": [
                {
                    "page_selector": "1-5"
                }
            ]
        }
    ]
}

//		"page_selector": "all|even|odd|<splitscheme_expression>"

Seiten neu anordnen

Mit diesem Quick Fix können Sie die Seiten in einem Dokument anhand der angegebenen Attribute neu anordnen:

  • Seitenselektor, der eine Liste sein kann, z.B. 1,2,3 oder ein einfacher Ausdruck usw.
  • Relativ zu (ersten/letzten Seite in PDF/Auswahl)
  • Seitenversatz, d.h. der Ankerpunkt, um den die ausgewählten Seiten neu sortiert werden sollen
  • Einfügen (vor oder nach)
  • Nicht aufeinanderfolgende Auswahlen, entweder
  • als aufeinanderfolgende Seiten einfügen oder
  • Seitenstruktur verschieben

Weitere Informationen finden Sie hier.

{
  	"quickfixes" : 
  	[
  		{
  			"instructions" : 
  			[
  				{
  					"insert_mode" : "shift_pages",
  					"insert_pages" : "insert_before",
  					"page_offset" : -1,
  					"page_selector" : "*3(3)",
  					"relative_to_page" : "first_page"
  				}
  			],
  			"quickfix" : "reorder_pages",
  			"version" : "1.0"
  		}
  	]
}

//		"insert_mode": "insert_consecutive|shift_pages"
//		"insert_pages": "insert_before|insert_after"
//		"page_selector": "all|even|odd|<splitscheme_expression>",
//		"relative_to_page": "first_page|first_sel_page|last_sel_page|last_page"

Ebenen (einschließlich Processing Steps Metadaten)

Ebenensichtbarkeit setzen

Dieses Quick Fix setzt die standardmäßige Sichtbarkeit einer Ebene / mehrerer Ebenen auf sichtbar oder nicht sichtbar.

Wenn "Interpretiere Ebenennamen als Processing Steps Metadaten" aktiviert ist, werden die Namen der Ebene ignoriert, und stattdessen Ihre Processing Steps Metadaten verwendet um zu ermitteln ob ihre Sichtbarkeit Ein/ Aus gestellt werden soll. Processing Steps Metadaten werden immer gespeichert in Kombination von Gruppe und Typ:

  • die Syntax zum Schreiben der Processing Steps Metadata Werte innerhalb der QuickFix Konfiguration lautet: "<Processing Steps Group>:<Processing Steps Type>"
  • zum Beispiel: "Structural:Bleed"
{
    "quickfixes": [
        {
            "quickfix": "set_ocg_visibility",
            "version": "1.0",
            "instructions": [
                {
                    "operator": "contains",
                    "ocg_name": "Die",
                    "interpret_ocg_name_as_processsing_steps_name: false,
                    "visibility" : "on"
                },
                {
                    "operator": "contains",
                    "ocg_name": "Cut",
                    "interpret_ocg_name_as_processsing_steps_name: false,
                    "visibility" : "on"
                }
            ]
        }
    ]
}

//		"operator": "regex|begins_with|contains|does_not_begin_with|does_not_contain|does_not_end_with|ends_with|equal_to|is_contained_in|is_not_contained_in|unequal_to"
//		"interpret_ocg_name_as_processsing_steps_name": true|false <optional: default false>
//		"visibility": "on|off"

Processing Steps Metadaten für Ebene setzen

Dieses Quick Fix fügt Processing Steps Metadaten zu einer Ebene / zu mehreren Ebenen hinzu. Bereits vorhandene Processing Steps Metadaten werden dabei überschrieben.

{
	"quickfixes" : 
	[
		{
			"instructions" : 
			[
				{
					"ocg_name" : "Die",
					"operator" : "contains",
					"processing_steps_group" : "Structural",
					"processing_steps_type" : "Cutting"
				},
				{
					"ocg_name" : "Cut",
					"operator" : "contains",
					"processing_steps_group" : "Structural",
					"processing_steps_type" : "Cutting"
				},
				{
					"ocg_name" : "Stanz",
					"operator" : "contains",
					"processing_steps_group" : "Structural",
					"processing_steps_type" : "Cutting"
				},
				{
					"ocg_name" : "poinc",
					"operator" : "contains",
					"processing_steps_group" : "Structural",
					"processing_steps_type" : "Cutting"
				}
			],
			"quickfix" : "set_processing_steps_metadata_for_ocg",
			"version" : "1.0"
		}
	]
}

//		"operator": "regex|begins_with|contains|does_not_begin_with|does_not_contain|does_not_end_with|ends_with|equal_to|is_contained_in|is_not_contained_in|unequal_to"
//		"processing_steps_group": "<custom>|Structural|Dimensions|Braille|Legend|Positions|White|Varnish"
//		"processing_steps_type": "<custom>|Cutting|PartialCutting|ReversePartialCutting|Creasing|ReverseCreasing|CuttingCreasing|ReverseCuttingCreasing|PartialCuttingCreasing|ReversePartialCuttingCreasing|Drilling|Gluing|FoilStamping|ColdFoilStamping|Embossing|Debossing|Perforating|Bleed|VarnishFree|InkFree|InkVarnishFree|Folding|Punching|Stapling|Hologram|Barcode|ContentArea|CodingMarking|Imprinting

Output Intents

Output Intent einbetten

Dieses Quick Fix bettet den ausgewählten Output Intent ein. Es ist möglich zwischen verschiedenen PDF-Standards zu wählen – etwa PDF/X, PDF/A usw. – als Output Intent (Diese Standards schreiben vor, dass der Output Intent für alle Standards, zu denen eine PDF-Datei Konformität beansprucht, derselbe sein muss, so dass ein einzelner eingebettete Output Intent mehr als einen PDF-Standard in derselben PDF-Datei bedienen kann).

{
    "quickfixes": [
        {
            "quickfix": "embed_outputintent",
            "version": "1.0",
            "instructions": [
                {
                    "outputintent_name": "PSO Coated v3 (ECI)",
                    "outputintent_type" : "AX",
                    "retain_existing_outputintent" : false
                }
            ]
        }
    ]
}

//		"outputintent_type": "A|E|X|AE|AX|EX|AEX|X5n"
//		"retain_existing_outputintent": true|false

Output Intent mit spezifizierten Parametern einbetten

Dieses Quick Fix bettet einen PDF/X-, PDF/A- und/oder PDF/E-Output Intent mit allen Parametern wie dem ICC-Farbprofil (z.B. CoatedFOGRA27.icc) oder einem registrierter Output Intent Name (Output condition identifier), der lediglich eine Beschreibung der beabsichtigten Druckspezifikationen ist (z.B. FOGRA27).

{
	"quickfixes" : 
	[
		{
			"instructions" : 
			[
				{
					"outputintent_condition" : "",
					"outputintent_condition_identifier" : "sRGB",
					"outputintent_filepath_icc" : "/var/folders/lr/0vnqj68514j5w4t1pbd9jz840000gn/T/com.callassoftware.pdfToolboxDT/6642/QuickFix-hNpGsh/Adobe RGB (1998).icc",
					"outputintent_info" : "Creator: HP",
					"outputintent_name_icc" : "Adobe RGB (1998)",
					"outputintent_registry" : "http://www.color.org",
					"outputintent_type" : "A",
					"outputintent_url_referenced_icc" : "",
					"retain_existing_outputintent" : false
				}
			],
			"quickfix" : "embed_outputintent_with_params",
			"version" : "1.0"
		}
	]
}

//		"outputintent_type": "A|E|X|AE|AX|EX|AEX|X5n"
//		"retain_existing_outputintent": true|false

Output Intent auf Seitenebene einbetten

Dieses Quick Fix bettet den angegebenen Output Intent auf Seitenebene ein (mittels Seitenauswahl). Es ist möglich, zwischen verschiedenen PDF-Standards - wie PDF/X, PDF/A usw.

{
    "quickfixes": [
        {
            "quickfix": "embed_page_outputintent",
            "version": "1.0",
            "instructions": [
                {
                    "outputintent_name": "PSO Coated v3 (ECI)",
                    "outputintent_type" : "AX",
                    "retain_existing_outputintent" : false,
                    "page_selector": "odd"
                }
            ]
		 	}
    ]
}

//		"outputintent_type": "A|E|X|AE|AX|EX|AEX|X5n"
//		"retain_existing_outputintent": true|false
//		"page_selector": "all|even|odd|<splitscheme_expression>"

Output Intent auf Seitenebene mit spezifizierten Parametern

Dieses Quick Fix bettet einen PDF/X-, PDF/A- und/oder PDF/E-Output Intent mit allen Parametern wie dem ICC-Farbprofil (z.B. CoatedFOGRA27.icc) oder einem registrierter Output Intent Name (Output condition identifier), der lediglich eine Beschreibung der beabsichtigten Druckspezifikationen ist (z.B. FOGRA27), auf Seitenebene ein (mittels Seitenauswahl).

{
	"quickfixes" : 
	[
		{
			"instructions" : 
			[
				{
					"outputintent_condition" : "",
					"outputintent_condition_identifier" : "sRGB",
					"outputintent_filepath_icc" : "/var/folders/lr/0vnqj68514j5w4t1pbd9jz840000gn/T/com.callassoftware.pdfToolboxDT/6642/QuickFix-ZmSrt7/Adobe RGB (1998).icc",
					"outputintent_info" : "Creator: HP",
					"outputintent_name_icc" : "Adobe RGB (1998)",
					"outputintent_registry" : "http://www.color.org",
					"outputintent_type" : "A",
					"outputintent_url_referenced_icc" : "",
					"page_selector" : "odd",
					"retain_existing_outputintent" : false
				}
			],
			"quickfix" : "embed_page_outputintent_with_params",
			"version" : "1.0"
		}
	]
}

//		"outputintent_type": "A|E|X|AE|AX|EX|AEX|X5n"
//		"retain_existing_outputintent": true|false
//		"page_selector": "all|even|odd|<splitscheme_expression>"

Alle Output Intents entfernen

Dieses QuickFix entfernt all Output Intents aus der PDF-Datei.

{
	"quickfixes" : 
	[
		{
			"instructions" : [ {} ],
			"quickfix" : "remove_outputintents",
			"version" : "1.0"
		}
	]
}

Output Intents auf Seitenebene entfernen

Dieses QuickFix entfernt all Output Intents auf Seitenebene aus der PDF-Datei.

{
	"quickfixes" : 
	[
		{
        "quickfix": "remove_page_outputintents",
        "version": "1.0",
        "instructions": 
        [
            {
                "page_selector": "odd"
            }
        ]
		}
  ]
}


//		"page_selector": "all|even|odd|<splitscheme_expression>"

PDF neu abspeichern

Speichert das PDF Dokument neu ab, indem es die aktuelle Version des PDF Dokuments beibehält. Alternativ kann eine anderen Dokument-Version ausgewählt werden.

{
	"quickfixes" : 
	[
		{
        "quickfix": "fullsave",
        "version": "1.0",
        "instructions": 
        [
            {
                "pdf_version": "retain"
            }
        ]
		}
  ]
}

//		"pdf_version": "retain|1.4|1.5|1.6|1.7|2.0"

PDF/VT DPart

DPart einfügen

Dieses Quick Fix fügt sehr einfache DPart-Daten in eine PDF-Datei ein. Im Wesentlichen, erzeugt es logische Gruppen in Form von Seitenbereichen. Unter Verwendung des Seitenselektor-Syntax, gibt es eine Reihe von Ansätzen, um solche Seitenbereiche zu definieren:

  • explizit, z.B. 1-4, 5-8, 9-12 – erzeugt entsprechend drei Bereiche, funktioniert nur bei PDFs, die genau 12 Seiten enthalten; alle darüber hinausgehenden Seiten werden in einen eigenen Seitenbereich gelegt; bei PDFs mit weniger als 12 Seiten sind ein oder mehrere Seitenbereiche "unvollständig" oder fehlen ganz.
  • Regelbasiert, z.B. 4* – erzeugt einen Seitenbereich von Blöcken zu je 4 Seiten
  • Alle Arten von noch komplexeren Ausdrücken...

Weitere Informationen finden Sie hier.

Der Eintrag für "Knotenname" drückt die Bedeutung der gruppierten Seitenbereiche aus. Das können beliebige Teile eines Buches sein, Kontoauszüge für die Kunden einer Bank, Fotobücher, ...

Wenn die DPPart-Injektion dynamisch auf den Merkmalen oder dem Inhalt eines PDFs basieren soll, ermöglicht die Ausführung einer QuickCheck- oder einer regulären Prüfung in Kombination mit etwas JavaScript innerhalb eines Prozessplans und vor der Ausführung eines QuickFix mit DPart-Injektion, fortgeschrittenere Szenarien auf sehr leistungsfähige Weise anzugehen. Ein Beispiel wird in Form des Prozessplans "Erzeuge DPart Record Information aus Überschriften" geliefert, der mit pdfToolbox 12 ausgeliefert wird.

{
	"quickfixes" : [
		{
			"quickfix" : "inject_dpart",
			"version" : "1.0",
			"instructions" : [
				{
					"grouping_expression" : "1-2,3--3,-2--1",
					"node_name" : "Book_parts"
				}
			]
		
		}
	]
}

JavaScript-basierte Konfiguration

Diese Konfiguration muss ein JavaScript-Objekt zurückgeben, das eine JSON-Serialisierung gemäß der Spezifikation für die QuickFix-Funktionen in der oben dokumentierten Form aufweist. Lesen Sie mehr zu diesem Quick Fix hier.