Athena PDF API
Provides an API for interacting with an AthenaPDF microservice. Handles external urls, internal paths (securely) and arbitrary HTML.
Setup
Provide the URL and the auth string of you AthenaPDF microservice in the settings form at /admin/config/athenapdf_api/settings
.
UI
Go to /athenapdf_api/generate, provide a URL and hit submit to get the output file.
API
/* @var \Drupal\athenapdf_api\AthenaPdfConverterInterface $converter */
$converter = \Drupal::service('athenapdf_api.converter');
$account = User::load(1);
// Convert an internal route as seen by the admin user,
$markup = 'Testing';
$outputFilePath = $converter->internalPathToPdf('node/15', $account);
// external URLs,
$outputFilePath = $converter->urlToPdf('https://drupal.org');
// or arbitrary HTML.
$markup = 'Testing';
$outputFilePath = $converter->markupToPdf($markup);