diff --git a/app/Http/Controllers/PreviewController.php b/app/Http/Controllers/PreviewController.php index 5993b5279270..005d2bc83445 100644 --- a/app/Http/Controllers/PreviewController.php +++ b/app/Http/Controllers/PreviewController.php @@ -121,6 +121,12 @@ class PreviewController extends BaseController ->design($design) ->build(); + //if phantom js...... inject here.. + if (config('ninja.phantomjs_pdf_generation')) { + return (new Phantom)->convertHtmlToPdf($maker->getCompiledHTML(true)); + } + + //else $file_path = PreviewPdf::dispatchNow($maker->getCompiledHTML(true), auth()->user()->company()); return response()->download($file_path)->deleteFileAfterSend(true); diff --git a/app/Utils/PhantomJS/Phantom.php b/app/Utils/PhantomJS/Phantom.php index c69511751323..63ac615f0497 100644 --- a/app/Utils/PhantomJS/Phantom.php +++ b/app/Utils/PhantomJS/Phantom.php @@ -84,6 +84,15 @@ class Phantom return $file_path; } + public function convertHtmlToPdf($html) + { + // https://phantomjscloud.com/api/browser/v2/a-demo-key-with-low-quota-per-ip-address/?request=%7Bcontent:%22%3Chtml%3E%3Ch1%3Eboo%3C/h2%3E%3C/html%3E%22,renderType:%22pdf%22%7D + + $key = config('ninja.phantomjs_key'); + $phantom_url = "https://phantomjscloud.com/api/browser/v2/{$key}/?request=%7Bcontent:%22{$html}%22,renderType:%22pdf%22%7D"; + return CurlUtils::get($phantom_url); + } + public function displayInvitation(string $entity, string $invitation_key) { $key = $entity.'_id';