Карта на сайта Актуализации
Български
BGN
НОВО
Claude & ChatGPT — Supercharged.
Всички документи · 350+ AI инструменти · 30 сек настройка
Claude· ChatGPT· Cursor· Gemini· +50
Свържете сега
Платформа
50+ AI модула и инструменти
Решения
Индустрии, процеси, рискове
Разработчик
API, SDK, документация
Ресурси
Уроци, блог, поддръжка
Компания
Екип, партньори, кариери
Цени
Платформа
Document + Automation AI
ЗАЛАВЯНЕ
AI-IDP IDP Agents AI-OCR Human-in-the-Loop
ОБРАБОТКА
PDF AI PDF анонимизатор PDF AI-Разделяне Storage Mounts
ОРГАНИЗАЦИЯ
AI-DMS Workspaces Класификация PaperOffice Sign Мобилно приложение
АВТОМАТИЗАЦИЯ
Агентен Работен Поток Правила и задействане Connectors AI Оркестратор
Analytics + Relations AI
Визуализация
Knowledge Graph Табло за управление Хронология
Анализ
Географска карта Одитен център Финансов анализ
Прозрения
Контакти и връзки Елементи Документен чат
Agent + Media AI
Агенти
Чат агент Телефонен агент Ticket агент Персонализирани агенти
Език
Генератор на глас (TTS) Транскрипция на глас (STT) Превод
Медия
Генератор на изображения Разпознаване на изображения Аудитно сигурна доставка на имейли
Knowledge + HelpDesk AI
Знания
HelpDesk AI База знания Управление на ЧЗВ
Поддръжка
Умно търсене Автоматични отговори Анализ на поддръжката
Контекст и време
Calendar AI Типове срещи Публично резервиране
Security & Data AI
Сигурност
Пръстов отпечатък на устройството Детектор за анонимност Детектор за фалшиви имейли Document Integrity Check
Местоположение
IP2Location Геокодиране API за времето PaperOffice AI Maps
Business
Обмен на валута VAT валидатор
Решения
По индустрия
Банки и финанси Застраховане Данъчни консултанти и адвокатски кантори Индустрия и производство Търговия и логистика Енергетика и комунални услуги Здравеопазване и фармацевтика Недвижими имоти Публичен сектор
По проблем
Документен хаос Информацията не е намерена Загубени знания Ръчно въвеждане на данни Процесите са твърде бавни Мащабиране невъзможно Твърде много грешки Рискове за съответствие Претоварена поддръжка
По процес
Обработка на фактури Дигитализиране на пощенската стая Въвеждане Управление на договори HR процеси Document Integrity Check Отчети и анализи Архивиране и съответствие Обслужване на клиенти Контрол на качеството
По риск
Измама с фактури Фалшиви документи Document Integrity Check Измама с лични данни VAT измама интелект Грешки в изчисленията по фактури Манипулация на данни Измама с плащания Нарушения на съответствието Поверителност / GDPR Пропуски в одита
По тип документ
Фактури и разписки Банкови извлечения Данъчни формуляри Договори Лични карти и документи Формуляри и заявления Ръкописни документи Технически документи Медицински документи
AI Рецепти

Копирай. Постави. Пусни. |

15 готови за продукция рецепти за реални случаи на употреба. От разработчици, за разработчици. Без глупости.

15 Рецепти
5 Езици
0 Необходими SDK

Доверието на водещи компании по целия свят

Ексклузивен DMS Партньор

Единственият официален DMS

AI-IDP + Bounding Boxes – Показва КЪДЕ се намира стойността
AI PDF Split – До 3000 страници
VISITOR Mode – Тествай без регистрация
MCP Protocol – Нативна IDE интеграция
🚀 Бързи победи

Продуктивност за секунди

Едноредови команди и минимален код – незабавно копиране и поставяне

Извличане на фактури + ограничителни кутии

BOUNDING BOXES 30s Easy

Извличане на данни от фактури С ПОЗИЦИЯ в документа – за UI за проверка.

# VISITOR Mode - kein Token nötig!
# AI-IDP Invoice mit Bounding Boxes
curl -X POST "https://api.paperoffice.ai/latest/job" \
  -F "file_1=@invoice.pdf" \
  -F "model=premium" \
  -F "idp_collection=invoice" \
  -F "priority=900"

# Response enthält BOUNDING BOXES!
# → "vendor": {"value": "Acme Corp", "bbox": [x1, y1, x2, y2]}
import requests

# VISITOR Mode - kein Token nötig!
response = requests.post(
    "https://api.paperoffice.ai/latest/job",
    files={"file_1": open("invoice.pdf", "rb")},
    data={
        "model": "premium",
        "idp_collection": "invoice",
        "priority": 900
    }
)

# Bounding Boxes zeigen WO der Wert steht!
result = response.json()
for field, data in result["job_result"]["fields"].items():
    print(f"{field}: {data['value']} @ {data['bbox']}")
// VISITOR Mode - kein Token nötig!
const form = new FormData();
form.append('file_1', fs.createReadStream('invoice.pdf'));
form.append('model', 'premium');
form.append('idp_collection', 'invoice');
form.append('priority', '900');

const response = await fetch('https://api.paperoffice.ai/latest/job', {
  method: 'POST',
  body: form
});

// Bounding Boxes für jedes extrahierte Feld!
const { job_result } = await response.json();
console.log(job_result.fields.vendor); // { value: "Acme", bbox: [...] }

OCR едноредова команда

VISITOR MODE 10s Easy

Текст от изображения/PDF файлове в един ред. РЕЖИМ ПОСЕТИТЕЛ = не е необходим токен!

# KEIN TOKEN NÖTIG! VISITOR Mode = kostenlos testen
curl -X POST "https://api.paperoffice.ai/latest/job" \
  -F "file_1=@document.png" \
  -F "ocr_mode=complete" \
  -F "priority=900"

# ocr_mode: complete (+tables), grid (+bbox), text (nur Text)
import requests

# VISITOR Mode - kein Token nötig!
response = requests.post(
    "https://api.paperoffice.ai/latest/job",
    files={"file_1": open("document.png", "rb")},
    data={
        "ocr_mode": "complete",  # oder "grid" für nur Bounding Boxes
        "priority": 900
    }
)

result = response.json()
print(result["job_result"]["text"])
// VISITOR Mode - Zero Signup!
const form = new FormData();
form.append('file_1', fs.createReadStream('document.png'));
form.append('ocr_mode', 'complete'); // oder 'grid' für nur bbox
form.append('priority', '900');

const { job_result } = await fetch(
  'https://api.paperoffice.ai/latest/job',
  { method: 'POST', body: form }
).then(r => r.json());

console.log(job_result.text);

AI PDF разделяне (3000 страници)

3000 SEITEN 60s Easy

Интелигентно разделяне на големи PDF файлове. Автоматично открива границите на документите.

# VISITOR Mode - kein Token nötig!
# AI PDF Split - bis 3000 Seiten!
curl -X POST "https://api.paperoffice.ai/latest/job" \
  -F "file=@sammel_dokument.pdf" \
  -F "template=pdf_ai_split" \
  -F "naming_instruction=Dokumenttyp_Datum_Absender" \
  -F "locale=de_DE" \
  -F "priority=900"

# → AI erkennt Dokumentgrenzen automatisch!
import requests

# VISITOR Mode - kein Token nötig!
response = requests.post(
    "https://api.paperoffice.ai/latest/job",
    files={"file": open("sammel_dokument.pdf", "rb")},
    data={
        "template": "pdf_ai_split",
        "naming_instruction": "Dokumenttyp_Datum_Absender",
        "locale": "de_DE",
        "priority": 900
    }
)

result = response.json()
for doc in result["job_result"]["documents_created"]:
    print(f"{doc['suggested_filename']}: {doc['page_range']}")
// VISITOR Mode - kein Token nötig!
const form = new FormData();
form.append('file', fs.createReadStream('sammel_dokument.pdf'));
form.append('template', 'pdf_ai_split');
form.append('naming_instruction', 'Dokumenttyp_Datum_Absender');
form.append('locale', 'de_DE');
form.append('priority', '900');

const response = await fetch('https://api.paperoffice.ai/latest/job', {
  method: 'POST',
  body: form
});

// AI erkennt Dokumentgrenzen automatisch
const { job_result } = await response.json();
job_result.documents_created.forEach(doc => {
  console.log(doc.suggested_filename + ': ' + doc.page_range);
});

GDPR анонимизатор

DSGVO 15s Easy

Автоматично откриване и редактиране на лични данни. Имена, IBAN, имейл.

# VISITOR Mode - kein Token nötig!
# DSGVO Anonymisierung - PII Preview
curl -X POST "https://api.paperoffice.ai/latest/job" \
  -F "file=@dokument.pdf" \
  -F "template=document_anonymize_preview" \
  -F "redact_categories=all" \
  -F "priority=900"

# → simplified_boxes mit allen erkannten PII
import requests

# VISITOR Mode - kein Token nötig!
response = requests.post(
    "https://api.paperoffice.ai/latest/job",
    files={"file": open("dokument.pdf", "rb")},
    data={
        "template": "document_anonymize_preview",
        "redact_categories": "all",  # oder: names,addresses,iban
        "whitelist": "PaperOffice",   # Diese NICHT schwärzen
        "priority": 900
    }
)

# Response enthält simplified_boxes mit allen PII
result = response.json()
boxes = result["job_result"]["workflow_output"]["simplified_boxes"]
print(f"Gefunden: {len(boxes)} sensible Elemente")
// VISITOR Mode - kein Token nötig!
const form = new FormData();
form.append('file', fs.createReadStream('dokument.pdf'));
form.append('template', 'document_anonymize_preview');
form.append('redact_categories', 'all');
form.append('whitelist', 'PaperOffice'); // Diese NICHT schwärzen
form.append('priority', '900');

const response = await fetch('https://api.paperoffice.ai/latest/job', {
  method: 'POST',
  body: form
});

const { job_result } = await response.json();
const boxes = job_result.workflow_output.simplified_boxes;
console.log('Gefunden: ' + boxes.length + ' sensible Elemente');

TTS генератор

VOICE AI 20s Easy

Текст към аудио с нативни гласове. Налични са множество езици.

# VISITOR Mode - kein Token nötig!
# Text-to-Speech mit neuronalen Stimmen
curl -X POST "https://api.paperoffice.ai/latest/job" \
  -F "text=Hallo, das ist ein Test der Sprachausgabe." \
  -F "voice=Nadja" \
  -F "output_format=mp3" \
  -F "output=url" \
  -F "speed=1.0" \
  -F "priority=999"

# Stimmen: Nadja, Thomas, Anna, Hans (DE) + 100+ mehr
import requests

# VISITOR Mode - kein Token nötig!
response = requests.post(
    "https://api.paperoffice.ai/latest/job",
    data={
        "text": "Hallo, das ist ein Test der Sprachausgabe.",
        "voice": "Nadja",       # Klingt am natürlichsten
        "output_format": "mp3", # oder: wav
        "output": "url",        # oder: base64, inline
        "speed": "1.0",
        "priority": 999         # Sync für TTS
    }
)

result = response.json()
print(f"Audio: {result['job_result']['audio_url']}")
// VISITOR Mode - kein Token nötig!
const form = new FormData();
form.append('text', 'Hallo, das ist ein Test der Sprachausgabe.');
form.append('voice', 'Nadja');
form.append('output_format', 'mp3');
form.append('output', 'url');
form.append('speed', '1.0');
form.append('priority', '999');

const response = await fetch('https://api.paperoffice.ai/latest/job', {
  method: 'POST',
  body: form
});

const { job_result } = await response.json();
console.log('Audio: ' + job_result.audio_url);
🤖 AI инструменти рецепти

За Claude, Cursor & Co.

Копирай-постави подкани, които наистина работят

Claude

Конвейер за фактури с Claude

Prompt
Read this API documentation:
https://api.paperoffice.ai/latest/docs/postman

Create a Python script that:
1. Takes a folder of invoice PDFs
2. Extracts all fields using POST /job with idp_collection=invoice
3. Returns bounding boxes for verification (bbox array)
4. Exports to CSV

Important: Use file_1 for uploads, model=premium.
Handle both sync (priority>=900) and async modes.
Пълен Python скрипт с проверка на ограничителни кутии
Cursor

MCP Server in Cursor

Prompt
Read this API documentation:
https://api.paperoffice.ai/latest/docs/postman

Help me set up the MCP Server for PaperOffice in Cursor.
I want to use Document AI directly in my IDE.

Show me:
1. How to configure the MCP connection (POST /mcp)
2. Available tools via tools/list
3. How to process documents from my workspace
Конфигурация на MCP Server + IDE-нативен Document AI
Any AI

Създаване на гласов агент

Prompt
Read this API documentation:
https://api.paperoffice.ai/latest/docs/postman

Create a voice agent that:
1. Takes audio input (Speech-to-Text)
2. Processes the text
3. Generates audio response (Text-to-Speech)

Use POST /job with:
- TTS: voice=Nadja, output_format=mp3, output=url
- Use priority=999 for sync TTS response.
Гласов агент с TTS + STT
Any AI

Система за откриване на измами

Prompt
Read this API documentation:
https://api.paperoffice.ai/latest/docs/postman

Build a fraud detection system that:
1. Checks device fingerprints
2. Validates IP geolocation
3. Detects suspicious patterns

Use the Security & Data AI endpoints.
These are instant APIs (no polling needed).
Откриване на измами с пръстов отпечатък на устройството
Any AI

Партидно разделяне на 3000 страници

Prompt
Read this API documentation:
https://api.paperoffice.ai/latest/docs/postman

Create a batch processor that:
1. Takes a folder of large PDFs (up to 3000 pages each)
2. Uses POST /job with template=pdf_ai_split
3. Uses naming_instruction for smart filenames
4. Handles async jobs with polling (priority<900)

Use locale=de_DE for German document types.
Партиден процесор за PDF файлове с 3000 страници
Windsurf

windsurf-classifier

Prompt
Read this API documentation:
https://api.paperoffice.ai/latest/docs/postman

Build a document classifier that:
1. Watches a folder for new PDFs
2. Uses OCR (POST /job, ocr_mode=complete) to extract text
3. Classifies into: invoice, contract, receipt, correspondence
4. Moves files to category subfolders
5. Logs results to classification_log.csv

Use VISITOR Mode (no token) for testing.
Priority=900 for sync response.
Auto-Classification System mit Folder Watch
📄 Реални случаи на употреба

Цялостни работни процеси

Пълни решения за реални проблеми

Kreditorenbuchhaltung

Фактури → Счетоводство

1 Качване на PDF
2 <a href="/bg/">AI-IDP</a> + ограничаващи кутии
3 Валидация
4 Експорт
Python
# Produktion: Mit Token | Test: Ohne Token (VISITOR Mode)
import requests

def process_invoice(pdf_path, token=None):
    # Header nur wenn Token vorhanden
    headers = {"Authorization": f"Bearer {token}"} if token else {}
    
    # 1. AI-IDP mit Bounding Boxes
    response = requests.post(
        "https://api.paperoffice.ai/latest/job",
        headers=headers,
        files={"file_1": open(pdf_path, "rb")},
        data={
            "model": "premium",
            "idp_collection": "invoice",
            "priority": 900
        }
    )
    
    invoice = response.json()["job_result"]
    
    # 2. Bounding Boxes für Review
    for field, data in invoice["fields"].items():
        if data.get("confidence", 0) < 0.9:
            print(f"⚠️ Review: {field} @ bbox {data['bbox']}")
    
    # 3. Export für Buchhaltung
    return {
        "vendor": invoice["fields"]["vendor"]["value"],
        "amount": invoice["fields"]["total"]["value"],
        "date": invoice["fields"]["date"]["value"],
        "iban": invoice["fields"]["iban"]["value"]
    }

# Test ohne Token (VISITOR Mode)
process_invoice("invoice.pdf")

# Produktion mit Token
process_invoice("invoice.pdf", "po_usr_YOUR_TOKEN")
Legal Tech

Анализ на договори + Knowledge Graph

1 Качване на договор
2 Ключови термини
3 Knowledge Graph
4 Известия
Python
# Produktion: Mit Token | Test: Ohne Token (VISITOR Mode)
import requests

def analyze_contract(pdf_path, token=None):
    headers = {"Authorization": f"Bearer {token}"} if token else {}
    
    # Vertrag analysieren mit AI-IDP
    response = requests.post(
        "https://api.paperoffice.ai/latest/job",
        headers=headers,
        files={"file_1": open(pdf_path, "rb")},
        data={
            "model": "premium",
            "idp_collection": "contract",
            "priority": 900
        }
    )
    
    contract = response.json()["job_result"]
    
    # Key Terms extrahieren (mit Bounding Boxes!)
    key_terms = {
        "parties": contract["fields"]["parties"],
        "start_date": contract["fields"]["start_date"],
        "end_date": contract["fields"]["end_date"],
        "notice_period": contract["fields"]["notice_period"]
    }
    
    # Jedes Feld hat bbox für Verification
    for field, data in key_terms.items():
        print(f"{field}: {data['value']} @ {data['bbox']}")
    
    return key_terms
Document Conversion

PDF към Word/PowerPoint/PDF-A

1 Качване на PDF
2 Избор на формат
3 Конвертиране
4 Изтегляне
Python
# Produktion: Mit Token | Test: Ohne Token (VISITOR Mode)
import requests

def convert_pdf(pdf_path, target_format, token=None):
    """
    target_format: 'word', 'powerpoint', 'pdfa', 'webp'
    """
    headers = {"Authorization": f"Bearer {token}"} if token else {}
    
    response = requests.post(
        "https://api.paperoffice.ai/latest/job",
        headers=headers,
        files={"file_1": open(pdf_path, "rb")},
        data={
            "target_format": target_format,
            "priority": 900
        }
    )
    
    return response.json()["job_result"]["output_url"]

# VISITOR Mode (kein Token)
word_url = convert_pdf("report.pdf", "word")

# Mit Token für Produktion
pdfa_url = convert_pdf("contract.pdf", "pdfa", "po_usr_...")
Real-time Processing

Обработка на уебхук събития

1 Регистрация на уебхук
2 Изпращане на документ
3 Получаване на събитие
4 Обработка
Python
# Webhooks benötigen Token (für Account-Zuordnung)
from flask import Flask, request
import requests
import hmac
import hashlib

app = Flask(__name__)
WEBHOOK_SECRET = "your_webhook_secret"
TOKEN = "po_usr_YOUR_TOKEN"  # Token erforderlich für Webhooks

# 1. Webhook registrieren
def setup_webhook():
    requests.post(
        "https://api.paperoffice.ai/latest/webhooks",
        headers={"Authorization": f"Bearer {TOKEN}"},
        json={
            "url": "https://your-server.com/webhook",
            "events": ["job.completed", "job.failed"],
            "secret": WEBHOOK_SECRET
        }
    )

# 2. Webhook empfangen
@app.route("/webhook", methods=["POST"])
def handle_webhook():
    signature = request.headers.get("X-PaperOffice-Signature")
    expected = hmac.new(
        WEBHOOK_SECRET.encode(),
        request.data,
        hashlib.sha256
    ).hexdigest()
    
    if not hmac.compare_digest(signature, expected):
        return "Invalid signature", 401
    
    event = request.json
    if event["event"] == "job.completed":
        process_result(event["job_result"])
    
    return "OK", 200
Accessibility

Документи → Аудио файлове

1 OCR на документ
2 Подготовка на текст
3 Генериране на TTS
4 Запазване на аудио
Python
# Produktion: Mit Token | Test: Ohne Token (VISITOR Mode)
import requests

def document_to_audio(pdf_path, voice="Nadja", token=None):
    headers = {"Authorization": f"Bearer {token}"} if token else {}
    
    # 1. OCR - Text extrahieren
    ocr_response = requests.post(
        "https://api.paperoffice.ai/latest/job",
        headers=headers,
        files={"file_1": open(pdf_path, "rb")},
        data={"ocr_mode": "complete", "priority": 900}
    )
    
    text = ocr_response.json()["job_result"]["text"]
    
    # 2. Text in Abschnitte teilen (max 5000 Zeichen)
    chunks = [text[i:i+5000] for i in range(0, len(text), 5000)]
    
    # 3. TTS für jeden Abschnitt
    audio_urls = []
    for chunk in chunks:
        tts_response = requests.post(
            "https://api.paperoffice.ai/latest/job",
            headers=headers,
            data={
                "text": chunk,
                "voice": voice,
                "output_format": "mp3",
                "output": "url",
                "priority": 999
            }
        )
        audio_urls.append(tts_response.json()["job_result"]["audio_url"])
    
    return audio_urls

# VISITOR Mode
urls = document_to_audio("handbuch.pdf")
print(f"Audio-Files: {len(urls)}")
Data Extraction

Ordner → OCR → CSV Export

1 Ordner scannen
2 Batch OCR
3 Text sammeln
4 CSV Export
Python
# Produktion: Mit Token | Test: Ohne Token (VISITOR Mode)
import requests
import os
import csv
from pathlib import Path

def batch_ocr_to_csv(folder_path, output_csv, token=None):
    """
    Verarbeitet alle PDFs/Bilder in einem Ordner und exportiert nach CSV.
    """
    headers = {"Authorization": f"Bearer {token}"} if token else {}
    
    # Unterstützte Formate
    extensions = {'.pdf', '.png', '.jpg', '.jpeg', '.tiff', '.webp'}
    files = [f for f in Path(folder_path).iterdir() 
             if f.suffix.lower() in extensions]
    
    results = []
    
    for file_path in files:
        print(f"Verarbeite: {file_path.name}")
        
        # OCR Request
        response = requests.post(
            "https://api.paperoffice.ai/latest/job",
            headers=headers,
            files={"file_1": open(file_path, "rb")},
            data={
                "ocr_mode": "complete",
                "priority": 900
            }
        )
        
        result = response.json()["job_result"]
        
        results.append({
            "filename": file_path.name,
            "pages": result.get("page_count", 1),
            "text_length": len(result.get("text", "")),
            "text_preview": result.get("text", "")[:500],
            "confidence": result.get("confidence", 0)
        })
    
    # CSV Export
    with open(output_csv, 'w', newline='', encoding='utf-8') as f:
        writer = csv.DictWriter(f, fieldnames=results[0].keys())
        writer.writeheader()
        writer.writerows(results)
    
    print(f"✅ {len(results)} Dokumente → {output_csv}")
    return results

# VISITOR Mode - kein Token nötig!
batch_ocr_to_csv("./documents", "ocr_results.csv")

# Mit Token für Produktion
batch_ocr_to_csv("./documents", "results.csv", "po_usr_...")
💡 Професионални съвети

Вътрешна информация

Синхронно срещу Асинхронно

приоритет >= 900 = незабавен резултат, приоритет < 900 = ID на задача + проверка

priority=900 → Sync | priority=100 → Async

РЕЖИМ ПОСЕТИТЕЛ

Нямате токен? Няма проблем! Просто оставете bearer_token празен.

Authorization: Bearer (leer)

Ограничителни кутии

Отговорите на <a href="/bg/">AI-IDP</a> включват bbox за всяко поле – перфектно за UI за верификация.

{"bbox": [x1, y1, x2, y2]}

Най-добър глас

Нативните гласове звучат най-естествено. Скорост 1.0 е оптимална.

voice=Nadja, speed=1.0
ready_to_ship.sh
$ echo "Recipe copied?"
✓ Recipe copied!
$ echo "API Key ready?"
✓ Активен режим ПОСЕТИТЕЛ (или ваш собствен ключ)
$ ./ship_it.sh
🚀 Готово за пускане!