Hai cartelle di report PDF, estratti conto bancari o sottomissioni regolatorie, e i dati tabellari al loro interno devono finire in un database, in un foglio di calcolo o in una pipeline di analytics. Copiare e incollare le tabelle da un visualizzatore PDF in Excel distrugge la struttura di righe e colonne entro le prime tre pagine. Total PDF Converter X estrae tabelle da file PDF in CSV dalla riga di comando, in batch, senza GUI. Installalo su un server Windows, richiamalo da uno script o tramite ActiveX, e lascialo funzionare in modo automatico.
*.pdf) e il convertitore elabora ogni file corrispondente in un’unica esecuzione-CSVDelimiter per adattarsi al sistema di destinazione-Encoding per gestire caratteri non latini in modo pulito-CSVQuotation per proteggere le virgole all’interno dei valori delle celle
(30 giorni, nessuna email)
(licenza server, perpetua)
Windows 7/8/10/11 • Server 2008/2012/2016/2019/2022
PDF è un formato a layout fisso progettato per la distribuzione visiva e la stampa. Una tabella all’interno di un PDF non è un oggetto dati strutturato — è una serie di frammenti di testo posizionati a coordinate x/y specifiche sulla pagina. Il visualizzatore li renderizza in un modo che assomiglia a una tabella, ma non ci sono righe, colonne o celle nel file stesso. Per questo un copia-incolla manuale da un PDF raramente produce un output tabellare pulito.
CSV è un formato dati di testo semplice con un record per riga e campi separati da un delimitatore. Si importa direttamente in Excel, Google Sheets, database SQL, DataFrame pandas, R, Power BI, Tableau e ogni strumento ETL esistente. Quando dei dati vincolati al PDF devono entrare in un flusso di analytics o di contabilità, devono prima diventare CSV.
| CSV | ||
|---|---|---|
| Scopo | Distribuzione visiva, stampa, archiviazione | Ingestione e analisi dei dati |
| Struttura | Coordinate di pagina, nessuna vera tabella | Righe e colonne, native |
| Modifica | Difficile, richiede un editor PDF | Si apre in qualsiasi editor di testo o foglio di calcolo |
| Copia-incolla manuale | Perde la struttura della tabella | Preserva la struttura esattamente |
| Flusso di lavoro | Documento di fine pipeline | Inizio di pipeline dati |
Avvertenza: l’estrazione automatica da PDF a CSV funziona su PDF basati su testo — quelli generati da sistemi contabili, motori di reportistica o salva-come-PDF da un foglio di calcolo o database. I PDF scansionati (immagini di carta) non contengono uno strato di testo e richiedono OCR come passo di pre-elaborazione separato prima che sia possibile qualsiasi estrazione CSV.
Scarica il programma di installazione dal link qui sopra ed eseguilo sul tuo server o workstation Windows. L’installazione richiede meno di un minuto. Il convertitore analizza lo strato di testo del PDF direttamente — non sono necessari lettori PDF esterni, né Acrobat, né un’installazione di Office.
Apri cmd.exe o PowerShell. L’eseguibile del convertitore è PDFConverter.exe, situato nella cartella di installazione (tipicamente C:\Program Files\CoolUtils\TotalPDFConverterX\). Aggiungilo al PATH di sistema o usa il percorso completo nei tuoi comandi.
Il comando più semplice estrae tabelle da tutti i file PDF in una cartella in CSV:
PDFConverter.exe C:\Reports\*.pdf C:\Output\ -c CSV
Questo elabora ogni file .pdf in C:\Reports\ e salva i file CSV risultanti in C:\Output\. Ogni PDF produce un CSV con lo stesso nome base. I PDF multipagina vengono concatenati in un singolo CSV per file di origine per impostazione predefinita.
Controlla il formato CSV con flag aggiuntivi:
PDFConverter.exe C:\Reports\*.pdf C:\Output\ -c CSV -CSVDelimiter ; -CSVQuotation " -Encoding UTF-8 -log C:\Logs\pdf2csv.log
-CSVDelimiter ; — separatore di campo (virgola, punto e virgola, tabulazione, pipe)-CSVQuotation " — racchiude i campi di testo in virgolette doppie per proteggere le virgole all’interno delle celle-Encoding UTF-8 — codifica di output (UTF-8, UTF-16, ANSI) per la corretta gestione di caratteri non latini-log C:\Logs\pdf2csv.log — scrive un log di conversione per la verificaSalva il comando in un file .bat e programmalo con l’Utilità di pianificazione di Windows:
@echo off "C:\Program Files\CoolUtils\TotalPDFConverterX\PDFConverter.exe" C:\Incoming\*.pdf C:\Archive\CSV\ -c CSV -CSVDelimiter ; -Encoding UTF-8 -log C:\Logs\pdf2csv.log
Questo esegue l’estrazione ogni notte (o all’intervallo che preferisci) e scrive un file di log per verificare i risultati. Abbinalo a un passo di follow-up che importa i file CSV nel tuo database o data warehouse di analytics.
Total PDF Converter X include un’interfaccia ActiveX completa. Puoi richiamare il convertitore da qualsiasi ambiente compatibile COM — .NET, VBScript, PHP, Python, Ruby o ASP. Questo ti permette di integrare l’estrazione da PDF a CSV nella tua applicazione web, portale intranet o flusso di lavoro documentale senza ricorrere a un processo da riga di comando.
Esempio (C#/.NET):
PDFConverterX Cnv = new PDFConverterX();
Cnv.Convert("C:\\Reports\\statement.pdf", "C:\\Output\\statement.csv", "-c CSV -CSVDelimiter ; -Encoding UTF-8 -log c:\\Logs\\pdf.log");
Esempio (PHP):
$c = new COM("PDFConverter.PDFConverterX");
$c->convert("C:\\Reports\\statement.pdf", "C:\\Output\\statement.csv", "-c CSV -CSVDelimiter ; -Encoding UTF-8 -log c:\\Logs\\pdf.log");
La stessa chiamata funziona da ASP.NET, VBScript, Python, Ruby, Perl e JavaScript (Windows Script Host). La tua applicazione web può accettare file PDF caricati e restituire all’utente dati CSV pronti per l’importazione in tempo reale.
| Funzionalità | Convertitori online | Total PDF Converter X |
|---|---|---|
| Elaborazione batch | Un file alla volta | File illimitati per batch |
| Privacy dei file | File caricati su server di terze parti | I file non lasciano mai la tua macchina |
| Dati confidenziali | Rischioso — estratti conto, buste paga, dichiarazioni | Sicuro — elaborazione on-premise |
| Limiti dimensione file | Cap tipico di 5–25 MB | Nessun limite imposto |
| Controllo del delimitatore | Virgola fissa, nessuna scelta | Virgola, punto e virgola, tabulazione, pipe |
| Controllo della codifica | Spesso solo ANSI, rompe Unicode | UTF-8, UTF-16, ANSI selezionabili |
| Automazione | Solo manuale | Riga di comando, .bat, Utilità di pianificazione, ActiveX |
| Distribuzione su server | Non possibile | Progettato per server, nessuna GUI necessaria |
| Richiede internet | Sì | No |
Il convertitore analizza lo strato di testo del PDF e ricostruisce la struttura riga-colonna in base a coordinate e allineamento. Layout di report multi-colonna, intestazioni unite e tabelle che si estendono su più pagine vengono gestite in un solo passaggio — non come una stringa di parole sconnesse.
Total PDF Converter X è progettato per l’uso non presidiato. Nessuna finestra GUI, nessuna finestra di dialogo, nessun messaggio di conferma, nessuna dipendenza da Acrobat. Funziona silenziosamente dalla riga di comando o come parte di un servizio — esattamente ciò di cui ha bisogno una pipeline di estrazione di produzione.
Estratti conto bancari con umlaut tedeschi, diacritici polacchi, nomi di esercenti in cirillico o controparti cinesi restano leggibili nell’output CSV. -Encoding UTF-8 sulla riga di comando, e il file risultante si importa pulito in qualsiasi database o strumento BI moderno.
Lo stesso strumento da riga di comando converte PDF in DOC, XLS, HTML, TXT, TIFF, JPEG e altro. Un’unica installazione copre ogni destinazione di conversione PDF di cui potresti avere bisogno. Cambia -c CSV in -c XLS e otterrai una cartella di lavoro Excel con le stesse funzionalità batch e di automazione.
(30 giorni, nessuna email o carta di credito)
(licenza server, perpetua)
Windows 7/8/10/11 • Server 2008/2012/2016/2019/2022
"I comunicati trimestrali sui risultati arrivano come PDF e li modelliamo in Excel. Total PDF Converter X gira dalla riga di comando su un’intera cartella di dichiarazioni 10-Q e produce CSV pulito in meno di un minuto. Tabelle multi-colonna e intestazioni unite escono strutturate correttamente, che era il deal-breaker con due strumenti precedenti che abbiamo provato. Il delimitatore punto e virgola e il flag UTF-8 fanno sì che gli emittenti europei non storpino più la nostra importazione."
Caroline Whitfield Senior Financial Analyst, Mid-Market Equity Research
"Ingeriamo centinaia di estratti conto bancari al giorno per la riconciliazione. Il wrapper script .bat attorno a PDFConverter.exe deposita file CSV in una hot folder, e la nostra pipeline ETL li ritira. Zero impronta GUI sul server, nessuna licenza Acrobat, e il file di log ci dà una traccia documentale per l’audit. Il setup ha richiesto circa un’ora compreso il test ActiveX dal nostro tool C# interno."
Rohan Mehta Data Engineer, Banking Operations
"Gli incarichi sul campo spesso ci consegnano libri mastri generali in PDF dai sistemi del cliente. Convertirli in CSV significava copia-incolla tediosi o pagare le importazioni IDEA. Ora eseguiamo il convertitore su una copia installata da USB e carichiamo il CSV direttamente nei nostri workpaper analitici. I PDF scansionati hanno ancora bisogno di OCR a monte, ma per i PDF nativi il rilevamento delle tabelle è affidabile. La documentazione potrebbe essere più approfondita ma il supporto ha risposto entro un giorno."
Anika Larsen Audit Specialist, Big Four Practice
PDFConverter.exe C:\Reports\*.pdf C:\Output\ -c CSV. Questo estrae le tabelle da ogni PDF nella cartella di origine e le scrive come file CSV. Aggiungi flag come -CSVDelimiter ;, -Encoding UTF-8 o -log per controllare l’output.-CSVDelimiter seguito dal carattere. -CSVDelimiter ; per punto e virgola (comune nelle impostazioni locali europee dove la virgola è il separatore decimale), -CSVDelimiter \t per tabulazione o -CSVDelimiter | per pipe. Il valore predefinito è la virgola.-Encoding UTF-8 alla riga di comando. Questo produce file CSV codificati in UTF-8 che preservano umlaut tedeschi, diacritici polacchi, cirillico, cinese, giapponese e qualsiasi altro carattere Unicode presente nel PDF. Sono supportati anche UTF-16 e ANSI.-CSVQuotation " per racchiudere i campi di testo in virgolette doppie. Il convertitore esegue l’escape delle virgolette incorporate secondo RFC 4180, in modo che valori come "Smith, John" sopravvivano a un round-trip in Excel, pandas o qualsiasi parser CSV standard senza rompere il conteggio delle colonne.PDFConverter.PDFConverterX). Puoi richiamarlo da .NET, PHP, Python, VBScript, ASP, Ruby, Perl e qualsiasi altro ambiente compatibile COM per integrare l’estrazione da PDF a CSV direttamente nella tua applicazione.
string src = @"C:\test\Source.pdf";
string dest = @"C:\test\Dest.docx";
var cnv = new PDFConverterX();
cnv.Convert(src, dest, "-cDOC -log c:\\test\\PDF.log");
if (!string.IsNullOrEmpty(cnv.ErrorMessage))
throw new Exception(cnv.ErrorMessage);
public static class Function1
{
[FunctionName("Function1")]
public static async Task Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
ILogger log)
{
StringBuilder sbLogs = new StringBuilder();
sbLogs.AppendLine("started...");
try
{
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.CreateNoWindow = true;
startInfo.UseShellExecute = false;
var assemblyDirectoryPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
assemblyDirectoryPath = assemblyDirectoryPath.Substring(0, assemblyDirectoryPath.Length - 4);
var executablePath = $@"{assemblyDirectoryPath}\Converter\PDFConverterX.exe";
sbLogs.AppendLine(executablePath + "...");
var srcPath = $@"{assemblyDirectoryPath}\src\sample.pdf";
var outPath = Path.GetTempFileName() + ".docx";
startInfo.FileName = executablePath;
if (File.Exists(outPath))
{
File.Delete(outPath);
}
if (File.Exists(executablePath) && File.Exists(srcPath))
{
sbLogs.AppendLine("files exists...");
}
else
sbLogs.AppendLine("EXE & source files NOT exists...");
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.Arguments = $"\"{srcPath}\" \"{outPath}\" -cDOC";
using (Process exeProcess = Process.Start(startInfo))
{
sbLogs.AppendLine($"wait...{DateTime.Now.ToString()}");
exeProcess.WaitForExit();
sbLogs.AppendLine($"complete...{DateTime.Now.ToString()}");
}
sbLogs.AppendLine("Conversion complete.");
}
catch (Exception ex)
{
sbLogs.AppendLine(ex.ToString());
}
return new OkObjectResult(sbLogs);
}
}
dim C
Set C=CreateObject("PDFConverter.PDFConverterX")
C.Convert "c:\test\source.pdf", "c:\test\dest.docx", "-cDOC -log c:\test\PDF.log"
Response.Write C.ErrorMessage
set C = nothing
dim C
Set C=CreateObject("PDFConverter.PDFConverterX")
Response.Clear
Response.AddHeader "Content-Type", "binary/octet-stream"
Response.AddHeader "Content-Disposition", "attachment; filename=test.docx"
Response.BinaryWrite C.ConvertToStream("C:\www\ASP\Source.pdf", "C:\www\ASP", "-cDOC -log c:\html.log")
set C = nothing
$src="C:\\test\\test.pdf";
$dest="C:\\test\\test.docx";
if (file_exists($dest)) unlink($dest);
$c= new COM("PDFConverter.PDFConverterX");
$c->convert($src,$dest, "-cDOC -log c:\\test\\PDF.log");
if (file_exists($dest)) echo "OK"; else echo "fail:".$c->ErrorMessage;
require 'win32ole'
c = WIN32OLE.new('PDFConverter.PDFConverterX')
src = "C:\\test\\test.pdf"
dest = "C:\\test\\test.docx"
c.convert(src, dest, "-cDOC -log c:\\test\\PDF.log")
if not File.exist?(dest)
puts c.ErrorMessage
end
import win32com.client
import os.path
c = win32com.client.Dispatch("PDFConverter.PDFConverterX")
src = "C:\\test\\test.pdf"
dest = "C:\\test\\test.docx"
c.convert(src, dest, "-cDOC -log c:\\test\\PDF.log")
if not os.path.exists(dest):
print(c.ErrorMessage)
uses Dialogs, Vcl.OleAuto;
var
c: OleVariant;
begin
c := CreateOleObject('PDFConverter.PDFConverterX');
c.Convert('c:\test\source.pdf', 'c:\test\dest.docx', '-cDOC -log c:\test\PDF.log');
if c.ErrorMessage <> '' then
ShowMessage(c.ErrorMessage);
end;
var c = new ActiveXObject("PDFConverter.PDFConverterX");
c.Convert("C:\\test\\source.pdf", "C:\\test\\dest.docx", "-cDOC");
if (c.ErrorMessage != "")
alert(c.ErrorMessage)
use Win32::OLE; my $src = "C:\\test\\test.pdf"; my $dest = "C:\\test\\test.docx"; my $c = CreateObject Win32::OLE 'PDFConverter.PDFConverterX'; $c->convert($src, $dest, "-cDOC -log c:\\test\\PDF.log"); print $c->ErrorMessage if -e $dest;
Scarica la versione di prova e converti i tuoi file in pochi minuti.
Non è richiesta carta di credito o email.