How to Replace Text Strings in a DOCX File using Node.JS
Working with long text file can be tedious and time consuming, particularly when extra care must be made with sensitive documents like contracts and proposals where names, titles, and terms may need to be changed depending on the recipient. The following API will allow you to find and replace all instances of a text string in a DOCX document.
The parameters for this function include the input file or file URL, the match string and its replacement string, and an option for matching the case of the replaced string.
To use this API, run this command to install the SDK:
npm install cloudmersive-convert-api-client --save
You can also add this snippet to your package.json:
"dependencies": {
"cloudmersive-convert-api-client": "^2.4.8"
}
Then, you can call the function:
var CloudmersiveConvertApiClient = require('cloudmersive-convert-api-client');
var defaultClient = CloudmersiveConvertApiClient.ApiClient.instance;// Configure API key authorization: Apikey
var Apikey = defaultClient.authentications['Apikey'];
Apikey.apiKey = 'YOUR API KEY';var apiInstance = new CloudmersiveConvertApiClient.TransformDocumentApi();var matchString = "matchString_example"; // String | String to search for and match against, to be replacedvar replaceString = "replaceString_example"; // String | String to replace the matched values withvar opts = {
'inputFile': Buffer.from(fs.readFileSync("C:\\temp\\inputfile").buffer), // File | Optional: Input file to perform the operation on.
'inputFileUrl': "inputFileUrl_example", // String | Optional: URL of a file to operate on as input. This can be a public URL, or you can also use the begin-editing API (part of EditDocumentApi) to upload a document and pass in the secure URL result from that operation as the URL here (this URL is not public).
'matchCase': true // Boolean | Optional: True if the case should be matched, false for case insensitive match. Default is false.
};var callback = function(error, data, response) {
if (error) {
console.error(error);
} else {
console.log('API called successfully. Returned data: ' + data);
}
};
apiInstance.transformDocumentDocxReplace(matchString, replaceString, opts, callback);
This will return an output file with the results of the text string replacement. You can retrieve the API Key from Cloudmersive at no cost and with no commitment. This will give you access to 800 monthly calls across our library of APIs.