Pdf

Type
Class
Namespace
craft\commerce\services
Inherits
craft\commerce\services\Pdf » yii\base\Component » yii\base\BaseObject
Implements
yii\base\Configurable
Since
2.0

Pdf service.

View source

# Public Properties

Property Description
behaviors yii\base\Behavior – List of behaviors attached to this component

# Public Methods

Method Description
__call() Calls the named method which is not a class method.
__clone() This method is called after the object is created by cloning an existing one.
__construct() Constructor.
__get() Returns the value of a component property.
__isset() Checks if a property is set, i.e. defined and not null.
__set() Sets the value of a component property.
__unset() Sets a component property to be null.
attachBehavior() Attaches a behavior to this component.
attachBehaviors() Attaches a list of behaviors to the component.
behaviors() Returns a list of behaviors that this component should behave as.
canGetProperty() Returns a value indicating whether a property can be read.
canSetProperty() Returns a value indicating whether a property can be set.
className() Returns the fully qualified name of this class.
detachBehavior() Detaches a behavior from the component.
detachBehaviors() Detaches all behaviors from the component.
ensureBehaviors() Makes sure that the behaviors declared in behaviors() are attached to this component.
getBehavior() Returns the named behavior object.
getBehaviors() Returns all behaviors attached to this component.
hasEventHandlers() Returns a value indicating whether there is any handler attached to the named event.
hasMethod() Returns a value indicating whether a method is defined.
hasProperty() Returns a value indicating whether a property is defined for this component.
init() Initializes the object.
off() Detaches an existing event handler from this component.
on() Attaches an event handler to an event.
renderPdfForOrder() Returns a rendered PDF object for the order.
trigger() Triggers an event.

# renderPdfForOrder()

Returns a rendered PDF object for the order.

View source

Arguments

Returns

string

Throws

# Events

# EVENT_AFTER_RENDER_PDF

Type
craft\commerce\events\PdfEvent

The event that is triggered after an order’s PDF has been rendered.

Event handlers can override Commerce’s PDF generation by setting the pdf property on the event to a custom-rendered PDF string. The event properties will be the same as those from beforeRenderPdf, but pdf will contain a rendered PDF string and is the only one for which setting a value will make any difference for the resulting PDF output.

use craft\commerce\events\PdfEvent;
use craft\commerce\services\Pdf;
use yii\base\Event;

Event::on(
    Pdf::class,
    Pdf::EVENT_AFTER_RENDER_PDF,
    function(PdfEvent $event) {
        // Add a watermark to the PDF or forward it to the accounting department
        // ...
    }
);

# EVENT_BEFORE_RENDER_PDF

Type
craft\commerce\events\PdfEvent

The event that is triggered before an order’s PDF is rendered.

Event handlers can customize PDF rendering by modifying several properties on the event object:

Property Value
order populated Order model
template optional Twig template path (string) to be used for rendering
variables populated with the variables availble to the template used for rendering
option optional string for the template that can be used to show different details based on context (example: receipt, ajax)
use craft\commerce\events\PdfEvent;
use craft\commerce\services\Pdf;
use yii\base\Event;

Event::on(
    Pdf::class,
    Pdf::EVENT_BEFORE_RENDER_PDF,
    function(PdfEvent $event) {
        // Modify `$event->order`, `$event->option`, `$event->template`,
        // and `$event->variables` to customize what gets rendered into a PDF
        // ...
    }
);