Neu bei Transloadit: Robot zum Zusammenführen von PDFs
Wir lieben unsere Robots und freuen uns deshalb immer, einen neuen vorzustellen! Im heutigen Blogbeitrag begrüßen wir den Robot /document/merge im Team.

Wie Sie vielleicht schon vermutet haben, führt der Robot /document/merge mehrere PDFs zu einem einzigen Ausgabedokument zusammen. Außerdem kann der Robot mehrere passwortgeschützte PDFs zusammenführen. Übergeben Sie ihm dazu einfach ein Array mit den Eingabepasswörtern. Mit einem Ausgabepasswort können Sie auch die Ausgabe-PDF schützen. Passwortschutz ist ein Bestandteil eines sicheren Workflows und ersetzt keine Zugriffskontrolle für Ihre Uploads, Ihren Speicher und Ihre geteilten Links.
Zwei PDFs zusammenführen
Sehen wir uns das in Aktion an! Das folgende Template führt zwei passwortgeschützte PDFs zusammen. Vielleicht möchten Sie auch eines unserer SDKs nutzen, um Dokumente automatisiert in großen Mengen zu verarbeiten.
<!-- This pulls Uppy from our CDN -->
<!-- For smaller self-hosted bundles, install Uppy and plugins manually: -->
<!-- npm i --save @uppy/core @uppy/dashboard @uppy/remote-sources @uppy/transloadit ... -->
<link
href="https://releases.transloadit.com/uppy/v6.0.6/uppy.min.css"
rel="stylesheet"
/>
<button id="browse">Select Files</button>
<script type="module">
import {
Uppy,
Dashboard,
ImageEditor,
RemoteSources,
Transloadit,
} from 'https://releases.transloadit.com/uppy/v6.0.6/uppy.min.mjs'
const uppy = new Uppy()
.use(Transloadit, {
waitForEncoding: true,
alwaysRunAssembly: true,
assemblyOptions: {
params: {
// It's often better store encoding instructions in your account
// and use a `template_id` instead of adding these steps inline
steps: {
':original': {
robot: '/upload/handle',
},
merge: {
use: {
steps: [':original'],
bundle_steps: true,
},
robot: '/document/merge',
result: true,
input_passwords: ['password1', 'password2'],
},
exported: {
use: ['merge', ':original'],
robot: '/s3/store',
credentials: 'demo_s3_credentials',
url_prefix: 'https://demos.transloadit.com/',
},
},
},
},
})
.use(Dashboard, { trigger: '#browse' })
.use(ImageEditor, { target: Dashboard })
.use(RemoteSources, {
companionUrl: 'https://api2.transloadit.com/companion',
})
.on('complete', ({ transloadit }) => {
// Due to `waitForEncoding:true` this is fired after encoding is done.
// Alternatively, set `waitForEncoding` to `false` and provide a `notify_url`
console.log(transloadit) // Array of Assembly Statuses
for (const assembly of transloadit) {
console.log(assembly.results) // Array of all encoding results
}
})
.on('error', (error) => {
console.error(error)
})
</script>
Diese öffentliche Demo verwendet Beispieldokumente und einfache Demonstrationspasswörter. Sie exportiert sowohl die Originale als auch die unverschlüsselte zusammengeführte PDF in einen öffentlichen Bucket. Verwenden Sie hier nur Dateien ohne sensible Inhalte. Das folgende Beispiel mit privatem Speicher ist für Ihre eigene Integration gedacht.
Wie Sie sehen, verarbeitet Transloadit die PDFs, wenn Sie dem Parameter
input_passwords ein Array mit Passwörtern übergeben.
Anschließend werden die Dokumente zu einer einzigen Ausgabe-PDF zusammengeführt,
die unten zu sehen ist.

Um die Ausgabe mit einem Passwort zu schützen, setzen Sie output_password.
Ersetzen Sie die folgenden Passwortplatzhalter in Ihrem vertrauenswürdigen Backend und verwenden
Sie ein starkes, einzigartiges Ausgabepasswort. Wenn keine Reihenfolge explizit angegeben ist,
werden Eingabedateien alphanumerisch nach Dateinamen sortiert. Geben Sie
input_passwords in derselben Reihenfolge an oder nutzen Sie die
Optionen zur Dokumentreihenfolge.
Legen Sie Template-Zugangsdaten für Ihren privaten S3-Bucket
als gespeicherten Eintrag an und ersetzen Sie YOUR_AWS_CREDENTIALS durch dessen Namen.
Dieses Beispiel exportiert nur die verschlüsselte zusammengeführte PDF.
bucket-default verhindert, dass eine öffentliche Objekt-ACL angefordert wird.
Auch die Bucket-Richtlinie muss weiterhin sicherstellen, dass der Bucket privat bleibt.
Der folgende Pfad bleibt unter dem Richtlinienpräfix uploads/ aus der
Einrichtungsanleitung. Aktualisieren Sie die Richtlinie und den Pfad gemeinsam, wenn Sie dieses
Präfix ändern. Halten Sie Passwörter aus Browsercode, öffentlichen Repositorys und Logs heraus.
{
"steps": {
"merge": {
"use": {
"steps": [":original"],
"bundle_steps": true
},
"robot": "/document/merge",
"input_passwords": ["FIRST_INPUT_PASSWORD", "SECOND_INPUT_PASSWORD"],
"output_password": "REPLACE_WITH_A_STRONG_UNIQUE_PASSWORD",
"result": true
},
"exported": {
"use": "merge",
"robot": "/s3/store",
"credentials": "YOUR_AWS_CREDENTIALS",
"acl": "bucket-default",
"path": "uploads/merged/${unique_prefix}/${file.url_name}"
}
}
}
Das Ausgabepasswort gilt für die zusammengeführte PDF, nicht für die hochgeladenen Originale oder jede Kopie der Daten. Beschränken Sie den Zugriff sowohl auf die Eingabedateien als auch auf die Ergebnisse und teilen Sie das Ausgabepasswort getrennt vom Dokument. Ein schwaches oder offengelegtes Passwort bietet keinen wirksamen Schutz.
Zum Abschluss
Das war unser heutiger Blick auf unseren neuesten Robot. Einige weitere warten bereits auf ihre Vorstellung. Abonnieren Sie unten die Dev Times (English), um über alles rund um Transloadit auf dem Laufenden zu bleiben.
