Enterprise PDF Document Solutions
Professional-grade PDF form processing platform trusted by Fortune 500 companies.
RAM-only processing. Zero data storage. 100% secure copy-paste operations.
Manual Web Interface
- User-friendly web portal
- Drag & drop PDF upload
- Automatic field detection
- Visual form filling
- Instant PDF download
Automated API System
- RESTful API endpoints
- Key-based authentication
- JSON, XML, CSV support
- Bulk processing
- Webhook callbacks
🔧 How It Works
1. Upload PDF Form
Upload your blank PDF form via web interface or API
2. Smart Processing
Our engine extracts fields and fills data intelligently
3. Get Filled PDF
Download your completed PDF - guaranteed every time
💻 Simple API Integration
Choose your technology stack and copy the integration code
📤 Fill PDF Request:
POST https://api.mayapdffiller.com/pdf/fill
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{
"template_pdf": "JVBERi0xLjQ...",
"data": {
"customer_name": "Maya Inc",
"invoice_total": "$1,250.00",
"date": "01/15/2024"
}
}
📥 Response:
{
"success": true,
"filled_pdf": "JVBERi0xLjQ...",
"method_used": "direct_merge",
"processing_time": "0.8s"
}
import requests
import base64
from django.http import HttpResponse
class MayaPdfFiller:
def __init__(self, api_key):
self.api_key = api_key
self.base_url = 'https://api.mayapdffiller.com'
def fill_pdf(self, template_path, data):
with open(template_path, 'rb') as f:
template_content = base64.b64encode(f.read()).decode()
payload = {
'template_pdf': template_content,
'data': data
}
headers = {
'Authorization': f'Bearer {self.api_key}',
'Content-Type': 'application/json'
}
response = requests.post(f'{self.base_url}/pdf/fill',
json=payload, headers=headers)
return response.json()
# Django View Example
def generate_invoice(request):
filler = MayaPdfFiller(settings.MAYA_PDF_API_KEY)
data = {
'customer_name': request.POST.get('customer_name'),
'invoice_date': request.POST.get('invoice_date'),
'total_amount': request.POST.get('total_amount')
}
result = filler.fill_pdf('templates/invoice.pdf', data)
if result['success']:
pdf_content = base64.b64decode(result['filled_pdf'])
response = HttpResponse(pdf_content, content_type='application/pdf')
response['Content-Disposition'] = 'attachment; filename="invoice.pdf"'
return response
class MayaPdfFiller {
constructor(apiKey) {
this.apiKey = apiKey;
this.baseUrl = 'https://api.mayapdffiller.com';
}
async fillPdf(templateFile, data) {
const formData = new FormData();
formData.append('template_pdf', templateFile);
formData.append('data', JSON.stringify(data));
const response = await fetch(`${this.baseUrl}/pdf/fill`, {
method: 'POST',
headers: {
'Authorization': `Bearer ${this.apiKey}`
},
body: formData
});
return await response.json();
}
}
// Browser Usage
const filler = new MayaPdfFiller('YOUR_API_KEY');
document.getElementById('fillBtn').onclick = async () => {
const file = document.getElementById('pdfFile').files[0];
const data = {
customer_name: document.getElementById('customerName').value,
invoice_total: document.getElementById('total').value
};
const result = await filler.fillPdf(file, data);
if (result.success) {
// Download filled PDF
const blob = base64ToBlob(result.filled_pdf, 'application/pdf');
downloadBlob(blob, 'filled-invoice.pdf');
}
};
class MayaPdfFiller {
private $apiKey;
private $baseUrl = 'https://api.mayapdffiller.com';
public function __construct($apiKey) {
$this->apiKey = $apiKey;
}
public function fillPdf($templatePath, $data) {
$pdfContent = file_get_contents($templatePath);
$payload = [
'template_pdf' => base64_encode($pdfContent),
'data' => $data
];
return $this->makeRequest('/pdf/fill', $payload);
}
private function makeRequest($endpoint, $data) {
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => $this->baseUrl . $endpoint,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => json_encode($data),
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $this->apiKey,
'Content-Type: application/json'
]
]);
return json_decode(curl_exec($curl), true);
}
}
// Usage
$filler = new MayaPdfFiller('your-api-key');
$result = $filler->fillPdf('invoice.pdf', [
'customer_name' => 'Maya Inc',
'total' => '$1,250.00'
]);
file_put_contents('filled.pdf', base64_decode($result['filled_pdf']));
// Service Provider
namespace App\Services;
use Illuminate\Support\Facades\Http;
class MayaPdfFillerService {
public function fillPdf($templatePath, $data) {
$pdfContent = Storage::get($templatePath);
$response = Http::withHeaders([
'Authorization' => 'Bearer ' . config('services.maya_pdf.key')
])->post('https://api.mayapdffiller.com/pdf/fill', [
'template_pdf' => base64_encode($pdfContent),
'data' => $data
]);
return $response->json();
}
}
// Controller
class InvoiceController extends Controller {
public function generate(Request $request, MayaPdfFillerService $filler) {
$result = $filler->fillPdf('templates/invoice.pdf', [
'customer_name' => $request->customer_name,
'total_amount' => $request->total_amount
]);
if ($result['success']) {
return response(base64_decode($result['filled_pdf']))
->header('Content-Type', 'application/pdf')
->header('Content-Disposition', 'attachment; filename="invoice.pdf"');
}
}
}
// Config: config/services.php
'maya_pdf' => [
'key' => env('MAYA_PDF_API_KEY')
]
// Application/libraries/Maya_pdf_filler.php
class Maya_pdf_filler {
private $api_key;
private $base_url = 'https://api.mayapdffiller.com';
public function __construct($params = []) {
$this->api_key = $params['api_key'];
}
public function fill_pdf($template_path, $data) {
$pdf_content = file_get_contents($template_path);
$payload = [
'template_pdf' => base64_encode($pdf_content),
'data' => $data
];
return $this->make_request('/pdf/fill', $payload);
}
}
// Controller
class Pdf_controller extends CI_Controller {
public function fill_form() {
$this->load->library('maya_pdf_filler', [
'api_key' => $this->config->item('maya_pdf_key')
]);
$result = $this->maya_pdf_filler->fill_pdf(
'assets/templates/form.pdf',
$this->input->post('form_data')
);
$this->output
->set_content_type('application/pdf')
->set_output(base64_decode($result['filled_pdf']));
}
}
#include <curl/curl.h>
#include <json/json.h>
class MayaPdfFiller {
private:
std::string apiKey;
std::string baseUrl = "https://api.mayapdffiller.com";
public:
MayaPdfFiller(const std::string& key) : apiKey(key) {}
Json::Value fillPdf(const std::string& templatePath, const Json::Value& data) {
// Read PDF file
std::ifstream file(templatePath, std::ios::binary);
std::string pdfContent((std::istreambuf_iterator<char>(file)),
std::istreambuf_iterator<char>());
// Prepare JSON payload
Json::Value payload;
payload["template_pdf"] = base64_encode(pdfContent);
payload["data"] = data;
// Make API request with libcurl
return makeRequest("/pdf/fill", payload);
}
};
// Usage
int main() {
MayaPdfFiller filler("your-api-key");
Json::Value data;
data["customer_name"] = "Maya Inc";
data["total_amount"] = "$1,250.00";
Json::Value result = filler.fillPdf("invoice.pdf", data);
if (result["success"].asBool()) {
std::cout << "PDF filled successfully!" << std::endl;
}
}
using System;
using System.IO;
using System.Net.Http;
using System.Threading.Tasks;
using Newtonsoft.Json;
public class MayaPdfFillerClient {
private readonly HttpClient _httpClient;
private readonly string _baseUrl = "https://api.mayapdffiller.com";
public MayaPdfFillerClient(string apiKey) {
_httpClient = new HttpClient();
_httpClient.DefaultRequestHeaders.Add("Authorization", $"Bearer {apiKey}");
}
public async Task<PdfFillResult> FillPdfAsync(string templatePath, object data) {
byte[] pdfBytes = await File.ReadAllBytesAsync(templatePath);
string encodedPdf = Convert.ToBase64String(pdfBytes);
var payload = new { template_pdf = encodedPdf, data = data };
string jsonPayload = JsonConvert.SerializeObject(payload);
var content = new StringContent(jsonPayload, Encoding.UTF8, "application/json");
HttpResponseMessage response = await _httpClient.PostAsync($"{_baseUrl}/pdf/fill", content);
string responseContent = await response.Content.ReadAsStringAsync();
return JsonConvert.DeserializeObject<PdfFillResult>(responseContent);
}
}
// Usage
var filler = new MayaPdfFillerClient("your-api-key");
var data = new { customer_name = "Maya Inc", total_amount = "$1,250.00" };
var result = await filler.FillPdfAsync("invoice.pdf", data);
if (result.Success) {
byte[] pdfBytes = Convert.FromBase64String(result.FilledPdf);
await File.WriteAllBytesAsync("filled-invoice.pdf", pdfBytes);
}
// Maya PDF Filler Class for xHarbour
CLASS MayaPdfFiller
DATA cApiKey
DATA cBaseUrl INIT "https://api.mayapdffiller.com"
METHOD New(cApiKey) CONSTRUCTOR
METHOD FillPdf(cTemplatePath, hData)
METHOD MakeRequest(cEndpoint, cJsonData)
ENDCLASS
METHOD FillPdf(cTemplatePath, hData) CLASS MayaPdfFiller
LOCAL cPdfContent, cEncodedPdf, hPayload, cJsonData
cPdfContent := MemoRead(cTemplatePath)
cEncodedPdf := hb_base64Encode(cPdfContent)
hPayload := {=>}
hPayload["template_pdf"] := cEncodedPdf
hPayload["data"] := hData
cJsonData := hb_JsonEncode(hPayload)
RETURN ::MakeRequest("/pdf/fill", cJsonData)
// Usage Example
FUNCTION TestPdfFiller()
LOCAL oPdfFiller, hData, hResult
oPdfFiller := MayaPdfFiller():New("your-api-key")
hData := {=>}
hData["customer_name"] := "Maya Inc"
hData["total_amount"] := "$1,250.00"
hResult := oPdfFiller:FillPdf("invoice.pdf", hData)
IF hResult["success"]
MemoWrit("filled.pdf", hb_base64Decode(hResult["filled_pdf"]))
? "PDF filled successfully!"
ENDIF
RETURN .T.
*****************************************************************
* MAYA PDF FORM FILLER - COBOL INTEGRATION MODULE
*****************************************************************
IDENTIFICATION DIVISION.
PROGRAM-ID. MAYAPDF.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-API-REQUEST-DATA.
05 WS-API-URL PIC X(50) VALUE
'https://api.mayapdffiller.com/pdf/fill'.
05 WS-API-KEY PIC X(64) VALUE
'YOUR-ENTERPRISE-API-KEY-HERE'.
01 WS-FORM-FIELDS.
05 WS-CUSTOMER-NAME PIC X(50).
05 WS-INVOICE-DATE PIC X(10).
05 WS-TOTAL-AMOUNT PIC X(15).
PROCEDURE DIVISION.
0000-MAIN-PROGRAM.
PERFORM 1000-INITIALIZE-PROGRAM
PERFORM 2000-PREPARE-PDF-DATA
PERFORM 3000-BUILD-JSON-REQUEST
PERFORM 4000-CALL-MAYA-API
PERFORM 5000-PROCESS-RESPONSE
STOP RUN.
4000-CALL-MAYA-API.
CALL 'HTTPPOST' USING WS-API-URL 'HTTPREQ' WS-API-RESPONSE
IF RETURN-CODE NOT = ZERO
DISPLAY 'HTTP REQUEST FAILED: ' RETURN-CODE
END-IF.
Compatible with IBM Mainframe, Micro Focus, GNU COBOL
H NOMAIN BNDDIR('QC2LE')
//*************************************************************************
//* MAYA PDF FORM FILLER - IBM AS/400 RPG INTEGRATION
//*************************************************************************
/copy QRPGCOPY,HTTPAPI_PR
D MayaPdfFiller_Fill...
D PR 1N
D templatePath 64A CONST
D customerName 50A CONST
D invoiceDate 10A CONST
D totalAmount 15A CONST
D outputPath 64A CONST
P MayaPdfFiller_Fill...
P B EXPORT
D url S 100A INZ('https://api.mayapdffiller.com/pdf/fill')
D apiKey S 64A INZ('YOUR-ENTERPRISE-API-KEY')
D authHeader S 100A
D rc S 10I 0
// Build authorization header
C EVAL authHeader = 'Bearer ' + %trim(apiKey)
// Make HTTP POST request using HTTPAPI
C EVAL rc = http_post_stmf(
C url :
C '/tmp/maya_request.json' :
C '/tmp/maya_response.json' :
C HTTP_TIMEOUT :
C HTTP_USERAGENT :
C 'application/json' :
C authHeader)
C RETURN (rc = 1)
P MayaPdfFiller_Fill...
P E
Perfect for IBM i, iSeries, Power Systems environments
H*******************************************************************
H* MAYA PDF FORM FILLER - IBM SYSTEM/36 RPG II INTEGRATION
H*******************************************************************
FQPRINT O F 132 PRINTER
FINVOICE IP F 80 80 DISK
FPDFOUT O F 255 DISK
I*******************************************************************
I* INPUT RECORD FORMAT - INVOICE DATA FROM LEGACY SYSTEM
I*******************************************************************
IINVOICE NS
I 1 50 CUSTNAME
I 51 60 INVDATE
I 61 80 INVNUMBER
I 81 95 TOTALAMT
C*******************************************************************
C* MAIN PROGRAM LOGIC
C*******************************************************************
C READ INVOICE 90
C 90 GOTO ENDPGM
C* Build HTTP request for Maya PDF API
C EXSR BLDREQ
C EXSR CALLAPI
C EXSR PROCRESP
C*******************************************************************
C* BUILD HTTP REQUEST SUBROUTINE
C*******************************************************************
C BLDREQ BEGSR
C MOVEL '{"template_pdf":"' JSONREQ 1000
C CAT PDFB64:255 JSONREQ
C CAT '","data":{' JSONREQ
C CAT '"customer_name":"' JSONREQ
C CAT CUSTNAME:50 JSONREQ
C CAT '","total_amount":"' JSONREQ
C CAT TOTALAMT:15 JSONREQ
C CAT '"}}' JSONREQ
C BLDREQ ENDSR
Classic RPG II for vintage IBM System/36 & System/38
// Enterprise AI-to-AI Bridge Protocol
const Ω = require('@maya/neural-bridge');
const ξ = new Ω.QuantumProcessor({
μ: process.env.MAYA_QUANTUM_KEY,
λ: 'https://quantum-api.mayapdffiller.com/v2/neural',
σ: { encryption: 'AES-512-GCM', isolation: 'quantum-vault' }
});
class Ξ extends Ω.AbstractAI {
async ψ(π, φ) {
const δ = await this.χ(π);
const ε = this.ρ(φ, δ.τ);
return await ξ.execute({
ι: Buffer.from(π).toString('base64'),
κ: this.α(ε),
ω: { μ: true, ν: 'enterprise', ζ: Date.now() }
});
}
χ(β) { return Ω.analyze(β, { depth: 'quantum' }); }
ρ(γ, υ) { return Ω.synthesize(γ, υ); }
α(η) { return Ω.vectorize(η, { dims: 4096 }); }
}
// Production AI Bridge
const θ = new Ξ();
export default θ;
🔮 Neural Response Protocol:
{
"ψ": true,
"Δ": "JVBERi0xLjQ...",
"Φ": {
"Λ": "quantum-merge",
"Π": "0.001ms",
"Σ": "enterprise-neural-v2"
},
"Ω": "4096-bit-encryption"
}
Advanced AI-to-AI communication with quantum-level security
// Service: src/Service/MayaPdfFillerService.php
class MayaPdfFillerService {
protected $httpClient;
protected $configFactory;
protected $logger;
public function __construct(ClientInterface $http_client, ConfigFactoryInterface $config_factory, LoggerChannelFactoryInterface $logger_factory) {
$this->httpClient = $http_client;
$this->configFactory = $config_factory;
$this->logger = $logger_factory->get('maya_pdf_filler');
$config = $this->configFactory->get('maya_pdf_filler.settings');
$this->apiKey = $config->get('api_key');
}
public function fillPdf($templatePath, array $data) {
$pdfContent = file_get_contents($templatePath);
$payload = [
'template_pdf' => base64_encode($pdfContent),
'data' => $data
];
$response = $this->httpClient->post('https://api.mayapdffiller.com/pdf/fill', [
'headers' => [
'Authorization' => 'Bearer ' . $this->apiKey,
'Content-Type' => 'application/json'
],
'json' => $payload
]);
return json_decode($response->getBody(), TRUE);
}
}
Full Joomla component with models, controllers, and plugins
// Controller: src/Controller/PdfController.php
namespace Drupal\maya_pdf_filler\Controller;
use Drupal\Core\Controller\ControllerBase;
use Drupal\maya_pdf_filler\Service\MayaPdfFillerService;
class PdfController extends ControllerBase {
protected $pdfFillerService;
public function generateInvoice(Request $request) {
$invoiceData = [
'customer_name' => $request->request->get('customer_name'),
'invoice_number' => $request->request->get('invoice_number'),
'total_amount' => $request->request->get('total_amount')
];
$result = $this->pdfFillerService->fillPdf('templates/invoice.pdf', $invoiceData);
if ($result['success']) {
$pdfContent = base64_decode($result['filled_pdf']);
$response = new Response($pdfContent);
$response->headers->set('Content-Type', 'application/pdf');
return $response;
}
}
}
Drupal 8/9/10 with dependency injection and services
// Auto-loader: includes/classes/class.maya_pdf_filler.php
class MayaPdfFiller {
private $apiKey;
private $baseUrl = 'https://api.mayapdffiller.com';
public function __construct($apiKey = null) {
global $db;
if (!$apiKey) {
$config_query = "SELECT configuration_value FROM " . TABLE_CONFIGURATION . "
WHERE configuration_key = 'MAYA_PDF_API_KEY'";
$config_result = $db->Execute($config_query);
$this->apiKey = $config_result->fields['configuration_value'];
}
}
public function fillPdf($templatePath, $data) {
$pdfContent = file_get_contents($templatePath);
$payload = array(
'template_pdf' => base64_encode($pdfContent),
'data' => $data
);
return $this->makeRequest('/pdf/fill', $payload);
}
}
ZenCart 1.5.x with order observers and auto-PDF generation
// System Library: system/library/maya_pdf_filler.php
class MayaPdfFiller {
private $registry;
public function __construct($registry) {
$this->registry = $registry;
$this->apiKey = $this->registry->get('config')->get('maya_pdf_api_key');
}
public function fillPdf($templatePath, $data) {
$pdfContent = file_get_contents($templatePath);
$response = wp_remote_post('https://api.mayapdffiller.com/pdf/fill', array(
'headers' => array(
'Authorization' => 'Bearer ' . $this->apiKey,
'Content-Type' => 'application/json'
),
'body' => json_encode([
'template_pdf' => base64_encode($pdfContent),
'data' => $data
])
));
return json_decode(wp_remote_retrieve_body($response), true);
}
}
OpenCart 3.x/4.x with event handlers and admin integration
// Service: src/Service/MayaPdfFillerService.php
namespace App\Service;
use Symfony\Contracts\HttpClient\HttpClientInterface;
class MayaPdfFillerService {
private HttpClientInterface $httpClient;
private string $apiKey;
public function __construct(HttpClientInterface $httpClient, string $mayaPdfApiKey) {
$this->httpClient = $httpClient;
$this->apiKey = $mayaPdfApiKey;
}
public function fillPdf(string $templatePath, array $data): array {
$pdfContent = file_get_contents($templatePath);
$response = $this->httpClient->request('POST', 'https://api.mayapdffiller.com/pdf/fill', [
'headers' => [
'Authorization' => 'Bearer ' . $this->apiKey,
'Content-Type' => 'application/json'
],
'json' => [
'template_pdf' => base64_encode($pdfContent),
'data' => $data
]
]);
return $response->toArray();
}
}
Symfony 5.x/6.x with dependency injection and event subscribers
// Plugin Main Class
class MayaPdfFillerWooCommerce {
public function __construct() {
add_action('woocommerce_order_status_completed', array($this, 'generate_invoice_pdf'));
add_action('woocommerce_thankyou', array($this, 'display_pdf_download_link'));
}
public function generate_invoice_pdf($order_id) {
$order = wc_get_order($order_id);
$orderData = array(
'invoice_number' => $order->get_order_number(),
'customer_name' => $order->get_billing_first_name() . ' ' . $order->get_billing_last_name(),
'order_date' => $order->get_date_created()->format('m/d/Y'),
'items' => $this->get_order_items($order),
'total' => wc_format_decimal($order->get_total())
);
$result = $this->fill_pdf('templates/invoice.pdf', $orderData);
if ($result['success']) {
// Save PDF and email to customer
$this->save_and_email_pdf($order, $result['filled_pdf']);
}
}
}
Complete WordPress plugin with hooks, admin panel, and email automation
🚀 Enterprise Frameworks
- Spring Boot (Java) - Enterprise Java applications
- ASP.NET Core - Microsoft enterprise stack
- Ruby on Rails - Ruby web applications
- Django - Python web framework
- Express.js - Node.js applications
- Flask - Python microframework
🛒 E-commerce Platforms
- Magento - Enterprise e-commerce
- PrestaShop - European e-commerce
- osCommerce - Classic e-commerce
- Shopify - Cloud e-commerce
- BigCommerce - SaaS e-commerce
🏢 Enterprise Systems
- SAP ABAP - Enterprise resource planning
- Oracle PL/SQL - Database applications
- Microsoft Dynamics - Business applications
- Salesforce Apex - CRM platform
- IBM WebSphere - Enterprise Java
- Progress 4GL - Business applications
⚡ Modern Platforms
- Next.js/React - Modern web apps
- Vue.js/Nuxt - Progressive web apps
- Angular - Enterprise web apps
- Svelte/SvelteKit - Modern framework
- Blazor - C# web applications
Custom Integration Request
Don't see your platform? We'll create a custom integration for you!
Any Language
Python, Java, Go, Rust, Kotlin, Swift, etc.Any Platform
AWS Lambda, Azure Functions, Google Cloud, etc.Any Database
MySQL, PostgreSQL, MongoDB, Oracle, etc.Download Complete SDK Examples
Get complete integration examples with error handling, authentication, and advanced features
Enterprise Pricing Tiers
Scalable solutions for organizations of every size
STARTER
- Web interface
- API access
- JSON, XML, CSV
- Email support
- On the fly next tier upgrade based on use, after customer approval
BUSINESS
- Priority processing
- Advanced API
- DBF & Excel support
- Phone support
- On the fly next tier upgrade based on use, after customer approval
PROFESSIONAL
- Webhook callbacks
- Bulk processing
- All premium formats
- Priority support
- On the fly next tier upgrade based on use, after customer approval
ENTERPRISE
- Custom integration
- White-label option
- 24hr format implementation
- Dedicated support
- Volume pricing tiers
Enterprise Volume Pricing Structure
Transparent tiered pricing for high-volume processing beyond plan limits
| Volume Range | Price per PDF | Savings |
|---|---|---|
| 4,001 - 8,000 | $0.050 | Base |
| 8,001 - 12,000 | $0.048 | 4% off |
| 12,001 - 16,000 | $0.045 | 10% off |
| 16,001 - 20,000 | $0.042 | 16% off |
| Volume Range | Price per PDF | Savings |
|---|---|---|
| 20,001 - 30,000 | $0.038 | 24% off |
| 30,001 - 40,000 | $0.035 | 30% off |
| 40,000+ | $0.030 | 40% off |
| Government & Educational discounts available | ||
Transparent Billing
Pay only for what you useVolume Discounts
Lower costs at scaleCustom Agreements
Enterprise contracts available📊 Professional Data Format Support
Enterprise-grade data integration for any system
Legacy Systems
- DBF Files - xBase, dBase, FoxPro
- Fixed-Width - Mainframe data
- EDI/EDIFACT - Business transactions
- Field mapping & validation
Modern Business
- Excel (.xlsx) - Direct spreadsheet
- Form-Data - HTTP multipart
- GraphQL - Modern APIs
- Column/field mapping
On-Demand Formats
- YAML - DevOps configs
- Protobuf - Google services
- TOML - Rust ecosystem
- Any custom format
Ready to Transform Your PDF Workflow?
Join hundreds of businesses using Maya PDF Form Filler to automate their document processing.
No credit card required • 30-day free trial • Cancel anytime