@web2docx/web2docx-sdk
Version:
Real-time HTML to PDF/Image conversion client for Web2Docx API
193 lines (123 loc) โข 4.46 kB
Markdown
# Web2Docx SDK
Convert HTML to PDF and Images using WebSocket-powered real-time API.
## ๐ Features
- Convert **HTML to PDF** (single)
- Convert **multiple HTMLs to PDFs** (batch, returns ZIP)
- Convert **HTML to Image**
- Real-time WebSocket updates for job completion
- Priority queueing (Free / Pro / Pro Max)
## ๐ฆ Installation
```bash
npm i @web2docx/web2docx-sdk
```
or
```bash
yarn add @web2docx/web2docx-sdk
```
## ๐ Get Your API Key
To use this SDK, you need an API key.
๐ **[Sign up at web2docx.com](https://web2docx.com)** and generate your key from the dashboard.
Free and paid plans are available based on usage.
## โก Usage
### 1. Import and Initialize
```javascript
const { Web2DocxClient } = require("@web2docx/web2docx-sdk");
const client = new Web2DocxClient("YOUR_API_KEY");
```
### 2. HTML to PDF
```javascript
const fs = require("fs");
async function htmlToPdfExample() {
const html = "<h1>Hello World</h1>";
const pdfBuffer = await client.htmlToPdf(html);
fs.writeFileSync("output.pdf", pdfBuffer);
}
htmlToPdfExample();
```
### 3. HTML Batch to PDF (ZIP)
```javascript
async function htmlBatchToPdfExample() {
const htmlList = ["<h1>First Document</h1>", "<h1>Second Document</h1>"];
const zipBuffer = await client.htmlBatchToPdf(htmlList);
fs.writeFileSync("batch-output.zip", zipBuffer);
}
htmlBatchToPdfExample();
```
> **Note:** Maximum 10 HTML documents per batch.
### 4. HTML to Image
```javascript
async function htmlToImageExample() {
const html = "<h1>Hello Image</h1>";
const imageBuffer = await client.htmlToImage(html);
fs.writeFileSync("output.png", imageBuffer);
}
htmlToImageExample();
```
### 5. HTML Batch to IMAGE (ZIP)
```javascript
async function htmlBatchToImageExample() {
const htmlList = ["<h1>First Document</h1>", "<h1>Second Document</h1>"];
const zipBuffer = await client.htmlBatchToImage(htmlList);
fs.writeFileSync("batch-output.zip", zipBuffer);
}
htmlBatchToImageExample();
```
> **Note:** Maximum 10 HTML documents per batch.
### 6. HTML to Docx
```javascript
async function htmlToDocxExample() {
const html = "<h1>Hello Docx</h1>";
const docxBuffer = await client.htmlToDocx(html);
fs.writeFileSync("output.docx", docxBuffer);
}
htmlToDocxExample();
```
### 7. HTML Batch to DOCX (ZIP)
```javascript
async function htmlBatchToDocxExample() {
const htmlList = ["<h1>First Document</h1>", "<h1>Second Document</h1>"];
const zipBuffer = await client.htmlBatchToDocx(htmlList);
fs.writeFileSync("batch-output.zip", zipBuffer);
}
htmlBatchToDocxExample();
```
> **Note:** Maximum 10 HTML documents per batch.
## โ๏ธ API Reference
| Method | Description |
| :------------------------------------- | :--------------------------------------------------------------- |
| `htmlToPdf(html: string)` | Convert single HTML to PDF (returns Buffer) |
| `htmlBatchToPdf(htmlList: string[])` | Convert multiple HTMLs into a ZIP of PDFs (returns Buffer) |
| `htmlToImage(html: string)` | Convert single HTML to Image (returns Buffer) |
| `htmlBatchToImage(htmlList: string[])` | Convert multiple HTMLs into a ZIP of Images (returns Buffer) |
| `htmlToDocx(html: string)` | Convert single HTML to DOCX (returns Buffer) |
| `htmlBatchToDocx(htmlList: string[])` | Convert multiple HTMLs into a ZIP of DOCX files (returns Buffer) |
## ๐ก How it Works
- The SDK sends your request to the Web2Docx server.
- WebSocket connection is used to listen for **job completion events**.
- Once the server finishes conversion, your promise resolves automatically.
- Queues: Free users are slower; Pro and Pro Max users get faster processing.
## ๐งน Notes
- If a job takes more than 60 seconds, it **times out** and throws an error.
- Make sure your API Key is correct and active.
- Currently supports **HTML input only** (URL input coming soon).
## ๐งพ License
MIT License
## โญ๏ธ Support Us
If you find **Web2Docx** useful, please consider [giving us a star on GitHub](https://github.com/rishugren03/html-converter-sdk) โ it helps us reach more developers and motivates us to keep improving. Thank you! ๐
> **Made with โค๏ธ by the Web2Docx team**