Klasörler dolusu PDF raporunuz, banka ekstreniz veya mevzuat dosyanız var ve içlerindeki tablolu verilerin bir veritabanına, e-tabloya veya analitik akış hattına inmesi gerekiyor. Bir PDF görüntüleyiciden Excel'e tabloları kopyala-yapıştır yapmak, ilk üç sayfa içinde satır ve sütun yapısını bozar. Total PDF Converter X, PDF dosyalarından tabloları komut satırından toplu olarak, GUI olmadan CSV'ye çıkarır. Bir Windows sunucusuna kurun, bir betikten veya ActiveX üzerinden çağırın ve gözetimsiz çalıştırın.
*.pdf) geçirin ve dönüştürücü tek seferde eşleşen tüm dosyaları işler-CSVDelimiter ile virgül, noktalı virgül, sekme veya boru-Encoding üzerinden UTF-8, UTF-16 veya ANSI-CSVQuotation ile metin alanlarını sarmalayın
(30 gün, e-posta gerekmez)
(sunucu lisansı, kalıcı)
Windows 7/8/10/11 • Server 2008/2012/2016/2019/2022
PDF, görsel dağıtım ve yazdırma için tasarlanmış sabit düzenli bir formattır. Bir PDF içindeki tablo, yapılandırılmış bir veri nesnesi değildir — sayfada belirli x/y koordinatlarında konumlandırılmış bir dizi metin parçasıdır. Görüntüleyici bunları tablo gibi görünen bir şekilde oluşturur, ancak dosyanın kendisinde satır, sütun veya hücre yoktur. Bir PDF'den manuel kopyala-yapıştırın nadiren temiz tablo çıktısı üretmesinin nedeni budur.
CSV, satır başına bir kayıt ve bir ayırıcı ile ayrılmış alanlar içeren düz metin veri formatıdır. Excel, Google Sheets, SQL veritabanları, pandas DataFrame'leri, R, Power BI, Tableau ve var olan her ETL aracına doğrudan içe aktarılır. PDF'ye bağlı verilerin bir analitik veya muhasebe iş akışına girmesi gerektiğinde, önce CSV'ye dönüşmesi gerekir.
| CSV | ||
|---|---|---|
| Amaç | Görsel dağıtım, yazdırma, arşivleme | Veri alımı ve analizi |
| Yapı | Sayfa koordinatları, gerçek tablo yok | Satırlar ve sütunlar, yerel |
| Düzenleme | Zor, PDF düzenleyici gerektirir | Herhangi bir metin düzenleyici veya e-tabloda açılır |
| Manuel kopyala-yapıştır | Tablo yapısını kaybeder | Yapıyı tam olarak korur |
| Íş akışı | Akış hattının sonundaki belge | Veri akış hattının başlangıcı |
Uyarı: otomatik PDF'den CSV'ye çıkarma, metin tabanlı PDF'lerde çalışır — muhasebe sistemleri, rapor motorları veya bir e-tablodan ya da veritabanından farklı kaydet-PDF'den oluşturulanlar gibi. Taranmış PDF'ler (kâğıt görüntüleri) metin katmanı içermez ve herhangi bir CSV çıkarımı mümkün olmadan önce ayrı bir ön işleme adımı olarak OCR gerektirir.
Yukarıdaki bağlantıdan yükleyiciyi indirin ve Windows sunucunuzda veya iş istasyonunuzda çalıştırın. Kurulum bir dakikadan kısa sürer. Dönüştürücü, PDF'nin metin katmanını doğrudan ayrıştırır — harici PDF okuyucu, Acrobat veya Office kurulumu gerekmez.
cmd.exe veya PowerShell'i açın. Dönüştürücü yürütülebilir dosyası PDFConverter.exe olup kurulum klasöründe bulunur (genellikle C:\Program Files\CoolUtils\TotalPDFConverterX\). Sistem PATH'inize ekleyin veya komutlarınızda tam yolu kullanın.
En basit komut, bir klasördeki tüm PDF dosyalarından tabloları CSV'ye çıkarır:
PDFConverter.exe C:\Reports\*.pdf C:\Output\ -c CSV
Bu komut, C:\Reports\ içindeki her .pdf dosyasını işler ve sonuç CSV dosyalarını C:\Output\ klasörüne kaydeder. Her PDF, aynı temel ada sahip bir CSV üretir. Çok sayfalı PDF'ler varsayılan olarak kaynak dosya başına tek bir CSV'de birleştirilir.
Ek bayraklarla CSV formatını kontrol edin:
PDFConverter.exe C:\Reports\*.pdf C:\Output\ -c CSV -CSVDelimiter ; -CSVQuotation " -Encoding UTF-8 -log C:\Logs\pdf2csv.log
-CSVDelimiter ; — alan ayırıcısı (virgül, noktalı virgül, sekme, boru)-CSVQuotation " — hücreler içindeki virgülleri korumak için metin alanlarını çift tırnağa sarın-Encoding UTF-8 — Latin dışı karakterlerin doğru işlenmesi için çıktı kodlaması (UTF-8, UTF-16, ANSI)-log C:\Logs\pdf2csv.log — doğrulama için bir dönüştürme günlüğü yazınKomutunuzu bir .bat dosyasına kaydedin ve Windows Görev Zamanlayıcısı ile zamanlama yapın:
@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
Bu, çıkarımı her gece (veya belirlediğiniz aralıkta) çalıştırır ve sonuçları doğrulayabilmeniz için bir günlük dosyası yazar. CSV dosyalarını veritabanınıza veya analitik ambarınıza içe aktaran bir takip adımı ile eşleyin.
Total PDF Converter X tam bir ActiveX arayüzü içerir. Dönüştürücüyü herhangi bir COM uyumlu ortamdan çağırabilirsiniz — .NET, VBScript, PHP, Python, Ruby veya ASP. Bu sayede, PDF'den CSV'ye çıkarımı bir komut satırı işlemine yönlendirmeden kendi web uygulamanıza, intranet portalınıza veya belge iş akışınıza gömebilirsiniz.
Örnek (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");
Örnek (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");
Aynı çağrı ASP.NET, VBScript, Python, Ruby, Perl ve JavaScript (Windows Script Host) üzerinden de çalışır. Web uygulamanız yüklenen PDF dosyalarını kabul edebilir ve kullanıcıya gerçek zamanlı olarak içe aktarıma hazır CSV verileri döndürebilir.
| Özellik | Çevrimiçi Dönüştürücüler | Total PDF Converter X |
|---|---|---|
| Toplu işleme | Tek seferde bir dosya | Toplu işlemde sınırsız dosya |
| Dosya gizliliği | Dosyalar üçüncü taraf sunucuya yüklenir | Dosyalar makinenizden asla çıkmaz |
| Gizli veri | Riskli — banka ekstreleri, bordro, dosyalama | Güvenli — yerel işleme |
| Dosya boyutu sınırları | Tipik 5–25 MB üst sınır | Dayatılan sınır yok |
| Ayırıcı kontrolü | Sabit virgül, seçim yok | Virgül, noktalı virgül, sekme, boru |
| Kodlama kontrolü | Çoğu zaman yalnızca ANSI, Unicode bozar | UTF-8, UTF-16, ANSI seçilebilir |
| Otomasyon | Yalnızca manuel | Komut satırı, .bat, Görev Zamanlayıcısı, ActiveX |
| Sunucu dağıtımı | Mümkün değil | Sunucular için tasarlanmış, GUI gerektirmez |
| Ínternet gerektirir | Evet | Hayır |
Dönüştürücü, PDF'nin metin katmanını ayrıştırır ve koordinatlara ve hizalamaya dayalı satır-sütun yapısını yeniden oluşturur. Çok sütunlu rapor düzenleri, birleştirilmiş başlıklar ve birden çok sayfaya yayılan tablolar tek seferde işlenir — bağlantısız sözcüklerden oluşan bir dize olarak değil.
Total PDF Converter X gözetimsiz kullanım için tasarlanmıştır. GUI pencereleri, iletişim kutuları, onay istemleri yoktur, Acrobat bağımlılığı yoktur. Komut satırından veya bir hizmetin parçası olarak sessizce çalışır — tam olarak bir üretim çıkarım akış hattının ihtiyacı olan budur.
Almanca umlautlu banka ekstreleri, Lehçe diakritikleri, Kiril satıcı adları veya Çince karşı taraflar CSV çıktısında okunabilir kalır. Komut satırında -Encoding UTF-8 ve sonuç dosya, herhangi bir modern veritabanına veya BI aracına temiz bir şekilde içe aktarılır.
Aynı komut satırı aracı, PDF'yi DOC, XLS, HTML, TXT, TIFF, JPEG ve daha fazlasına dönüştürür. Tek kurulumla ihtiyacınız olabilecek tüm PDF dönüştürme hedeflerini karşılar. -c CSV yerine -c XLS yazın ve aynı toplu işleme ve otomasyon özellikleriyle Excel çalışma kitabı alın.
(30 gün, e-posta veya kredi kartı gerekmez)
(sunucu lisansı, kalıcı)
Windows 7/8/10/11 • Server 2008/2012/2016/2019/2022
"Üç aylık kazanç bültenleri PDF olarak geliyor ve bunları Excel'de modelliyoruz. Total PDF Converter X, komut satırından tüm 10-Q dosyaları klasöründe çalışıyor ve bir dakikanın altında temiz CSV üretiyor. Çok sütunlu tablolar ve birleştirilmiş başlıklar doğru şekilde yapılandırılmış olarak çıkıyor; bu, denediğimiz iki önceki araçta anlaşma bozucuydu. Noktalı virgül ayırıcısı ve UTF-8 bayrağı, Avrupalı ihracçıların artık içe aktarmamızı bozmaması anlamına geliyor."
Caroline Whitfield Senior Financial Analyst, Mid-Market Equity Research
"Mutabakat için günde yüzlerce banka ekstresi alıyoruz. PDFConverter.exe etrafındaki .bat betikleri sarmalayıcısı, CSV dosyalarını bir sıcak klasöre bırakıyor ve ETL akış hattımız bunları alıyor. Sunucuda sıfır GUI ayak izi, Acrobat lisansı yok ve günlük dosyası bize denetim için bir kağıt izi sağlıyor. Kurulum, dahili C# aracımızdan ActiveX testi dahil yaklaşık bir saat sürdü."
Rohan Mehta Data Engineer, Banking Operations
"Saha çalışmaları bize genellikle müşteri sistemlerinden PDF büyük defterler veriyor. Bunları CSV'ye dönüştürmek, sıkıcı kopyala-yapıştır veya IDEA içe aktarmaları için ödeme yapmak anlamına geliyordu. Şimdi dönüştürücüyü USB'ye kurulu bir kopyada çalıştırıyoruz ve CSV'yi doğrudan analitik çalışma kağıtlarımıza yüklüyoruz. Taranmış PDF'ler hala yukarı akışta OCR gerektirir, ancak yerel PDF'ler için tablo algılama güvenilirdir. Belgeleme daha kapsamlı olabilirdi ama destek bir gün içinde yanıtladı."
Anika Larsen Audit Specialist, Big Four Practice
PDFConverter.exe C:\Reports\*.pdf C:\Output\ -c CSV. Bu, kaynak klasördeki tüm PDF'lerden tabloları çıkarır ve bunları CSV dosyaları olarak yazar. Çıktıyı kontrol etmek için -CSVDelimiter ;, -Encoding UTF-8 veya -log gibi bayraklar ekleyin.-CSVDelimiter'ı ardından karakteri kullanın. Noktalı virgül (virgülün ondalık ayırıcı olduğu Avrupa yerel ayarlarında yaygın) için -CSVDelimiter ;, sekme için -CSVDelimiter \t veya boru için -CSVDelimiter |. Varsayılan virgüldür.-Encoding UTF-8 ekleyin. Bu, PDF'de bulunan Almanca umlautları, Lehçe diakritikleri, Kiril, Çince, Japonca ve diğer Unicode karakterleri koruyan UTF-8 kodlamalı CSV dosyaları üretir. UTF-16 ve ANSI da desteklenir.-CSVQuotation " kullanın. Dönüştürücü, RFC 4180'a göre gömülü tırnakları kaçışlı hale getirir, böylece "Smith, John" gibi değerler sütun sayısını bozmadan Excel'e, pandas'a veya herhangi bir standart CSV ayrıştırıcısına gidiş-dönüş yapar.PDFConverter.PDFConverterX) olarak kayıt olur. .NET, PHP, Python, VBScript, ASP, Ruby, Perl ve diğer tüm COM uyumlu ortamlardan çağırabilir, PDF'den CSV'ye çıkarımı doğrudan uygulamanıza gömebilirsiniz.
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;
Ücretsiz deneme sürümünü indirin ve dosyalarınızı dakikalar içinde dönüştürün.
Kredi kartı veya email gerekli değil.