Passa al contenuto principale

Convertire PDF in file di testo in Power Automate: trasformare contratti scansionati in un corpus SharePoint ricercabile con PDF4me

· 27 minuti di lettura
SEO and Content Writer

PDF4me estrae testo e immagini è un'azione di Power Automate che restituisce il livello di testo di un PDF come array. Abbinato a OCR a monte e a un'unione di composizione a valle, questo flusso trasforma ogni PDF inserito in una raccolta di SharePoint in un PDF corrispondente .txt file pronto per la ricerca tramite intelligenza artificiale.

Cerca come fare questo e il primo risultato è quello di Microsoft Riferimento alle azioni PDF, che descrive Power Automate Desktop azioni. Non esistono in un flusso cloud. Questo singolo dettaglio è il motivo per cui i due risultati successivi sono un thread di Reddit e un thread della community di Power Platform in cui le persone pongono la stessa domanda senza ottenere una risposta diretta. Questo flusso è la risposta diretta e viene eseguito interamente nel cloud su connettori di livello standard.

Il flusso in sintesi
1. When a file is created (properties only)
SharePoint trigger on the library, scoped to the RagInput folder. Returns metadata, not bytes.
2. Get file content
Fetches the actual PDF bytes using the identifier the trigger handed over.
3. Convert PDF to editable PDF using OCR
Adds a text layer to scans. OCR Only When Needed skips PDFs that already have one.
4. Extract Text and Images
Returns the text as an array. Extract Images stays No.
5. Compose
join() flattens the texts array into one newline separated string.
6. Create file
SharePoint writes the string to /Shared Documents/RagText as .txt.
La versione breve

Un file PDF viene caricato in una raccolta di SharePoint. Il trigger segnala il nuovo elemento, l'azione "Ottieni contenuto file" ne recupera i byte e PDF4me esegue l'OCR solo se necessario, prima di estrarre il testo come array. Un'espressione "Componi" di una sola riga unisce l'array in un'unica stringa e SharePoint salva il risultato nella cartella adiacente come file di testo semplice. Sei azioni, nessun connettore premium e l'intera operazione si conclude in circa dodici secondi.

Domande e risposte basate sul "perché"

Perché creare un file .txt invece di utilizzare direttamente il testo nel flusso? Una stringa all'interno di un flusso di lavoro rimane attiva per tutta la durata dell'esecuzione del flusso stesso. Un file in una libreria è persistente, indicizzabile e leggibile da qualsiasi elemento a cui si faccia riferimento in seguito, che si tratti di una ricerca SharePoint, di un database vettoriale o di un chatbot che recupera il contesto.

Perché sono necessarie due azioni per ottenere un singolo file? Il trigger "solo proprietà" è volutamente leggero. Segnala la presenza di un elemento e ne restituisce i metadati, incluso un identificatore, ma non i byte. Il trigger "Ottieni contenuto file" sostituisce l'identificatore con il documento stesso. Separare i due trigger mantiene il processo veloce e consente di filtrare in base ai metadati prima ancora di scaricare qualsiasi elemento.

Perché utilizzare l'OCR quando la maggior parte dei PDF contiene già del testo? Perché non è possibile distinguerli a occhio nudo. Un contratto scansionato e uno nativo digitale sono indistinguibili in un elenco di cartelle. L'azione OCR OCR solo quando necessario Questa impostazione analizza ogni file e salta quelli che contengono già un livello di testo, quindi il costo viene sostenuto solo dove effettivamente viene acquistato qualcosa.

Perché è necessario un passaggio di composizione? Estrai testo e immagini restituisce texts come un array, di solito una voce per pagina. Scrivere un array direttamente in un file genera parentesi JSON e virgolette con escape. Compose unisce le voci in un testo pulito prima che qualsiasi elemento venga salvato su disco.


Cosa riceverai

Ingresso: Qualsiasi file PDF inserito in una raccolta documenti di SharePoint, scansionato o creato in digitale, non richiede alcuna convenzione di denominazione. Produzione: un file di testo semplice per ogni PDF in una seconda libreria, contenente l'intero contenuto leggibile del documento.

Raccolta di documenti di SharePoint che mostra la cartella RagInput contenente rag-test.pdf, rag-test2.pdf e services-agreement.pdf, tutti modificati dall'account Pdf4me Flow.

RagInput. Trascina qui un PDF e il flusso avrà inizio.

Raccolta di documenti di SharePoint che mostra la cartella RagText contenente rag-test.pdf.txt e rag-test2.pdf.txt prodotti dal flusso

RagText. Un file di testo semplice per ogni PDF, pronto per l'indicizzazione.

Ecco cosa risulta dall'altro lato del contratto di esempio, esattamente come è stato scritto su disco:

MASTER SERVICES AGREEMENT
Between Initech LLC and Umbrella Inc.
Effective date: 1 January 2026. Auto-renews annually.
Liability cap: USD 100000. Confidentiality: 5 years.
CLEAN TEST MARKER: PDF4ME-CLEAN-TEST-2026.

Presta attenzione agli spazi iniziali. L'OCR preserva gli spazi bianchi di impaginazione, il che va bene sia per la ricerca che per alimentare un modello linguistico. Eliminali in seguito se un parser successivo è particolarmente esigente.


Di cosa hai bisogno

  • Power Automate. Open Power AutomateQuesto è un flusso cloud. Tutto qui è di livello standard, senza connettori premium né gateway.
  • Chiave API di PDF4me. Ottieni la tua chiave APICollegalo la prima volta che aggiungi un'azione PDF4me.
  • Un sito SharePoint con due cartelleUno per i file PDF in ingresso e uno per il testo in uscita. Creali entrambi prima di compilare, in modo che gli strumenti di selezione delle cartelle sappiano dove fare riferimento.
  • Un PDF di prova. esempio-di-contratto.pdfUn breve contratto di servizi con una riga di riferimento che puoi cercare con grep.

Prendi prima i campioni. Una volta salvato il flusso, carica il PDF nella cartella di input e confronta il contenuto della cartella di output con il file di testo previsto.


Il flusso in sintesi

  1. Quando viene creato un file (solo proprietà) (Trigger di SharePoint) con ambito /Shared Documents/RagInput.
  2. Ottieni il contenuto del file utilizzando il grilletto Identifier.
  3. PDF - Converti un PDF in un PDF modificabile utilizzando la tecnologia OCR con qualità Draft e OCR solo quando necessario true.
  4. PDF - Estrazione di testo e immagini con testo estratto Yes e immagini estratte No.
  5. Comporre correre un join() sul restituito texts vettore.
  6. Crea file (SharePoint) scrittura .txt in /Shared Documents/RagText.

Panoramica completa del flusso

La cronologia di esecuzione di Power Automate mostra sei azioni riuscite in ordine: SharePoint Quando viene creato un file, solo proprietà a 0,3 secondi, Ottieni contenuto file a 0,2 secondi, PDF Converti PDF in PDF modificabile utilizzando OCR a 11 secondi, PDF Estrai testo e immagini a 0,4 secondi, Componi a 0 secondi e SharePoint Crea file a 0,3 secondi.

L'OCR è l'unica fase lenta, con un tempo di 11 secondi. Le altre cinque si concludono in meno di mezzo secondo ciascuna.


Passaggio 1: Come si fa a monitorare una raccolta di SharePoint per la presenza di nuovi file PDF?

Flusso finora: Ancora niente, questo è l'elemento scatenante.

Utilizzo Quando viene creato un file (solo proprietà)Si attiva quando vengono aggiunti nuovi elementi e restituisce i relativi metadati. Limitatelo a una sola cartella, perché un monitoraggio a livello di libreria si attiva per ogni caricamento effettuato da chiunque in quella libreria.

  1. Crea un Flusso di nuvole automatizzato e scegliere Quando viene creato un file (solo proprietà).
  2. Specificare:
    • Indirizzo del sito: https://ynoox1.sharepoint.com/sites/PDF4meSharepoints
    • Nome della biblioteca: scegliere Documenti dal menu a tendina
  3. Aprire Parametri avanzati, aggiungere Cartellae impostalo su /Shared Documents/RagInput.

configurazione del trigger di SharePoint

Power Automate Quando viene creato un file, attiva solo le proprietà nel pannello con Indirizzo sito impostato su PDF4me Sharepoints, Nome raccolta impostato su Documenti e parametro Cartella avanzata impostato su /Shared Documents/RagInput

Il nome della libreria è la libreria stessa, Documenti. Il parametro Cartella sottostante restringe il campo di attivazione a una singola cartella al suo interno.

Mancia. Troverai anche un trigger chiamato Quando un file viene creato in una cartella, che restituisce direttamente i byte del file e ti risparmia l'azione successiva. È contrassegnato come obsoleto, quindi è preferibile la combinazione che utilizza solo le proprietà, mostrata qui, per qualsiasi cosa tu intenda mantenere in esecuzione.


Passaggio 2: Perché è necessario ottenere il contenuto del file dopo l'attivazione?

Flusso finora: Attivatore SharePoint.

Il trigger solo proprietà passa i metadati, non il documento. Ottieni contenuto file scambia il trigger Identifier per i byte effettivi di cui PDF4me ha bisogno.

  1. Aggiungere SharePoint > Ottieni il contenuto del file.
  2. Specificare:
    • Indirizzo del sito: lo stesso sito del trigger
    • Identificatore del file: Identifier dal grilletto
  3. Aprire Parametri avanzati e impostare Dedurre il tipo di contenuto A Yes.

Ottieni la configurazione del contenuto del file

Pannello di azione Ottieni contenuto file di SharePoint con Indirizzo sito impostato sul sito SharePoint di PDF4me, Identificatore file mappato al token identificativo del trigger e Inferisci tipo di contenuto impostato su Sì

Dedurre il tipo di contenuto Sì è ciò che assegna all'azione successiva byte PDF reali invece di un blocco generico.

L'identificatore rappresenta il punto di congiunzione tra i due passaggi. Utilizzare il grilletto Identificativo Il campo, non il nome del file o il percorso. I nomi si ripetono tra le cartelle e cambiano quando qualcuno rinomina un documento. L'identificativo, invece, rimane invariato.


Passaggio 3: Perché eseguire l'OCR prima di estrarre il testo?

Flusso finora: Attivazione di SharePoint più acquisizione del contenuto del file.

Una pagina scansionata è un'immagine. Non c'è testo da estrarre finché l'OCR non sovrappone un livello di testo. Questa operazione fa proprio questo, ed è abbastanza intelligente da non modificare i PDF già leggibili.

  1. Aggiungere PDF - Converti un PDF in un PDF modificabile utilizzando la tecnologia OCR.
  2. Specificare:
    • Contenuto del file: File Content da Ottieni il contenuto del file
    • Nome del file: il token del nome file del trigger
    • Tipo di qualità: Draft
    • OCR solo quando necessario: true
    • Lingua: lasciare vuoto a meno che i documenti non siano in inglese
    • È asincrono: No

Parametri OCR

ParametroValore utilizzato quiCiò che controlla
Contenuto del fileFile Content da Ottieni contenuto del fileDimensioni del file PDF in byte da elaborare.
Nome del filetoken del nome del file di attivazioneNome della sorgente, utilizzato per l'identificazione del processo.
Tipo di qualitàDraftImpegno di riconoscimento. Draft è abbastanza veloce e preciso per scansioni pulite. Passa a High per originali scadenti.
OCR solo quando necessariotrueSalta i file che hanno già un livello di testo, quindi i PDF nativi digitali vengono elaborati senza modifiche.
LinguavuotoSuggerimento per il motore di riconoscimento. Lasciare vuoto per la lingua inglese.
È asincronoNoAttende il risultato in linea. Passa a Yes per documenti di grandi dimensioni.
PDF4me Converti PDF in PDF modificabile utilizzando il pannello di azioni OCR con Contenuto file da Ottieni contenuto file, Nome file dal trigger, Tipo qualità Bozza, OCR solo quando necessario vero, Lingua vuoto e È asincrono No

Qui QualityType è impostato su Draft. Su una scansione pulita, la qualità di lettura è pari a quella di High, ma richiede meno tempo.

Mancia. Questo è il passo lento, 11 secondi nella corsa sopra contro mezzo secondo per tutto il resto. Inizia su Draft, controlla il file di testo e spostati solo su High se i caratteri vengono restituiti in modo errato. Migliorare la qualità dei documenti che non ne avevano bisogno è il modo più semplice per rendere questo flusso lento.


Passaggio 4: Come restituisce il testo la funzione "Estrai testo e immagini"?

Flusso finora: Attivazione di SharePoint, acquisizione del contenuto del file e OCR.

Questa azione legge il livello di testo e lo restituisce come un array chiamato textsPuntalo sull'output OCR, non su "Ottieni contenuto file", altrimenti le pagine scansionate risulteranno vuote.

  1. Aggiungere PDF - Estrazione di testo e immagini.
  2. Specificare:
    • Contenuto del file: File Content dal azione OCR
    • Nome del file: il token del nome file del trigger
    • Testo estratto: Yes
    • Estrai immagini: No

Parametri di estrazione di testo e immagini

ParametroValore utilizzato quiCiò che controlla
Contenuto del fileFile Content dalla fase OCRIl PDF ricercabile. Riutilizzare la copia del contenuto del file è l'errore più comune.
Nome del filetoken del nome del file di attivazioneNome della fonte, riportato per l'identificazione.
Testo estrattoYesRestituisce il texts vettore.
Estrai immaginiNoSalta le immagini incorporate. Imposta Yes solo se ne hai bisogno, la risposta sarà molto più ampia.
Pannello di controllo "Estrai testo e immagini" di PDF4me con il contenuto del file mappato dall'azione OCR di PDF4me, il nome del file dal trigger di SharePoint, "Estrai testo" impostato su Sì e "Estrai immagini" impostato su No

Osservate le icone. Il contenuto del file riporta il marchio PDF4me perché proviene da un sistema OCR. Il nome del file riporta il marchio SharePoint perché proviene dal trigger.


Passaggio 5: Come si trasforma l'array di testi in un'unica stringa?

Flusso finora: Attivazione di SharePoint più Recupera contenuto file più OCR più Estrai testo e immagini.

texts è un array. Un file ha bisogno di una stringa. Uno espressione di unione collega i due.

  1. Aggiungi un Comporre azione.
  2. In Input, passa all'editor di espressioni e incolla:
join(body('PDF_-_Extract_Text_and_Images')?['texts'], decodeUriComponent('%0A'))
  1. Fare clic Aggiornamento.

IL decodeUriComponent('%0A') Ecco come si scrive un'interruzione di riga letterale in un'espressione di Power Automate. Non esiste una sequenza di escape per questo, quindi questa è la convenzione.

Composizione della configurazione

Azione di composizione di Power Automate con l'editor di espressioni aperto che mostra l'unione dell'array di testi di estrazione del testo e delle immagini PDF con decodeUriComponent % zero A come separatore

Il nome dell'azione all'interno di body() utilizza i trattini bassi per gli spazi e i trattini. Rinomina l'azione e questa espressione smetterà di funzionare.

Questa è l'unica riga che decide se l'output è leggibile. Saltate la fase di composizione e passate l'array direttamente alla funzione di creazione del file; in questo modo, il file di testo conterrà parentesi graffe JSON e virgolette con escape, anziché il documento.


Passaggio 6: Come si salva il testo come file .txt in SharePoint?

Flusso finora: Attivazione di SharePoint più Ottieni contenuto file più OCR più Estrai testo e immagini più Componi.

L'ultimo passaggio consiste nello scrivere la stringa unita in una seconda libreria.

  1. Aggiungere SharePoint > Crea file.
  2. Specificare:
    • Indirizzo del sito: stesso sito del trigger
    • Percorso cartella: /Shared Documents/RagText
    • Nome del file: il token del nome file del trigger seguito dal testo letterale .txt
    • Contenuto del file: IL Comporre token di output

Configurazione del file di creazione di SharePoint

Azione di creazione file SharePoint con indirizzo del sito PDF4me Sharepoints, percorso cartella /Documenti condivisi/RagText, nome file creato dal token del nome file del trigger più .txt e contenuto file impostato sul token di output di composizione.

Il contenuto del file è l'output di Compose, contrassegnato dall'icona viola relativa alle operazioni sui dati, e non proviene da PDF4me. Il testo è già stato assemblato a questo punto.

Mancia. Il token del nome file del trigger contiene già il .pdf estensione, quindi aggiungendo .txt produce contract.pdf.txt, che è ciò che mostra la cartella di output sopra. Questo è innocuo e mantiene evidente il collegamento alla sorgente. Se preferisci avere contract.txt, racchiudere il token in sostituire() e scambiare .pdf per .txt invece di aggiungere.


Esegui il flusso e verifica

  1. Salva il flusso in alto a destra.
  2. Caricamento contract-sample.pdf nella cartella di input. Il trigger esegue dei sondaggi, quindi attendi un minuto.
  3. Apri il flusso storia della corsa e verifica che tutte e sei le azioni abbiano un segno di spunta verde. L'OCR sarà quella più lenta.
  4. Aprire /Shared Documents/RagText. UN .txt Il file dovrebbe trovarsi lì. Aprilo e cerca PDF4ME-CLEAN-TEST-2026Se quel marcatore è presente, sia l'OCR che l'estrazione hanno funzionato correttamente dall'inizio alla fine.

Che cosa hai costruito esattamente? Una pipeline di acquisizione documenti. Ogni PDF che arriva nella libreria diventa automaticamente testo semplice, che è il prerequisito poco appariscente per qualsiasi cosa legga documenti su larga scala: ricerca SharePoint, un indice vettoriale, un chatbot con funzionalità di recupero o una semplice ricerca full-text. Se hai bisogno solo del testo all'interno del flusso anziché su disco, il più breve Estrarre testo dai PDF in Power Automate La guida illustra come fare con Dropbox.


Varianti comuni che puoi aggiungere senza dover ricostruire

Filtra prima di scaricare
Poiché il trigger restituisce prima i metadati, è possibile aggiungere una condizione sul nome del file o su una colonna prima che venga eseguito il comando "Ottieni contenuto file". In questo modo, i caricamenti di file non PDF non comportano alcun costo.
Conserva anche il PDF ricercabile
Aggiungi un secondo file "Crea" che salvi l'output dell'azione OCR. In questo modo otterrai una copia testuale per le macchine e un PDF ricercabile per gli utenti, il tutto con una sola esecuzione.
Scrivi in formato JSON anziché in testo semplice.
Modifica l'espressione Compose per creare un oggetto con il nome del file, la data e il testo, quindi salva come .jsonLa maggior parte dei negozi di grafica vettoriale preferisce i metadati insieme al contenuto.
Cloudflow a confronto con le alternative
Consulta la tabella comparativa qui sotto per vedere le differenze rispetto a Power Automate Desktop e ad AI Builder.
Cloudflow a confronto con le alternativeFunziona senza supervisioneGestisce i PDF scansionatiLivello connettore
PDF4me in un flusso cloud di Power AutomateSì, OCR integrato nel flussoStandard
Azioni Power Automate per i PDF su desktopSolo mentre la macchina è accesaNessun OCR nelle azioni di baseStandard, più una macchina
Elaborazione dei moduli di AI BuilderPremium, con addebito a consumo

Domande frequenti

Power Automate è in grado di estrarre testo da un file PDF?

Non da solo in un flusso cloud. Le azioni PDF nella documentazione di Microsoft appartengono a Power Automate Desktop e non sono disponibili nei flussi cloud, motivo per cui così tante discussioni della community su questo argomento rimangono irrisolte. L'aggiunta del connettore PDF4me conferisce a un flusso cloud una reale Estrai testo e immagini azione che restituisce il testo del documento come array.

L'intera estrazione avviene in un'unica operazione. I cinque passaggi circostanti consistono semplicemente nello spostamento del file in ingresso e del testo in uscita.

Come estrarre testo da un PDF utilizzando Power Automate?

Attiva il nuovo file, recupera i suoi byte con Ottieni il contenuto del file, correre Convertire un PDF in un PDF modificabile utilizzando la tecnologia OCR. quindi le pagine scansionate ottengono un livello di testo, quindi esegui Estrai testo e immagini con Estrai testo impostato su Yes. Ciò restituisce un texts array. Uniscilo con un'espressione Compose se desideri testo anziché un array.

Imposta la fase di estrazione sull'output dell'azione OCR anziché sul file scaricato. Il riutilizzo della copia scaricata è il motivo per cui i documenti scansionati risultano vuoti.

Power Automate è in grado di eseguire l'OCR?

Un flusso cloud non ha un'azione OCR nativa. AI Builder ne offre una su una licenza premium a consumo, e Power Automate Desktop ha un proprio motore OCR legato a una macchina. PDF4me Convertire un PDF in un PDF modificabile utilizzando la tecnologia OCR. L'azione viene eseguita in un flusso cloud di livello standard senza il coinvolgimento di alcuna macchina.

Suo OCR solo quando necessario L'impostazione è un aspetto che vale la pena conoscere. Imposta su true, analizza ogni file e salta l'OCR quando esiste già un livello di testo, quindi una libreria mista non paga il costo per ogni documento.

Perché Power Automate non riesce a estrarre il testo dai PDF?

Quasi tutti i casi sono riconducibili a tre cause. Il documento è una scansione e non è mai stato sottoposto a OCR, quindi non c'è effettivamente alcun testo da estrarre. La fase di estrazione legge il file scaricato anziché l'output OCR, producendo lo stesso risultato vuoto anche con un input scansionato. Oppure il testo è arrivato correttamente, ma è stato scritto nel file come un array grezzo, quindi appare come un file JSON anziché come un documento.

Apri la cronologia delle esecuzioni e controlla direttamente l'output di Estrai testo e immagini. Se texts Il contenuto è presente, il problema si trova più a valle, nella fase di composizione o creazione del file.

Come si converte un file PDF in un file di testo gratuitamente?

Per un singolo documento, qualsiasi convertitore online è sufficiente. La ragione per cui è stato creato questo flusso è il volume e la ripetitività: viene eseguito automaticamente su ogni file che arriva nella cartella, gestisce le scansioni e non richiede la presenza di un operatore alla tastiera. Il piano gratuito di PDF4me copre un numero significativo di documenti al mese e tutti i connettori utilizzati sono di livello standard, quindi non è necessaria alcuna licenza premium di Power Automate.


Risoluzione dei problemi

Il file .txt viene creato ma è vuoto

La funzione "Estrai testo e immagini" sta leggendo il file sbagliato. Il contenuto del file deve provenire dall'azione OCR, contrassegnata dall'icona PDF4me, e non da "Ottieni contenuto file". Su un PDF nativo digitale entrambe le opzioni funzionano, motivo per cui questo bug si manifesta solitamente solo quando arriva una scansione reale.

L'output appare come ["riga uno","riga due"] invece di testo

Il file creato sta ricevendo il raw texts array. Il suo contenuto file deve essere il token di output Compose. Se Compose è presente ma restituisce comunque un array, verificare che l'espressione join abbia entrambi gli argomenti, l'array e il separatore.

L'accesso al contenuto del file non riesce con il messaggio "file non trovato".

L'identificatore del file è mappato al token sbagliato. Ha bisogno del trigger IdentificativoNon il nome del file, il percorso o l'ID dell'elemento. Questi elementi sembrano intercambiabili nell'elenco dei contenuti dinamici, ma non lo sono.

Il flusso continua ad attivarsi

La cartella di output si trova all'interno della cartella monitorata dal trigger, quindi ogni nuovo file di testo avvia una nuova esecuzione. Mantieni RagInput e RagText separati, come cartelle sorelle anziché annidate.


Prossimi passi

Lo stesso schema in sei fasi (monitorare una cartella, recuperare, OCR, estrarre, appiattire, salvare) trasforma qualsiasi raccolta di documenti in un corpus leggibile da una macchina.