Subversion-Projekte lars-tiefland.cienc

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
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));