-
-
Save randycasburn/802f278c3cfef0873dd086c34bbb9fee to your computer and use it in GitHub Desktop.
| /* | |
| This file must be placed with the user JavaScript file location or the Acrobat JavaScript file location. | |
| This provides FOLDER level privilege for the script. | |
| This script WILL NOT WORK if created within the document using the script editor. This is due to DOCUMENT priviledge restrictions. | |
| Once installed, | |
| 1. Open any PDF file in Acrobat | |
| 2. Pull down [File] and click [Get Mock Data] | |
| 3. Open the JavaScript Debug Console to view output. | |
| /--------------/ | |
| 1. Adds new menu item to File menu of Acrobat - Get Mock Data | |
| 2. Calls jsonplaceholder mock data service and requests post id # 1 to be returned | |
| 3. Upon return, prints any errors to the console, converts the stream to a string, convers the string to a JS object and prints | |
| the object properties and values to the console. | |
| */ | |
| // Make HTTP GET request | |
| ajax = app.trustedFunction(function(fURL) { | |
| app.beginPriv(); | |
| Net.HTTP.request({ cVerb:"GET", cURL:fURL, oHandler: ajaxCallback}); | |
| app.endPriv(); | |
| }); | |
| // process the response | |
| ajaxCallback = { | |
| response:function(msg,uri,e){ | |
| var stream = msg; | |
| var string = ""; | |
| var error = e == undefined? 'No HTTP errors' : "ERROR: " + e; | |
| string = SOAP.stringFromStream( stream ); | |
| oResult = JSON.parse(string); | |
| console.println(error); | |
| console.println( "id: " + oResult.id); | |
| console.println( "userId: " + oResult.userId); | |
| console.println( "title: " + oResult.title); | |
| console.println( "body: " + oResult.body); | |
| } | |
| }; | |
| // Add menu item to kick it all off | |
| app.addMenuItem({ | |
| cName: "Get Mock Data", cParent: "File", | |
| cExec: 'ajax("https://jsonplaceholder.typicode.com/posts/1");', | |
| nPos: 0}); |
It works for me. But how do I get the oResult.id for instance into a field (of the PDF file) instead of the console? Any help appriciated.
Hi fclcodan - replace the console.log() with .getField(name). Assign the field object to a variable and then simply assign the variable a value. That should do it. Something like this:
var fieldObj = this.getField('myFieldName');
fieldObj.value = oResult.id;
The docs can be found here: https://opensource.adobe.com/dc-acrobat-sdk-docs/library/jsapiref/JS_API_AcroJS.html#field
If I want to run a specific GET or POST request in a Adobe Javascript Button can I call your script to run it?
Also, after update of Adobe will be deleted?
I want to send a post request similar to this:
function leerenboard() {
try {
var campoVuoto = false; // Variabile di controllo
var campoVuotoNome = null; // Memorizza il nome del campo vuoto
var selectboard = 1;
var dati = {
selectboard: selectboard
};
var datiJSON = JSON.stringify(dati);
// Invia app.launchURL con i dati della singola riga
var url = "https://localhost/script/scriptleeren.php?dati=" + encodeURIComponent(datiJSON);
app.launchURL(url, true);
if (!campoVuoto) {
console.println("Tutti i dati sono stati inviati con successo.");
} else {
console.println("Nessun dato da inviare o campo vuoto trovato.");
console.println("Campo vuoto individuato: " + campoVuotoNome);
}
} catch (e) {
console.println("Errore durante l'invio dei dati: " + e);
}
}
String.prototype.capitalize = function() {
return this.charAt(0).toUpperCase() + this.slice(1);
};
@xator91 - Mirko - What have you tried? What didn't work?
@xator91 - Mirko - What have you tried? What didn't work?
I have a PHP script that wait for a get request through URL, and i want that work without opening an external browser, is that possible?
- Now it works. Thanks.
It works for me. But how do I get the oResult.id for instance into a field (of the PDF file) instead of the console? Any help appriciated.