Ana içeriğe geç

Belgeyi Ayrıştır API

Bu uç noktanın işlevi

PDF4me Belgeyi Ayrıştır Kaydedilmiş ayrıştırma şablonunuzu bir PDF ve çıkarılan alanları şu şekilde döndürür: JSON tek bir REST Çağrı. Gönder PDF gibi Base64, o Şablon Kimliği kontrol panelinden ve müşteri tarafından oluşturulan ParseIdve şablonda tanımladığınız adlara göre yapılandırılmış bir yanıt alacaksınız. Şablon, çıkarma mantığını içerir (Düzenli İfade istikrarlı desenler için, JavaScript İfade (koşullu kurallar için), bu nedenle aynı çağrı faturaları, sözleşmeleri, makbuzları ve yapılandırdığınız tüm özel belge düzenlerini çıkarır.

İlgili Blog Yazıları
Bu özellik için henüz bir blog yazısı yok — yakında yayınlanacak.
Bu arada, her platforma yönelik eğitimler ve iş akışları için PDF4me bloguna göz atın.
Blogu ziyaret edin

Bu uç noktayı çağırmadan önce: ayrıştırma şablonu oluşturun PDF4me Kontrol paneli. Bakınız. Belge için Ayrıştırma Bilgilerini Hazırlayın Kurulum kılavuzunun tamamı için, Regex İfade örneklerine bakın (INV-\d{6,10} fatura numaraları için, \d{2}/\d{2}/\d{4} (tarihler için) ve iki çalışan JavaScript İfade sınıflandırıcı örnekleri.

Kimliğinizi Doğrulama API Rica etmek

Her PDF4me REST Çağrınızda mutlaka sizin de bulunmanız gerekiyor. API anahtara Authorization Başlık. Geliştirici kontrol panelinden bir anahtar oluşturun veya seçin ve sunucu tarafında tutun. Asla tarayıcı kodunda ifşa etmeyin.

Kaçırmamanız Gereken Önemli Bilgiler

Minimum yük kapasitesi beş değil, üç alandır.
Sadece belge içeriği, belge adı, Ve asenkron gereklidir. Şablon Kimliği, Şablon Adı, Ve ParseId Bunlar isteğe bağlıdır ve yalnızca yanıtın özel yakalama alanlarınızla anahtarlanmasını istediğinizde gereklidir. Bunlar olmadan, API yine de aşağıdakiler gibi kullanışlı varsayılan alanlar döndürür: belgeTürü Ve sayfa sayısı.
Yanıt şudur: JSONikili değil
Belgeyi ayrıştırma işlemi geri döner. uygulama/json Şablonunuzda yakalama anahtarı başına bir alan ve varsayılan alanlar bulunur. Bu, ham ikili veri döndüren Protect, Compress ve Convert uç noktalarından farklıdır. PDFs. Parse Document her zaman geri döner JSON Çünkü dosya değil, yapılandırılmış veri döndürüyor.
Üretimde TemplateName yerine TemplateId kullanın.
TemplateId sabittir. GUID "Değişiklikleri Kaydet" seçeneğiyle kontrol panelinden atanır. Şablonun ömrü boyunca asla değişmez. TemplateName bir arama alternatifi olarak çalışır ancak şablonu yeniden adlandırırsanız bozulur. TemplateId'yi her zaman şablon detay panelinden kopyalayın ve kodunuza sabitleyin.

REST API uç nokta

Yöntem: POSTALAMAK
URL: https://api.pdf4me.com/api/v2/ParseDocument

Göndermek İçerik Türü: application/json ve bir Yetkilendirme başlığınızla birlikte API Anahtar. Ayarla. asenkron ile YANLIŞ senkron bir yanıt için (HTTP 200 ayrıştırılmış JSON), veya doğru almak için HTTP 202 artı bir Konum Başlığı, ayrıştırılmış değerle 200 değerini döndürene kadar yoklarsınız. JSON.

Postman isteği kurulumu

AyarDeğer
MethodPOST
URLhttps://api.pdf4me.com/api/v2/ParseDocument
HeadersContent-Type: application/json
AuthorizationBasic Auth with your API key, or header Authorization: Basic YOUR_API_KEY
Bodyraw JSON with docContent, docName, async (and optional TemplateId, TemplateName, ParseId)
Response (sync)When async is false: HTTP 200 with parsed JSON containing one field per template key plus default fields such as documentType and pageCount.
Response (async)When async is true: HTTP 202 with a Location header. GET that URL until you receive 200 with the parsed JSON. Useful for large PDFs or batch processing.

Parametreler

Her zaman gerekli: belge içeriği, belge adı, asenkron. Koşullu (şablon tabanlı çıkarma): Şablon Kimliği (önerilen) veya Şablon Adı artı ParseIdBunlar olmadan API Yine de kullanışlı varsayılan alanları (documentType, pageCount) döndürüyor ancak özel anahtarlı değerleri döndürmüyor.

ParametreGerekliTipNe işe yarar?Örnek
docContentYesBase64 StringThe source PDF file encoded as Base64 (no data: prefix). Read the file as bytes and run it through your language's Base64 encoder.JVBERi0xLjQK...
docNameYesStringFilename of the source PDF including .pdf extension. Used for tracking and error messages.invoice.pdf
asyncYesBooleanProcessing mode. false returns parsed JSON immediately with HTTP 200. true returns HTTP 202 plus a Location header that you poll until it returns 200 with the parsed JSON. Use true for large PDFs or batch processing.true
TemplateIdConditionalString (GUID)GUID of the saved parse template. Recommended over TemplateName for stable production automation. Get it from the template detail panel after Save Changes in the dashboard.12345678-1234-1234-1234-123456789abc
TemplateNameConditionalStringTemplate name as typed in the dashboard. Lookup alternative to TemplateId. Renaming the template breaks calls that reference it by name, so prefer TemplateId in production.invoice_template
ParseIdConditionalString (GUID)Client-generated GUID per call. Used to correlate the request with the parse output for logging and audit trails. Generate with uuid.uuid4 (Python), Guid.NewGuid (C#), UUID.randomUUID (Java).87654321-4321-4321-4321-cba987654321

Örnekler isteyin

Örnek A: Minimum veri yükü (şablon yok)

En küçük çağrı API Kabul eder. Şablon referans alınmadığı için varsayılan alanları (documentType, pageCount) döndürür, ancak özel anahtarlı değerleri döndürmez.

{
"docContent": "JVBERi0xLjQK...",
"docName": "invoice.pdf",
"async": true
}

Örnek B: Şablon tabanlı veri çıkarma (üretim modeli)

Önerilen üretim yükü. Şablonunuzda tanımlanan her yakalama anahtarı için bir alan ve varsayılan alanlar döndürür.

{
"docContent": "JVBERi0xLjQK...",
"docName": "invoice.pdf",
"TemplateId": "12345678-1234-1234-1234-123456789abc",
"ParseId": "87654321-4321-4321-4321-cba987654321",
"async": true
}

Örnek C: İsimle şablon arama

Şablon Kimliği (TemplateId) elinizde yoksa alternatif arama yöntemini kullanın. Şablonun yeniden adlandırılması bu çağrıyı bozacağından üretim ortamında kullanmaktan kaçının.

{
"docContent": "JVBERi0xLjQK...",
"docName": "invoice.pdf",
"TemplateName": "invoice_template",
"ParseId": "87654321-4321-4321-4321-cba987654321",
"async": true
}

Başarılı yanıt (senkronizasyon, async: false)

HTTP 200 ayrıştırılmış haliyle JSONŞablonunuzdaki her yakalama anahtarı bir alan haline gelir. Varsayılan alanlar (documentType, pageCount) her zaman geri döndürülür.

{
"parsedData": {
"invoiceNumber": "INV-2024-001",
"invoiceDate": "15/01/2024",
"totalAmount": "$1,250.50",
"customerName": "Acme Corporation"
},
"documentType": "invoice",
"pageCount": 1
}

Başarılı yanıt (eşzamansız, async: true)

HTTP 202 ile Location başlık. Anket URL ile GET (aynı Yetkilendirme başlığı) alana kadar HTTP 200 ayrıştırılmış haliyle JSON.

HTTP/1.1 202 Accepted
Location: https://api.pdf4me.com/api/v2/ParseDocumentStatus/<job-id>

curl örneği

curl -X POST https://api.pdf4me.com/api/v2/ParseDocument \
-H "Content-Type: application/json" \
-H "Authorization: Basic YOUR_API_KEY" \
-d '{
"docContent": "JVBERi0xLjQK...",
"docName": "invoice.pdf",
"TemplateId": "12345678-1234-1234-1234-123456789abc",
"ParseId": "87654321-4321-4321-4321-cba987654321",
"async": true
}'

Şablon kurulumu

Ayrıştırma şablonu tüm çıkarma mantığını içerir. Bunu kontrol panelinde bir kez yapılandırın, ardından çağırın. TemplateId her yerden.

Düzenli İfadeİstikrarlı desenler
Fatura numaraları (INV-\d{6,10}), tarihler (\d{2}/\d{2}/\d{4}), miktarlar ($?\d{1,3}(?:,\d{3})*(?:.\d{2})?Vergi kimlik numaraları, posta kodları gibi bilgiler, üretim anahtarlarının yaklaşık %80'inde kullanılır.
JavaScript İfadesiKoşullu mantık ve sınıflandırıcılar
Çoklu işaretleyici sınıflandırma, yedek kurallar, belge türü tespiti. Çıkarılan metin değişken olarak iletilir. metinFonksiyonunuz bir dize döndürüyor. Bakınız. Belge için Ayrıştırma Bilgilerini Hazırlayın İki çalışan sınıflandırıcı örneği için (functionFormatTextDate1 ve functionGetInvoiceOrder).

Kod örnekleri

Önceden oluşturulmuş ve yüklenen örnekler PDFBunu şu şekilde kodlayın: Base64, POST ile /api/v2/ParseDocumentve senkron/asenkron yanıtı ele alır.

Entegrasyon örnekleri

Yaygın REST entegrasyon kalıplarıTypical ways developers call Parse Document.
Fatura gelen kutusundan muhasebe veritabanına
  1. Bir gözlemci yeni bir satıcıyı tespit ediyor. PDFs Bir e-posta gelen kutusundan veya bulut klasöründen.
  2. Hizmetiniz her birini okuyor. PDF bayt olarak ve onu şu şekilde kodlar: Base64.
  3. POST ile /api/v2/ParseDocument Fatura TemplateId'si ve yeni bir ParseId ile.
  4. Geri dönenleri haritada göster fatura numarası, ToplamTutar, Ve faturaTarihi doğrudan bir veritabanına INSERT.
Karma belge sınıflandırıcı ve çıkarıcı
  1. A JavaScript Şablondaki ifade anahtarı, belge türünü (fatura, sipariş, şartlar) döndürür.
  2. POST Türü ve regex ile çıkarılan alanları tek bir şekilde döndürür. JSON cevap.
  3. Kodunuz, tür alanına göre dallanıyor ve yapılandırılmış verileri doğru alt sisteme yönlendiriyor.
Büyük ölçekli toplu asenkron işleme PDFs
  1. Birkaç MB'tan büyük dosyalar için, POST ile asenkron: doğru.
  2. Okuyun Konum 202 yanıtından gelen başlık.
  3. Ankete katılın URL ile GET her 10 saniyede bir (o Python Örnekte en fazla 15 yeniden deneme yapılıyor.
  4. Yanıt durumu 200 olduğunda, aşağıdaki işlemi gerçekleştirin: JSON gövde ve aşağı yönlü işleme devam eder.

Sıkça Sorulan Sorular

What is the minimum payload required by the Parse Document REST API?+
Three fields: docContent (the PDF as Base64), docName (filename with .pdf), and async (boolean for sync vs polling). TemplateId, TemplateName, and ParseId are optional. Without a template the API returns default information (documentType, pageCount) but no custom-keyed values.
Should I use TemplateId or TemplateName?+
Use TemplateId in production. It is a stable GUID generated by the dashboard at Save Changes and never changes for the life of the template. TemplateName works as a lookup alternative but breaks if you rename the template. Always pin TemplateId in your code.
What is ParseId and where does it come from?+
ParseId is a client-generated GUID you create per call: uuid.uuid4 in Python, Guid.NewGuid in C#, UUID.randomUUID in Java. Pass it in the request body for logging and audit trail correlation. The API does not validate it against a registry, so any valid GUID works.
Is the response JSON or binary?+
JSON. The response body is application/json containing one field per capture key in your template plus default fields such as documentType and pageCount. This is different from Protect, Compress, and Convert endpoints which return raw binary PDFs.
How does async work for large or batch PDFs?+
Set async to true. The API responds with 202 Accepted plus a Location header containing a poll URL. GET that URL with the same Authorization header. While the document is still processing the poll URL returns 202; when finished it returns 200 with the parsed JSON. Use async true for files over a few MB or when processing in batches.
How is this different from regex parsing in Python with pdfplumber?+
Python libraries like pdfplumber, PyMuPDF, and pdfminer give you raw text extraction primitives and you write the matching logic in your application code. PDF4me Parse Document uses templates you configure once in a hosted dashboard, then calls run that template from any language or platform. The matching logic lives in the template, not your code, which keeps it consistent across systems.
Where do I learn the Regex Expression and JavaScript Expression syntax?+
See the full Prepare Parse Info for Document setup guide. It covers Regex patterns for invoice numbers, dates, and amounts, and includes two working JavaScript Expression classifier samples (functionFormatTextDate1 for Terms and Conditions vs Order classification, functionGetInvoiceOrder for invoice vs order detection).
Can I run the same template from Make, Zapier, Power Automate, or n8n?+
Yes. The TemplateId is the same across all platforms. The Make, Zapier, Power Automate, and n8n PDF4me modules call this same endpoint under the hood. Build and test the template once in the dashboard, then reference its TemplateId from any platform.

İlgili işlemler

Diğer platformlarda aynı görev

Yardım Alın