Barcode durch Verwendung eines HTML-Templates zur erweiterten Konfiguration platzieren

Mit pdfToolbox  ist es möglich, beim Platzieren von Barcodes weitaus mehr Parameter zu verwenden als die für die Korrektur.

Um die Benutzeroberfläche einfach zu halten, sind weitere Einstellungen möglich und zwar für die mehr als 100 unterschiedlichen Barcodes, die unterstützt werden, konfigurierbar über ein HTML-basiertes Template, womit der Inhalt positioniert wird.

Platzieren eines "Code 39" Barcodes: vereinfachtes Beispiel

Sie benötigen zuerst eine neue Korrektur des Types: “Inhalte auf Seite platzieren”.
Wie sich so eine Korrektur erstellen lässt, wird in diesem Artikel beschrieben.

Bei Verwendung eines HTML-Templates zum Barcode platzieren, müssen Sie den HTML-Template-Ordner festlegen.
Klicken Sie auf 'Ordner mit Konfigurationsdateien öffnen' in der "Ordner"-Auswahlliste dieser Korrektur. Sobald der Ordner und Dateistruktur der HTML, styles sowie Scripte ausgewählt wurden,  kann dieses Template in der 'Inhalte platzieren'-Korrektur verwendet werden.

Um einen Barcode wie in diesem Beispiel zu platzieren, werden die Konfigurationsdateien innerhalb des  'Barcode mit dynamischem Inhalt'-Ordner in dem HTML-Templates-Verzeichnis erstellt.

Der Ordner 'Barcode mit dynamischem Inhalt' enthält die vorgeschriebene index.html, die scripts-Ordner mit JavaScript-Dateien, den styles-Ordner für CSS-Dateien.

Die index.html wie im folgenden Code hat den body-Bereich mit den wichtigsten Teilen. Zusammen mit der Breite, Höhe und den Typ des Barcodes, enthält es darüber hinaus weitere Parameter.

<html>
<head>
	<meta charset='utf-8'>
	<link rel="stylesheet" href="styles/styles.css"  type="text/css"/>
	<script type="text/javascript" src="callas_tmp/calsDocInfo.js"></script>
	<script type="text/javascript" src="scripts/jquery-min.js"></script>
	<script type="text/javascript" src="scripts/script.js"></script>
</head>
	
<body>
	<object id="id_barcode" class="barcode" type="application/barcode" style="width:50mm; height:10mm;">
		<param name="type" value="Code 39 Full ASCII">
		<param id="id_barcodedata" name="data" value="default">
		<param name="quietzonebottom" value="2">
		<param name="quietzonetop" value="2">
		<param name="quietzoneleft" value="2">
		<param name="quietzoneright" value="2">
		<param name="quietzoneunit" value="mm">
		<param name="textplacement" value="none">
	</object>
</body>
</html>
Click to copy

Um den Typ des zu platzierenden Barcodes zu definieren, können Sie aus über 100 Typen wählen. Unser Beispiel oben gibt etwa '<param name="type" value="Code 39 Full ASCII">' an. 

Andere Parameter wie 'quietzonebottom', 'quietzonetop' und zahllose weitere Einstellungen können definiert in der index.html werden und sind im Detail auch beschrieben.

In Abhängigkeit von den Parametern zur Platzierung können Sie auch im pdfToolbox-Dialog (untere linke Ecke, Oberer Seitenbereich, Seitenmitte usw. ebenso auch die referenzierten Seiten-Rahmen festlegen wie CropBox, TrimBox usw. Der "Code 39"-Barcode wird dann zur PDF beim Ausführen der Korrektur hinzugefügt.


Den Barcode-Wert von der definierten Variable im HTML-Template (durch Verwendung von Javascript) erhalten

Hier sehen Sie ein 'Place barcode' Profil, das Javascript verwendet, um den Barcode-Wert in dem HTML-Template zu erhalten, aus der Variable definiert innerhalb der Korrektur. Die Variable mit Namen 'place_barcode' für den Barcode-Wert wird außerdem in der Korrektur (hervorgehoben mit einem Pfeil) definiert:

Das script.js verwendet diese Variablen-Wert und setzt ihn im HTML-Template (nur ein Teil des Scriptes ist abgebildet):

function cchipPrintLoop() {

	// Calculate the page range we need to execute this on
	var theLowerLimit = 0; 
	var theUpperLimit = cals_doc_info.pages.length;

	// Loop over all pages
	for( var thePageIndex = theLowerLimit; thePageIndex < theUpperLimit; thePageIndex++ ) {

		// Set the variable value
		const theVariablevalue = getVariableValue( 'place_barcode' );
		setBarcode( theVariablevalue );

		// Our generated PDF file will be just as big as the barcode
		adjustDocumentSizeToHtmlElement( '#id_barcode' );

		// Output to the current page
		cchip.printPages(1);
	}
}

//-------------------------------------------------------------------------------------------------
// Utility routines
//-------------------------------------------------------------------------------------------------

function setBarcode(d) {
.
.
.
Click to copy

Für den Fall, dass Sie eigene Scripte in einem angehängten Profil schreiben oder Änderungen durchführen wollen, ist es sehr wichtig, ein Update der Parameter des Barcode-Objektes zu erzwingen, wie hier dargestellt:

//force update for parameters of the barcode object:
		var b = document.getElementById('id_barcode');
		b.innerHTML = b.innerHTML;
Click to copy

Sie wissen nun, das callas pdfToolbox für die "Inhalte auf Seite platzieren"-Korrektur eine HTML-Datei verwendet und diese ins PDF konvertiert. Dies gibt eine Menge Freiheit in der HTML-Struktur , wie man andere Dateien verknüpft etwa Scripte, CSS und Schriftdateien und in der Struktur des Ordners, der das eigentliche Template enthält. Es gibt bereits einen Template-Ordner auf GitHub, wo Sie einen möglichen Ansatz erhalten, dies umzusetzen. Sie finden eine großzügige Verwendung von Unterordnern und CSS sowie JavaScripte, anstatt Sie in die HTML-Datei aufzunehmen. Sie sind darin völlig frei, dem Standard zu folgen oder Ihren eigenen zu entwickeln.