4.8 KiB
4.8 KiB
ZERO-WHITESPACE PDF Generator API - Usage Examples
Overview
This API generates exact PDFs with zero whitespace and supports both A3 and A4 formats.
Features
- ✅ Zero Whitespace: Complete elimination of unwanted spacing
- ✅ Format Options: A3 (297mm x 420mm) and A4 (210mm x 297mm)
- ✅ Exact Output: PDFs match HTML exactly without extra pages
- ✅ Advanced HTML Processing: Removes all unnecessary elements
- ✅ Download Links: Get direct download URLs for generated PDFs
API Endpoints
1. Generate PDF
POST /generate-pdf
Request Body (JSON)
{
"input": "<html>Your HTML content here</html>",
"output": "my-property-brochure",
"format": "A4",
"return_download_link": true
}
Parameters
input(required): HTML content to convert to PDFoutput(optional): Custom filename (without extension)format(optional): "A3" or "A4" (default: "A4")return_download_link(optional): true/false (default: false)
Response (Download Link)
{
"success": true,
"message": "ZERO-WHITESPACE A4 PDF generated successfully",
"download_url": "https://salesforce.tech4biz.io/download/property_brochure_A4_abc123.pdf",
"filename": "property_brochure_A4_abc123.pdf",
"format": "A4",
"file_size_mb": "2.45",
"expires_at": "2024-01-15T10:30:00.000Z",
"generated_at": "2024-01-08T10:30:00.000Z",
"pdf_id": "abc123",
"status": "download_ready",
"features": ["zero_whitespace", "exact_output", "minimal_margins"]
}
2. Health Check
GET /health
Response
{
"status": "healthy",
"timestamp": "2024-01-08T10:30:00.000Z",
"version": "9.0.0-zero-whitespace-a3-a4",
"supported_formats": ["A3", "A4"],
"features": [
"zero_white_spaces",
"zero_margins",
"advanced_html_preprocessing",
"complete_css_reset",
"no_extra_pages",
"a3_a4_formats",
"exact_pdf_output",
"download_links",
"base64_response",
"infinite_timeouts",
"format_validation"
]
}
Usage Examples
Example 1: Generate A4 PDF with Download Link
curl -X POST http://localhost:8000/generate-pdf \
-H "Content-Type: application/json" \
-d '{
"input": "<html><body><h1>My Property</h1><p>Beautiful home for sale</p></body></html>",
"output": "property-brochure",
"format": "A4",
"return_download_link": true
}'
Example 2: Generate A3 PDF with Download Link
curl -X POST http://localhost:8000/generate-pdf \
-H "Content-Type: application/json" \
-d '{
"input": "<html><body><h1>Large Property</h1><p>Spacious home with garden</p></body></html>",
"output": "large-property",
"format": "A3",
"return_download_link": true
}'
Example 3: JavaScript/Node.js Usage
const axios = require('axios');
async function generatePDF(htmlContent, format = 'A4') {
try {
const response = await axios.post('http://localhost:8000/generate-pdf', {
input: htmlContent,
format: format,
return_download_link: true
});
if (response.data.success) {
console.log('PDF Generated:', response.data.download_url);
return response.data.download_url;
}
} catch (error) {
console.error('Error:', error.response?.data?.error || error.message);
}
}
// Usage
const htmlContent = '<html><body><h1>My Property</h1></body></html>';
generatePDF(htmlContent, 'A4');
Example 4: Python Usage
import requests
import json
def generate_pdf(html_content, format='A4'):
url = 'http://localhost:8000/generate-pdf'
data = {
'input': html_content,
'format': format,
'return_download_link': True
}
response = requests.post(url, json=data)
if response.status_code == 200:
result = response.json()
if result['success']:
print(f"PDF Generated: {result['download_url']}")
return result['download_url']
else:
print(f"Error: {response.json().get('error', 'Unknown error')}")
# Usage
html_content = '<html><body><h1>My Property</h1></body></html>'
generate_pdf(html_content, 'A4')
Key Improvements
1. Zero Whitespace
- Complete CSS reset eliminates all default browser spacing
- Advanced HTML preprocessing removes unnecessary whitespace
- Zero margins ensure exact PDF output
2. Format Support
- A4: 210mm x 297mm (standard document size)
- A3: 297mm x 420mm (larger format for detailed layouts)
3. Exact Output
- PDFs match HTML exactly without extra pages
- No unwanted spacing or margins
- Perfect page count matching
4. Advanced Processing
- Removes HTML comments and empty elements
- Eliminates whitespace between tags
- Optimizes content for PDF generation
Testing
Run the test script to verify functionality:
node test-pdf-generation.js
This will test all preview templates with both A3 and A4 formats.