| 9 |
lars |
1 |
/** ====================================================================
|
|
|
2 |
* jsPDF JavaScript plugin
|
|
|
3 |
* Copyright (c) 2013 Youssef Beddad, youssef.beddad@gmail.com
|
|
|
4 |
*
|
|
|
5 |
* Permission is hereby granted, free of charge, to any person obtaining
|
|
|
6 |
* a copy of this software and associated documentation files (the
|
|
|
7 |
* "Software"), to deal in the Software without restriction, including
|
|
|
8 |
* without limitation the rights to use, copy, modify, merge, publish,
|
|
|
9 |
* distribute, sublicense, and/or sell copies of the Software, and to
|
|
|
10 |
* permit persons to whom the Software is furnished to do so, subject to
|
|
|
11 |
* the following conditions:
|
|
|
12 |
*
|
|
|
13 |
* The above copyright notice and this permission notice shall be
|
|
|
14 |
* included in all copies or substantial portions of the Software.
|
|
|
15 |
*
|
|
|
16 |
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
|
17 |
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
|
18 |
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
|
19 |
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
|
20 |
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
|
21 |
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
|
22 |
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
|
23 |
* ====================================================================
|
|
|
24 |
*/
|
|
|
25 |
|
|
|
26 |
/*global jsPDF */
|
|
|
27 |
|
|
|
28 |
(function (jsPDFAPI) {
|
|
|
29 |
'use strict';
|
|
|
30 |
var jsNamesObj, jsJsObj, text;
|
|
|
31 |
jsPDFAPI.addJS = function (txt) {
|
|
|
32 |
text = txt;
|
|
|
33 |
this.internal.events.subscribe(
|
|
|
34 |
'postPutResources',
|
|
|
35 |
function (txt) {
|
|
|
36 |
jsNamesObj = this.internal.newObject();
|
|
|
37 |
this.internal.write('<< /Names [(EmbeddedJS) ' + (jsNamesObj + 1) + ' 0 R] >>', 'endobj');
|
|
|
38 |
jsJsObj = this.internal.newObject();
|
|
|
39 |
this.internal.write('<< /S /JavaScript /JS (', text, ') >>', 'endobj');
|
|
|
40 |
}
|
|
|
41 |
);
|
|
|
42 |
this.internal.events.subscribe(
|
|
|
43 |
'putCatalog',
|
|
|
44 |
function () {
|
|
|
45 |
if (jsNamesObj !== undefined && jsJsObj !== undefined) {
|
|
|
46 |
this.internal.write('/Names <</JavaScript ' + jsNamesObj + ' 0 R>>');
|
|
|
47 |
}
|
|
|
48 |
}
|
|
|
49 |
);
|
|
|
50 |
return this;
|
|
|
51 |
};
|
|
|
52 |
}(jsPDF.API));
|