Free Trial
Web API version
Licensing
Request A Quote
HAVE QUESTIONS OR NEED HELP? SUBMIT THE SUPPORT REQUEST FORM or write email to SUPPORT@BYTESCOUT.COM
Split PDF By Text From URL (Node.js) | AWS Lambda | PDF Splitting API
app.js:
JavaScript
var https = require("https"); // The authentication key (API Key). // Get your own by registering at https://app.pdf.co const API_KEY = "***********************************"; // Source PDF file to split // You can also upload your own file into PDF.co and use it as url. Check "Upload File" samples for code snippets: https://github.com/bytescout/pdf-co-api-samples/tree/master/File%20Upload/ const SourceFileUrl = "https://bytescout-com.s3-us-west-2.amazonaws.com/files/demo-files/cloud-api/pdf-split/multiple-invoices.pdf"; // Split Search String const SplitText = "invoice number"; // Prepare request to `Split PDF By TeExt` API endpoint var queryPath = `/v1/pdf/split2`; // JSON payload for api request var jsonPayload = JSON.stringify({ searchString: SplitText, url: SourceFileUrl }); var reqOptions = { host: "api.pdf.co", method: "POST", path: queryPath, headers: { "x-api-key": API_KEY, "Content-Type": "application/json", "Content-Length": Buffer.byteLength(jsonPayload, 'utf8') } }; exports.handler = async (event) => { let dataString = ''; const promise_response = await new Promise((resolve, reject) => { // Send request var postRequest = https.request(reqOptions, (response) => { response.on('data', chunk => { dataString += chunk; }); response.on('end', () => { resolve({ statusCode: 200, body: JSON.stringify(JSON.parse(dataString), null, 4) }); }); }).on("error", (e) => { reject({ statusCode: 500, body: 'Something went wrong!' }); }); // Write request data postRequest.write(jsonPayload); postRequest.end(); }); return promise_response; };