2016-09-02 4 views
0

Kann PDFreactor als Webdienst verwendet werden, wobei JavaScript, das in einem Browser ausgeführt wird, die REST-API verwenden kann, um Seiteninhalte aus dem DOM in PDF zu konvertieren? In dieser Anwendung wird der Inhalt, der im Browser gerendert wird, ausschließlich durch browser-seitiges JavaScript (unter Verwendung der D3-Bibliothek) erzeugt; Die Anforderung besteht darin, dem Browser-Endbenutzer eine Aktion vom Typ "Exportieren nach PDF" vom aktuell gerenderten Seiteninhalt (über eine Schaltfläche oder Menüaktion) bereitzustellen. Das Ziel wäre dann, Elemente über die REST-API vom aktuellen DOM zu PDFreactor zu verschieben, damit der Web-Service das PDF generieren kann. Ist dies eine sinnvolle Verwendung von PDFreactor?Kann PDFreactor verwendet werden, um PDF-Dokumente aus Browser-DOM zu erstellen?

Vielen Dank im Voraus.

Antwort

0

Es ist natürlich möglich, den HTML-Inhalt, der bereits vom Browser verarbeitet wurde, mit PDFreactor zu konvertieren. In diesem Fall könnten Sie z.B. Verwenden Sie die JavaScript-API, um den aus dem "body" -Element extrahierten Inhalt an PDFreactor zu übergeben und die resultierende PDF auf derselben Seite anzuzeigen. Bitte beachten Sie einen Beispielskript unten:

<!DOCTYPE html> 
<html> 
    <head> 
     <title></title> 
     <script src="http://www.pdfreactor.com/product/wrappers/javascript/lib/PDFreactor.js"></script> 
     <script> 
      window.onload = function() { 
       convertToPDF(); 
      } 
      function convertToPDF() { 
       // Create new PDFreactor instance 
       var pdfReactor = new PDFreactor(); 
       // Get the content from the body element 
       var content = "<html><body>"+document.body.innerHTML+"</body></html>"; 
       // Create a new PDFreactor configuration object 
       var config = { 
        // Specify the input document 
        'document': content, 
        // Set a base URL for images, style sheets, links 
        baseURL: window.location.href, 
       } 
       // Render document and save result 
       pdfReactor.convert(config, function(result) { 

document.body.innerHTML += '<iframe id="result" style="width: 100%; height: 95vh"></iframe>'; 
        document.getElementById("result").src = "data:application/pdf;base64," + result.document; 
       }, function(error) { 
        document.body.innerHTML += "<h1>An Error Has Occurred</h1>" 
              + "<h2>" + error + "</h2>"; 
       }); 
      } 
     </script> 
    </head> 
    <body> 
     <p>Hello World</p> 
    </body> 
</html> 

jedoch als PDFreactor eine Vielzahl von beliebten JavaScript-Bibliotheken unterstützt einschließlich D3.js, jQuery etc. könnte es effizienter sein, um direkt Ihr Eingabedokument einschließlich den JavaScript zum PDFreactor passieren Web Service anstelle des Konvertierens des vom Browser gerenderten HTML. PDFreactor verarbeitet jedes JavaScript in Ihrem Eingabedokument, solange die JavaScript-Verarbeitung (standardmäßig deaktiviert) in Ihrer PDFreactor-Integration aktiviert ist.

Verwandte Themen