JSFiddle - React, Tailwind, and code Playground
by Eugene Fedorov
HTML
<script src="https://code.angularjs.org/1.1.1/angular.min.js"></script>
<div ng-controller = "myCtrl">
<a href="#" ng-click="downloadFile();">download</a>
</div>
JavaScript
var myApp = angular.module('myApp', []);
myApp.controller('myCtrl', ['$scope', function($scope){
$scope.html_content = '<table name="foo"><tr><td>word up</td></tr></table><textarea>Foo ™ Bar</textarea><p>What happens to +\'s?</p>';
$scope.data = {
doc: {
test: true,
document_type: 'pdf',
name: 'adoc',
document_content: $scope.html_content,
strict: 'none'
},
user_credentials: "YOUR_API_KEY_HERE"
};
$scope.downloadFile = function() {
downloadPDF("https://docraptor.com/docs.pdf", $scope.data);
}
}]);
var downloadPDF = function(url, data, method){
//url and data options required
if( url && data ){
$('<form style="display: none" id="dr_submission" action="' + url
+ '" method="' + (method||'post') + '">'
+ '</form>').appendTo('body');
//credentials
$('form#dr_submission').append('<textarea name="user_credentials"></textarea>');
$('form#dr_submission textarea[name=user_credentials]').val(data.user_credentials);
//doc values
for(var key in data.doc) {
$('form#dr_submission').append('<textarea name="doc['+key+']"></textarea>');
$('form#dr_submission textarea[name="doc['+key+']"]').val(data.doc[key]);
}
//submit the form
if(confirm("press ok")) {$('form#dr_submission').submit().remove(); }
};
};