Zum Hauptinhalt springen

PDFs in Power Automate nach Text aufteilen: Mit PDF4me einen Scanstapel in separate Dateien umwandeln

· 23 Minuten Lesezeit
SEO and Content Writer

PDF4me PDF nach Text aufteilen ist eine Power Automate-Aktion, die eine PDF-Datei in mehrere Dateien aufteilt, sobald eine Textmarkierung erscheint. Dieser Flow überwacht einen SharePoint-Ordner und teilt jeden neuen Scan an einer bestimmten Stelle auf. Serial#: Der Marker speichert die Ergebnisse anschließend in Dropbox. Ein Stapelscan erzeugt drei benannte Dateien, ohne dass Seiten manuell ausgewählt werden müssen.

Jeder, der einen Scanner benutzt, kennt das Problem: Man legt einen Stapel Dokumente in den Einzug, drückt einmal auf Scannen, und erhält eine einzige PDF-Datei mit zwanzig zusammenhanglosen Datensätzen. Online-Tools wie der Seitenteiler auf der ersten Google-Seite beheben das Problem zwar problemlos, solange die Datei manuell hochgeladen, die einzelnen Teile ausgewählt und heruntergeladen werden. Einmal mag das noch funktionieren. Nicht aber, wenn der Scanner jeden Morgen läuft. Dieser Ablauf eliminiert den menschlichen Faktor komplett.

Der Fluss im Überblick
1. When a file is created in a folder
SharePoint trigger watching /Shared Documents/ScanSplitInput.
2. PDF - Split PDF by Text
PDF4me cuts the scan before every page carrying the Serial#: marker.
3. For each
Loops over body/splitedDocuments, once per split file.
4. Create file
Dropbox writes each piece into /ScanSplitOutput under its own name.
Die Kurzfassung

Ein Scan landet in einer SharePoint-Bibliothek. PDF4me liest die Textebene, findet alle Seiten, die einen neuen Datensatz beginnen, und gibt ein Array mit einzelnen PDFs zurück. Eine For-Each-Schleife durchläuft dieses Array und speichert jede Datei in Dropbox. Vier Aktionen, keine zu schreibenden Ausdrücke – und der gesamte Vorgang ist in weniger als sechs Sekunden abgeschlossen.

Warum-basierte Fragen und Antworten

Warum die Aufteilung anhand des Textes und nicht anhand der Seitenzahl? Die Seitenzählung funktioniert nur, wenn alle Datensätze die gleiche Länge haben. In der Praxis sind Datensätze jedoch nicht einheitlich. Eine Rechnung umfasst eine Seite, die nächste vier. Ein Textmarker wird mit dem Datensatz mitgespeichert, sodass die Aufteilung unabhängig von der Länge der Datensätze korrekt bleibt.

Warum benötigt die PDF-Datei eine Textebene? Die Aktion durchsucht den Text im Dokument, nicht die Pixel. Bei einem fotografierten oder Flachbettscanner ohne OCR-Anwendung gibt es keinen Text zu finden, daher liefert jede Übereinstimmung ein leeres Ergebnis. Führen Sie zuerst eine OCR-Untersuchung durch; der gleiche Ablauf funktioniert auch mit Papieroriginalen.

Warum eine For-Each-Schleife nach der Aufteilung? Die Aktion liefert ein Array zurück, keine einzelne Datei. Power Automate kann ein Array nicht in einem Schritt speichern, daher wandelt die Schleife „drei Dokumente“ in drei separate Aufrufe zum Erstellen von Dateien um.

Warum wird die Ausgabe an Dropbox und nicht zurück an SharePoint gesendet? Hauptsächlich aus Gewohnheit, außerdem bleiben die Eingabe- und Ausgabeverzeichnisse während des Tests optisch getrennt. Ersetzen Sie die letzte Aktion durch „SharePoint-Datei erstellen“, und der restliche Ablauf bleibt unverändert.


Was Sie erhalten

Eingang: Eine PDF-Datei mit mehreren Datensätzen wurde in eine SharePoint-Dokumentbibliothek eingefügt, wobei jeder Datensatz mit einer Zeile beginnt, die Serial#: SPTEST-A, Serial#: SPTEST-B, und so weiter. Ausgabe: Für jeden Datensatz wird eine PDF-Datei in einem Dropbox-Ordner gespeichert, die jeweils genau die Seiten enthält, die zu diesem Datensatz gehören.

Die SharePoint-Dokumentenbibliothek zeigt den Ordner „ScanSplitInput“ mit den Dateien „scan-split-test.pdf“ und „sharepoint-trigger-test.pdf“, die beide vom Pdf4me Flow-Konto bearbeitet wurden.

Der überwachte SharePoint-Ordner. Alles, was hier landet, startet einen Lauf.

Der Dropbox-Ordner „ScanSplitOutput“ listet die Dateien sharepoint-trigger-test 1.pdf, sharepoint-trigger-test 2.pdf und sharepoint-trigger-test 3.pdf auf, die durch die Aufteilung erzeugt wurden.

Ein dreiseitiger Scan wird eingegeben, drei separat nummerierte PDFs werden ausgegeben.


Was Sie benötigen

  • Power AutomateDie Power Automate öffnenEine Standardlizenz für Microsoft 365 deckt alles ab, was hier verwendet wird. Dies ist ein Cloud-Workflow, nicht Power Automate Desktop.
  • PDF4me API-SchlüsselDie Holen Sie sich Ihren API-SchlüsselVerbinden Sie es beim ersten Hinzufügen einer PDF4me-Aktion.
  • Eine SharePoint-Website und ein Dropbox-KontoErstellen Sie vor dem Erstellen des Flows einen Eingabeordner in einer SharePoint-Dokumentbibliothek und einen Ausgabeordner in Dropbox, damit beide Auswahlfelder einen Zielordner haben.
  • Eine Test-PDF mit sich wiederholenden TextmarkierungenDie scan-batch-sample.pdfDrei Seiten, jede mit einer eigenen Seriennummernzeile.

Schnapp dir zuerst die Muster. Laden Sie die Eingabe-PDF-Datei herunter und laden Sie sie nach dem Speichern des Flows in Ihren SharePoint-Eingabeordner hoch. Die drei erwarteten Ausgabedateien sind ebenfalls verfügbar, sodass Sie sie mit den Ergebnissen Ihres eigenen Durchlaufs vergleichen können.


Der Flow auf einen Blick

  1. Wenn eine Datei in einem Ordner erstellt wird (SharePoint-Trigger) zeigte auf /Shared Documents/ScanSplitInputDie
  2. PDF – PDF nach Text aufteilen (PDF4me) mit dem Suchtext Serial#:(.*) und Split-Typ beforeDie
  3. Für jeden iterativ body/splitedDocumentsDie
  4. Datei erstellen (Dropbox) Schreiben in /ScanSplitOutputDie

Vollständige Ablaufübersicht

Der Ausführungsverlauf von Power Automate zeigt vier erfolgreich abgeschlossene Aktionen in der angegebenen Reihenfolge: SharePoint: Datei in einem Ordner erstellen (0,3 Sekunden), PDF: PDF nach Text aufteilen (0,4 Sekunden), „Für jedes Element“ (4 Sekunden, erste von drei Iterationen) und Dropbox: Datei erstellen (1 Sekunde).

Der gesamte Ablauf besteht aus vier Aktionen. Bei jedem Zählerstand „1 von 3“ erfüllt die Aufteilung ihre Funktion.


Schritt 1: Wie überwacht man einen SharePoint-Ordner auf neue Scans?

Bisheriger Ablauf: Noch nichts, das ist der Auslöser.

Der Trigger wird immer dann ausgelöst, wenn eine Datei in einem bestimmten Ordner einer Dokumentbibliothek erscheint. Wählen Sie den Ordner so genau wie möglich. Wenn Sie ihn auf das Stammverzeichnis einer gemeinsam genutzten Bibliothek verweisen, wird bei jedem nicht zugehörigen Upload ein Durchlauf gestartet.

  1. Erstellen Sie ein neues Automatisierter Cloud-Flow und durchsuchen Sie die Triggerliste nach Wenn eine Datei in einem Ordner erstellt wirdDie
  2. Konfigurieren:
    • StandortadresseIhre Website, zum Beispiel PDF4me Sharepoints - https://ynoox1.sharepoint.com/sites/PDF4meSharepoints
    • Ordner-ID: /Shared Documents/ScanSplitInput
  3. Offen Erweiterte Parameter und einschalten Inhaltstyp ableitenDann stelle es auf YesDie

SharePoint-Triggerkonfiguration

Power Automate: Wenn in einem Ordner eine Datei erstellt wird, wird ein Trigger-Panel ausgelöst, dessen Websiteadresse auf „PDF4me SharePoints“, dessen Ordner-ID auf „/Shared Documents/ScanSplitInput“ und dessen erweiterter Parameter „Inhaltstyp ableiten“ auf „Ja“ eingestellt ist.

Die Einstellung „Infer Content Type“ auf „Ja“ bewirkt, dass der Trigger Ihnen echte PDF-Bytes und nicht einen generischen Blob liefert.

Tipp. Dieser Trigger ist im Picker mit dem Label „(veraltet)“ gekennzeichnet. Er funktioniert weiterhin und ist der hier gezeigte, aber für einen neuen Produktionsablauf ist ein anderer Trigger vorzuziehen. Wenn eine Datei erstellt wird (nur Eigenschaften) gefolgt von Dateiinhalt abrufenDer restliche Ablauf ist identisch, da beide Routen mit den Dateibytes enden. Microsoft listet jeden Trigger und seinen Status in der SharePoint-Connector-ReferenzDie


Schritt 2: Wie entscheidet Split PDF by Text, wo geschnitten werden soll?

Bisheriger Ablauf: SharePoint-Trigger.

Das ist der eigentliche Arbeitsschritt. Er liest die Textebene des Dokuments, findet alle Seiten, die Ihren Suchtext enthalten, und teilt das Dokument an diesen Seiten. Alles andere ist nur die technische Umsetzung.

  1. Füge einen neuen Schritt hinzu und suche nach PDF – PDF nach Text aufteilenDie
  2. Konfigurieren:
    • Dateiinhalt: File Content vom Auslöser
    • Dateiname: x-ms-file-name-encoded vom Auslöser
    • Text: Serial#:(.*)
    • Split-Typ: before
    • Aufgeteilte Dateibenennung: NameAsPerOrder
  3. Verbinden Sie Ihr PDF4me-Konto, wenn Sie dazu aufgefordert werden.

PDF nach Text aufteilen

ParameterHier verwendeter WertWas es kontrolliert
DateiinhaltFile Content vom AuslöserDie aufzuteilenden PDF-Bytes. Es muss sich um ein echtes PDF mit einer durchsuchbaren Textebene handeln.
Dateinamex-ms-file-name-encodedDer Quellname wird zur Verarbeitungsidentifizierung und als Stamm für die Ausgabenamen verwendet.
TextSerial#:(.*)Die Markierung, die einen neuen Datensatz einleitet. Beim Abgleich wird zwischen Groß- und Kleinschreibung unterschieden, daher serial#: würde nichts finden.
Split-TypbeforeSchneidet unmittelbar vor jeder passenden Seite, sodass die Markierungsseite ein eigenes Dokument öffnet. after stattdessen den vorherigen Vorgang zu schließen.
Aufgeteilte DateibenennungNameAsPerOrderNummeriert die Ausgänge in der Reihenfolge, in der sie geschnitten wurden, und erzeugt name 1.pdf, name 2.pdf, name 3.pdfDie
PDF4me PDF Split PDF by Text Aktionsbereich zeigt Dateiinhalte an, die vom SharePoint-Trigger zugeordnet sind, Dateinamen, die x-ms-file-name-encoded zugeordnet sind, Text, der auf das Suchmuster Serial# festgelegt ist, Split-Typ, der auf "Vorher" festgelegt ist, und die Dateibenennung für die Aufteilung auf "NameAsPerOrder" festgelegt ist.

Der vorherige Split-Type-Befehl beschreibt den Unterschied zwischen einer Markierung, die ihren Datensatz öffnet, und einer, die den darüberliegenden schließt. Wird dieser Befehl umgekehrt ausgeführt, ist jede Datei um eine Seite verschoben.

Tipp. Wählen Sie eine Markierung, die an keiner anderen Stelle im Dokument vorkommen darf. Serial#: ist sicher. Ein bloßes Wort wie Invoice ist nicht der Fall, denn es würde auch den Ausdruck „Rechnungssumme“ etwa in der Mitte der Seite finden und auch dort aufteilen.


Schritt 3: Warum benötigen Sie hier eine For-Each-Schleife?

Bisheriger Ablauf: SharePoint-Trigger plus PDF nach Text aufteilen.

Die Split-Aktion gibt ein Array namens zurück splitedDocumentsJeder Eintrag enthält eine Ausgabedatei. Power Automate bietet keine Möglichkeit, ein gesamtes Array in einer einzigen Aktion zu speichern, daher muss das Array Eintrag für Eintrag durchlaufen werden.

  1. Füge ein Kontrolle Aktion und Auswahl Für jedenDie
  2. Konfigurieren:
    • Wählen Sie eine Ausgabe aus den vorherigen Schritten aus.: body/splitedDocuments aus der Aktion „PDF nach Text aufteilen“
  3. Lassen Sie die Parallelität der Schleife auf dem Standardwert. Diese Dateien sind klein, und die Reihenfolge ist leichter lesbar, wenn die Ausführungen sequenziell erfolgen. Microsoft dokumentiert die Parallelitäts- und Verschachtelungsgrenzen in der Auf jede Referenz anwendenDie

Für jede Konfiguration

Power Automate: Für jedes Aktionsfeld mit dem Feld „Ausgabe aus vorherigen Schritten auswählen“, das mit dem Token „body/splittedDocuments“ aus der PDF4me-Aktion „PDF nach Text aufteilen“ gefüllt ist

Ein Token entspricht der gesamten Konfiguration. Wenn Power Automate Ihre Aktion „Datei erstellen“ automatisch in eine Schleife eingebunden hat, ist dies bereits geschehen.

Diese eine Zeile entscheidet darüber, ob der Ablauf funktioniert. Wenn Sie die Schleife auf etwas anderes als body/splittedDocumentsDie darin enthaltene Aktion „Datei erstellen“ wird entweder einmal mit der falschen Nutzlast ausgeführt oder gar nicht.


Schritt 4: Wie speichere ich die einzelnen aufgeteilten Dateien in Dropbox?

Bisheriger Ablauf: SharePoint-Trigger plus PDF nach Text aufteilen plus Für jedes Element.

Innerhalb der Schleife gibt jede Iteration die aktuelle aufgeteilte Datei über zwei Tokens frei: fileName Und streamFile. Ordnen Sie sie waagerecht an.

  1. Im Inneren Für jeden Block, füge einen hinzu Dropbox Aktion und Auswahl Datei erstellenDie
  2. Konfigurieren:
    • Ordnerpfad: /ScanSplitOutput
    • Dateiname: fileName
    • Dateiinhalt: streamFile
  3. Verbinden Sie Ihr Dropbox-Konto, wenn Sie dazu aufgefordert werden.

Dropbox Dateikonfiguration erstellen

Dropbox-Aktionsbereich „Datei erstellen“ innerhalb der „Für jede“-Schleife mit Ordnerpfad auf „/ScanSplitOutput“, Dateiname dem Token „fileName“ und Dateiinhalt dem Token „streamFile“ aus der PDF4me-Split-Aktion zugeordnet.

fileName und streamFile stammen vom aktuellen Schleifenelement, nicht vom Auslöser. Beide Token tragen das PDF4me-Symbol.

Tipp. Halten Sie den Ausgabeordner vom Eingabeordner getrennt. Das Zurückschreiben von aufgeteilten Dateien in den Ordner, den der Trigger überwacht, erzeugt eine Schleife, die bei ihrer eigenen Ausgabe erneut ausgelöst wird, was eine aufwändige Methode ist, das Problem zu finden.


Führen Sie den Flow aus und überprüfen Sie ihn.

  1. Speichern der Fluss oben rechts.
  2. Hochladen scan-batch-sample.pdf Der Trigger überwacht den SharePoint-Ordner. Da der Trigger regelmäßig abfragt, kann es eine Minute dauern, bis er ausgeführt wird.
  3. Öffne den Flow Laufverlauf und bestätigen Sie, dass alle vier Aktionen mit einem grünen Häkchen versehen sind. Der „Für jeden“-Block zeigt einen Zähler an, der Folgendes anzeigen sollte: 1 von 3 für die Beispieldatei.
  4. Offen /ScanSplitOutput in Dropbox. Sie sollten drei PDFs mit den Nummern 1, 2 und 3 sehen, die jeweils genau einen Datensatz mit der Seriennummer enthalten.

Was hast du denn genau gebaut? Ein inhaltsbasierter Dokumententrenner. Dieselben vier Aktionen funktionieren für jeden Stapel, bei dem sich jeder Datensatz durch eine konsistente Zeichenfolge ankündigt, sei es eine Rechnungsnummer, eine Patienten-ID, eine Fallreferenz oder eine Kapitelüberschrift. Dieselbe PDF4me-Aktion existiert in Machen, Zapier Und n8nDas Muster lässt sich also von Plattform zu Plattform übertragen, wobei sich lediglich die Auslöse- und Speicherschritte ändern.


Häufige Variationen, die Sie hinzufügen können, ohne den Aufbau zu wiederholen

OCR-Scan zuerst
Papieroriginale enthalten keine Textebene. Fügen Sie eine PDF4me-OCR-Aktion zwischen dem Auslöser und der Teilung ein, und Scans, die nur aus Bildern bestehen, beginnen, dieselbe Markierung zu erkennen.
Aufteilen anhand eines Barcodes
Wenn Ihr Scanner Trennblätter einlegt, tauschen Sie die Aktion aus. PDF nach Barcode aufteilenGleiche Schleife, gleiche Dateierstellung, unterschiedliche Erkennungsmethode.
Route nach Inhalt
Füge innerhalb der Schleife eine Bedingung hinzu, die den aktuellen Dateinamen liest und für jedes Präfix in einen anderen Ordner schreibt. Ein Durchlauf verteilt sich dann auf mehrere Ziele.
PDF4me im Vergleich zu den Alternativen
In der Vergleichstabelle unten sehen Sie, wie sich dieser Ansatz von manuellen Online-Splittern und von Power Automate Desktop unterscheidet.
Cloud-Flow im Vergleich zu den AlternativenLäuft unbeaufsichtigtUneinigkeit über den InhaltBenötigt einen Desktop-Computer
PDF4me in einem Power Automate Cloud-FlowJaJa, auf jeder TextmarkierungNEIN
Manueller Online-SplitterNein, jede Datei wird von einem Menschen hochgeladen.Manchmal, über die SeitenauswahlNEIN
Power Automate DesktopNur solange die Maschine eingeschaltet istHängt von den installierten Aktionen ab.Ja

Häufig gestellte Fragen

Wie kann man eine PDF-Datei in Power Automate aufteilen?

Füge die PDF – PDF nach Text aufteilen Aktion von PDF4me zu einem Cloud-Flow, Zuordnung der PDF-Bytes in Dateiinhaltund gib ihm ein Text Wert, nach dem gesucht werden soll. Die Aktion gibt ein Array separater PDFs zurück. body/splitedDocuments. Umschließen Sie eine Speicheraktion wie Dropbox Datei erstellen in einem Für jeden Iteriere über das Array und speichere jedes einzelne Element.

Es ist kein Ausdruck erforderlich. Die vier in diesem Beitrag gezeigten Aktionen stellen den gesamten Ablauf dar.

Kann Power Automate eine PDF-Datei anhand ihres Inhalts aufteilen?

Ja, genau das macht dieser Workflow. Power Automate bietet keine integrierte PDF-Aufteilungsfunktion, daher kommt die Inhaltserkennung vom PDF4me-Connector. Dieser liest die Textebene des Dokuments und trennt es an allen Stellen, an denen Ihre Suchzeichenfolge vorkommt. Die Aufteilung folgt also den Datensätzen und nicht einer festen Seitenzahl.

Die einzige Voraussetzung ist eine echte Textebene. Ein Scan, der noch nie per OCR verarbeitet wurde, ist für die Suche lediglich eine Ansammlung von Wörtern.

Wie teilt man eine PDF-Datei in Power Automate in mehrere Dateien auf?

Das Aufteilen selbst ist ein Vorgang, aber das Extrahieren mehrerer Dateien erfordert zwei. PDF nach Text aufteilen erzeugt das Array und ein Für jeden Die Schleife wandelt das Array in einen einzelnen „Datei erstellen“-Aufruf pro Dokument um. Das Überspringen der Schleife ist der häufigste Grund dafür, dass am Ende nur eine Ausgabedatei anstatt mehrerer entsteht.

Im hier gezeigten Beispieldurchlauf erzeugt ein Scan von drei Datensätzen drei Dateien mit den Namen sharepoint-trigger-test 1.pdf durch sharepoint-trigger-test 3.pdf, Weil Aufgeteilte Dateibenennung wurde eingestellt NameAsPerOrderDie

Funktioniert das Teilen von PDFs in Power Automate Desktop?

Dieser Workflow ist bewusst cloudbasiert. Er läuft auf der Microsoft-Infrastruktur, sobald eine Datei in SharePoint landet – ohne dass ein Server laufen oder ein Gateway gewartet werden muss. Power Automate Desktop kann zwar dieselbe PDF4me-API aufrufen, allerdings müssen Sie dann einen Server mit regelmäßigen Zugriffen und dessen Verfügbarkeit verwalten.

Wenn Ihre Dokumente bereits in SharePoint, OneDrive oder Dropbox gespeichert sind, ist der Cloud-Workflow die einfachere Lösung.

Kann man eine PDF-Datei anhand von Lesezeichen anstatt anhand des Textes aufteilen?

Nicht mit dieser Aktion. PDF nach Text aufteilen Übereinstimmungen werden nur auf der Textebene gefunden. Wenn Ihre Quelldokumente zuverlässige Lesezeichen enthalten, sind die folgenden PDF4me-Äquivalente am besten geeignet: Aufgeteilte PDF nach Seitenzahl oder PDF nach Barcode aufteilen wenn Trennblätter im Einsatz sind.

In der Praxis ist eine Textmarkierung auf gescanntem Material zuverlässiger als ein Lesezeichen, da Scanner keine Lesezeichen erstellen, sondern nur den gedruckten Text erhalten.


Fehlerbehebung

Der Workflow läuft, aber in Dropbox erscheint nur eine Datei.

Die Aktion „Datei erstellen“ befindet sich außerhalb der „Für jede“-Schleife, oder die Schleife verweist auf das falsche Token. Öffnen Sie die Schleife und überprüfen Sie, ob sie korrekt gelesen wird. body/splittedDocumentsPrüfen Sie außerdem, ob sich die Anweisung zum Erstellen der Datei innerhalb der Schleifengrenze und nicht unterhalb davon befindet.

Die Aufteilung gibt die ursprüngliche Datei unverändert zurück.

Es gab keine Seite, die dem Suchtext entsprach, daher konnte nichts ausgeschnitten werden. Prüfen Sie zuerst die Groß-/Kleinschreibung, da beim Abgleich zwischen Groß- und Kleinschreibung unterschieden wird. Öffnen Sie anschließend die PDF-Datei und versuchen Sie, den markierten Text mit dem Cursor auszuwählen. Wenn er nicht hervorgehoben wird, enthält das Dokument keine Textebene und benötigt eine Texterkennung (OCR), bevor diese Aktion Inhalte erkennen kann.

Jede Ausgabedatei ist um eine Seite verschoben.

Der Aufteilungstyp ist auf den falschen Wert eingestellt. vorDie Seite, die die Markierung enthält, beginnt ein neues Dokument. nachDadurch wird der vorherige Vorgang beendet. Ändern Sie die Einstellung und führen Sie den Vorgang erneut aus.

Der Ablauf löst sich immer wieder selbst aus.

Der Ausgabeordner ist derselbe Ordner, den der Trigger überwacht, daher startet jede aufgeteilte Datei einen neuen Durchlauf. Erstellen Sie die Datei in einem separaten Ordner, in diesem Fall in der Dropbox. /ScanSplitOutput Der Pfad wird beendet, und der Zyklus kommt zum Stillstand.


Nächste Schritte

Das gleiche vierstufige Muster (einen Ordner überwachen, an einer Markierung aufteilen, das Array durchlaufen, jedes Teil speichern) eignet sich für alle Batch-Dokumente, die in mehrere Teile aufgeteilt werden müssen.