<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Integration on speedata Publisher</title>
    <link>/de/manual/integration/</link>
    <description>Recent content in Integration on speedata Publisher</description>
    <generator>Hugo</generator>
    <language>de</language>
    <atom:link href="/de/manual/integration/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Lua-Filter / Vorverarbeitung</title>
      <link>/de/manual/integration/preprocessing/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/de/manual/integration/preprocessing/</guid>
      <description>&lt;p&gt;Manchmal möchte man vor der eigentlichen PDF-Erstellung die Daten in ein anderes Format überführen oder auf Korrektheit überprüfen.&#xA;Dafür gibt es die Möglichkeit (seit Version 3.1.9), ein Lua-Skript vor dem eigentlichen Publishing-Lauf auszuführen.&#xA;Lua ist eine einfache, aber mächtige Programmiersprache, die dafür vorgesehen ist, in andere Programme als Skriptsprache einzubauen.&lt;/p&gt;&#xA;&lt;p&gt;Im &lt;a href=&#34;https://github.com/speedata/examples/tree/master/technical&#34; target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Beispiele-Repository&lt;/a&gt; sind drei Anwendungsfälle zu finden.&lt;/p&gt;&#xA;&lt;div class=&#34;admonitionblock&#34;&gt;&#xA;  &lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&#xA;    &lt;td class=&#34;icon&#34;&gt;&lt;svg height=&#34;1.5em&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34; fill=&#34;none&#34; viewBox=&#34;0 0 24 24&#34; stroke-width=&#34;2&#34; stroke=&#34;currentColor&#34; aria-hidden=&#34;true&#34;&gt;&lt;path stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34; d=&#34;M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z&#34;/&gt;&lt;/svg&gt;&lt;/td&gt;&#xA;    &lt;td class=&#34;content&#34;&gt;Seit Version 5.5.14 läuft die Filter-Vorverarbeitung unter Lua 5.4 (vorher Lua 5.1). Skripte, die &lt;code&gt;setfenv&lt;/code&gt;/&lt;code&gt;getfenv&lt;/code&gt;, &lt;code&gt;unpack(...)&lt;/code&gt; (statt &lt;code&gt;table.unpack&lt;/code&gt;), &lt;code&gt;loadstring&lt;/code&gt; oder &lt;code&gt;module(...)&lt;/code&gt; nutzen, müssen entsprechend angepasst werden.&lt;/td&gt;&#xA;  &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;h2&gt;Aufruf des Lua-Skripts&lt;span id=&#34;aufruf-des-lua-skripts&#34; style=&#34;position:absolute;margin-top:-5rem;&#34;&gt;&lt;/span&gt;&#xA;    &lt;a href=&#34;#aufruf-des-lua-skripts&#34; class=&#34;heading-anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Gestartet wird der Filter entweder über die Kommandozeile&lt;/p&gt;</description>
    </item>
    <item>
      <title>Server-Modus (REST API)</title>
      <link>/de/manual/integration/servermode/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/de/manual/integration/servermode/</guid>
      <description>&lt;a href=&#34;https://www.speedata.de/de/preise/&#34; class=&#34;prolink&#34; data-tooltip=&#34;Verfügbar im PRO-Paket&#34; data-flow=&#34;top&#34;&gt;PRO&lt;/a&gt;&#xA;&lt;p&gt;Der Publisher bietet eine Schnittstelle an, mit der über HTTP Aufträge zur Dokumentenerzeugung übergeben werden können. Gestartet wird der Servermodus mit&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sp server&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;auf der Kommandozeile. Der Servermodus bietet die Möglichkeit&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Daten zum Server zu übertragen und einen Lauf zu starten&lt;/li&gt;&#xA;&lt;li&gt;Status des Laufs zu ermitteln (läuft der Prozess noch?)&lt;/li&gt;&#xA;&lt;li&gt;fertige PDF-Dateien herunterzuladen&lt;/li&gt;&#xA;&lt;li&gt;Protokoll- und andere Dateien aus dem Arbeitsverzeichnis abzurufen&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;admonitionblock&#34;&gt;&#xA;  &lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&#xA;    &lt;td class=&#34;icon&#34;&gt;&lt;svg height=&#34;1.5em&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34; fill=&#34;none&#34; viewBox=&#34;0 0 24 24&#34; stroke-width=&#34;2&#34; stroke=&#34;currentColor&#34; aria-hidden=&#34;true&#34;&gt;&lt;path stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34; d=&#34;M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z&#34;/&gt;&lt;/svg&gt;&lt;/td&gt;&#xA;    &lt;td class=&#34;content&#34;&gt;Der Server-Modus ist für eine nicht-öffentliche Umgebung gedacht. Es gibt keine Authentifizierungsmethoden und keine Mechanismen, Dokumente zu schützen.&lt;/td&gt;&#xA;  &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;div class=&#34;admonitionblock&#34;&gt;&#xA;  &lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&#xA;    &lt;td class=&#34;icon&#34;&gt;&lt;svg height=&#34;1.5em&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34; fill=&#34;none&#34; viewBox=&#34;0 0 24 24&#34; stroke-width=&#34;2&#34; stroke=&#34;currentColor&#34; aria-hidden=&#34;true&#34;&gt;&lt;path stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34; d=&#34;M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z&#34;/&gt;&lt;/svg&gt;&lt;/td&gt;&#xA;    &lt;td class=&#34;content&#34;&gt;Die API Version 0 (&lt;code&gt;/v0/...&lt;/code&gt;) ist weiterhin verfügbar, wird aber nicht mehr weiterentwickelt.&#xA;Neue Integrationen sollten die API Version 1 (&lt;code&gt;/v1/...&lt;/code&gt;) verwenden.&lt;/td&gt;&#xA;  &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;Der Server baut die Verbindung auf der IP-Adresse &lt;code&gt;127.0.0.1&lt;/code&gt; und dem Port &lt;code&gt;5266&lt;/code&gt; auf.&#xA;Die Adresse kann mit den Parametern &lt;code&gt;address&lt;/code&gt; und &lt;code&gt;port&lt;/code&gt; in der Konfigurationsdatei bzw. auf der Kommandozeile geändert werden, siehe &lt;a href=&#34;/de/reference/configuration/&#34;&gt;den Anhang über die Konfiguration&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Publisher über Hotfolder starten</title>
      <link>/de/manual/integration/hotfolder/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/de/manual/integration/hotfolder/</guid>
      <description>&lt;p&gt;Der speedata Publisher kann als »Watchdog« ein Verzeichnis beobachten, um bei Veränderungen automatisch zu starten.&#xA;Ein solches Verzeichnis wird auch &lt;em&gt;hotfolder&lt;/em&gt; genannt.&#xA;Man kann Regeln angeben, was passiert, wenn eine bestimmte Datei in dieses Verzeichnis geschrieben wird.&lt;/p&gt;&#xA;&lt;div class=&#34;admonitionblock&#34;&gt;&#xA;  &lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&#xA;    &lt;td class=&#34;icon&#34;&gt;&lt;svg height=&#34;1.5em&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34; fill=&#34;none&#34; viewBox=&#34;0 0 24 24&#34; stroke-width=&#34;2&#34; stroke=&#34;currentColor&#34; aria-hidden=&#34;true&#34;&gt;&lt;path stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34; d=&#34;M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z&#34;/&gt;&lt;/svg&gt;&lt;/td&gt;&#xA;    &lt;td class=&#34;content&#34;&gt;Der Publisher löscht die XML-Datei aus dem Verzeichnis, sobald sie verarbeitet wird.&lt;/td&gt;&#xA;  &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&lt;p&gt;Der Hotfolder wird wie der Publisher über die Datei &lt;code&gt;publisher.cfg&lt;/code&gt; konfiguriert.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Lua-Callbacks</title>
      <link>/de/manual/integration/luacallbacks/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/de/manual/integration/luacallbacks/</guid>
      <description>&lt;p&gt;Einige Teile des Publishing-Laufs lassen sich mit Lua-Funktionen anpassen: die Dateisuche und die Konvertierung von Bildern mit externen Programmen.&#xA;Dazu wird eine Lua-Datei über die Konfigurationseinstellung &lt;code&gt;luafile&lt;/code&gt; (oder auf der Kommandozeile mit &lt;code&gt;--luafile&lt;/code&gt;) angegeben, zum Beispiel:&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;luafile = hooks.lua&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Die Datei wird zu Beginn des Publishing-Laufs geladen, noch bevor Layout- und Datendatei geöffnet werden.&#xA;Sie registriert Funktionen für feste Callback-Namen mit &lt;code&gt;register_callback()&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-lua&#34; data-lang=&#34;lua&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;register_callback&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;lookup_file&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;kr&#34;&gt;function&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;name&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;-- ...&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;end&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Die Einstellung wird mit Absicht nur aus der Konfigurationsdatei und von der Kommandozeile gelesen.&#xA;Sie kann nicht im Layout gesetzt werden, damit ein Layout niemals Code in den Publishing-Prozess einschleusen kann (Stichwort Servermodus).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Publisher Webservice API</title>
      <link>/de/manual/integration/saasapi/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/de/manual/integration/saasapi/</guid>
      <description>&lt;a href=&#34;https://www.speedata.de/de/preise/&#34; class=&#34;prolink&#34; data-tooltip=&#34;Verfügbar im PRO-Paket&#34; data-flow=&#34;top&#34;&gt;PRO&lt;/a&gt;&#xA;&lt;p&gt;Der speedata Publisher kann auch ohne lokale Installation benutzt werden.&#xA;Dafür steht unter &lt;a href=&#34;https://api.speedata.de&#34; target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;https://api.speedata.de&lt;/a&gt; eine sogenannte Software-as-a-Service Lösung zur Verfügung, die über eine REST-Schnittstelle benutzt werden kann.&lt;/p&gt;&#xA;&lt;p&gt;Damit die speedata Publisher API angesteuert werden kann, muss ein gültiges Pro-Paket vorliegen und ein API Schlüssel (token) im Download-Bereich erzeugt werden. Mit diesem Schlüssel kann man dann alle Funktionen ansprechen.&lt;/p&gt;&#xA;&lt;h2&gt;Authentifizierung&lt;span id=&#34;authentifizierung&#34; style=&#34;position:absolute;margin-top:-5rem;&#34;&gt;&lt;/span&gt;&#xA;    &lt;a href=&#34;#authentifizierung&#34; class=&#34;heading-anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Alle Methoden, deren Pfad mit &lt;code&gt;/v0&lt;/code&gt; anfangen, müssen mit einem Benutzernamen authentifiziert werden:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Dateianhänge</title>
      <link>/de/manual/integration/attachments/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/de/manual/integration/attachments/</guid>
      <description>&lt;p&gt;Das PDF Dateiformat bietet die Möglichkeit, Dateien in das Dokument einzubetten, so dass diese dann als eigenständige Dokumente heruntergeladen werden können.&#xA;Elektronische Rechnungen können z.B. als »menschenlesbares« PDF mit einer angehängten computerlesbaren Beschreibung (als XML) verschickt werden.&lt;/p&gt;&#xA;&lt;p&gt;Es können beliebig viele Dateien angehängt werden, jedoch nur eine ZUGFeRD-Rechnung.&lt;/p&gt;&#xA;&lt;h2&gt;Anhängen von Dateien&lt;span id=&#34;anhängen-von-dateien&#34; style=&#34;position:absolute;margin-top:-5rem;&#34;&gt;&lt;/span&gt;&#xA;    &lt;a href=&#34;#anh%c3%a4ngen-von-dateien&#34; class=&#34;heading-anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;&amp;lt;AttachFile&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;description=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;A nice view&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;na&#34;&gt;type=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;application/pdf&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;na&#34;&gt;filename=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;ocean.pdf&amp;#34;&lt;/span&gt; &lt;span class=&#34;nt&#34;&gt;/&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Mit diesem Befehl hängt man eine Datei an das PDF an. Der Typ ist der &lt;a href=&#34;https://de.wikipedia.org/wiki/Internet_Media_Type&#34; target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Mime-Typ&lt;/a&gt; der angehängten Datei.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Barrierefreiheit / getaggtes PDF</title>
      <link>/de/manual/integration/accessibility/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/de/manual/integration/accessibility/</guid>
      <description>&lt;h2&gt;Was ist tagged PDF?&lt;span id=&#34;was-ist-tagged-pdf&#34; style=&#34;position:absolute;margin-top:-5rem;&#34;&gt;&lt;/span&gt;&#xA;    &lt;a href=&#34;#was-ist-tagged-pdf&#34; class=&#34;heading-anchor&#34; aria-hidden=&#34;true&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Tagged PDF ist eine Erweiterung der PDF Datei um eine logische Struktur der Inhalte. Mit den Tags wird bestimmt, was das auszugebende Objekt für eine Rolle hat, z.B. Überschrift der Ebene 1, ein Absatz oder eine Abbildung. Das dient hauptsächlich dazu, barrierefreie PDFs zu erzeugen, also PDFs die für Screenreader oder ähnliche Ausgabegeräte optimiert sind.&lt;/p&gt;&#xA;&lt;p&gt;Für barrierefreie PDFs muss man nicht nur die technische Seite beachten (dafür ist der speedata Publisher da), sondern auch die logische Struktur sinnvoll erzeugen. Beispielsweise müssen Bilder mit einem alternativen Text ausgegeben werden, sonst ist die Nutzung eingeschränkt.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
