Image (canvas)
Absolutely positioned image. Both w and h are required — canvas images do not auto-size.
The image must be declared in assets before use, with a src file path or bytes you load on the engine (see Installation).
Attributes
Section titled “Attributes”| Attribute | Type | Default | Description |
|---|---|---|---|
name |
string | — | Required. Asset name declared in assets |
x |
signed pt | — | X position (or offset from anchor) |
y |
signed pt | — | Y position (or offset from anchor) |
w |
pt | — | Required. Width |
h |
pt | — | Required. Height |
anchor |
string | — | Reference point |
Either anchor or both x and y must be provided.
Logo on every page (top-right corner)
Section titled “Logo on every page (top-right corner)”<lpdf version="1"> <assets> <image name="logo" src="logo.png"/> </assets> <document size="letter" margin="48pt"> <section> <layout> <text>Main content</text> </layout> <canvas> <layer page="each"> <img name="logo" anchor="top-right" x="-18pt" y="18pt" w="80pt" h="24pt"/> </layer> </canvas> </section> </document></lpdf>L.document({ size: 'letter', margin: '48pt', assets: { images: [{ name: 'logo', src: 'logo.png' }] } }, [ L.section(NoAttr, [ L.layout(NoAttr, [ L.text(NoAttr, ['Main content']), ]), L.canvas(NoAttr, [ L.layer({ page: 'each' }, [ L.imgAt({ name: 'logo', anchor: 'top-right', x: '-18pt', y: '18pt', w: '80pt', h: '24pt' }), ]), ]), ]),])L.document(DocumentAttr(size='letter', margin='48pt', assets=DocumentAssets(images=[ImageAttr(name='logo', src='logo.png')])), [ L.section(NoAttr, [ L.layout(NoAttr, [ L.text(NoAttr, ['Main content']) ]), L.canvas(NoAttr, [ L.layer(LayerAttr(page='each'), [ L.img_at(CanvasImgAttr(name='logo', anchor='top-right', x='-18pt', y='18pt', w='80pt', h='24pt')) ]) ]) ])])L::document(new DocumentAttr(size: 'letter', margin: '48pt', assets: new DocumentAssets(images: [new ImageAttr(name: 'logo', src: 'logo.png')])), [ L::section(NoAttr, [ L::layout(NoAttr, [ L::text(NoAttr, ['Main content']), ]), L::canvas(NoAttr, [ L::layer(new LayerAttr(page: 'each'), [ L::imgAt(new CanvasImgAttr(name: 'logo', anchor: 'top-right', x: '-18pt', y: '18pt', w: '80pt', h: '24pt')), ]), ]), ]),])L.Document(new() { Size = "letter", Margin = "48pt", Assets = new DocumentAssets(Images: [new ImageAttr { Name = "logo", Src = "logo.png" }]) }, [ L.Section(NoAttr, [ L.Layout(NoAttr, [ L.Text(NoAttr, ["Main content"]), ]), L.Canvas(NoAttr, [ L.Layer(new() { Page = "each" }, [ L.ImgAt(new() { Name = "logo", Anchor = "top-right", X = "-18pt", Y = "18pt", W = "80pt", H = "24pt" }), ]), ]), ]),])Centered watermark image
Section titled “Centered watermark image”<canvas> <layer page="each" opacity="0.08"> <img name="watermark" anchor="center" w="300pt" h="300pt"/> </layer></canvas>L.canvas(NoAttr, [ L.layer({ page: 'each', opacity: '0.08' }, [ L.imgAt({ name: 'watermark', anchor: 'center', w: '300pt', h: '300pt' }), ]),])L.canvas(NoAttr, [ L.layer(LayerAttr(page='each', opacity='0.08'), [ L.img_at(CanvasImgAttr(name='watermark', anchor='center', w='300pt', h='300pt')) ])])L::canvas(NoAttr, [ L::layer(new LayerAttr(page: 'each', opacity: '0.08'), [ L::imgAt(new CanvasImgAttr(name: 'watermark', anchor: 'center', w: '300pt', h: '300pt')), ]),])L.Canvas(NoAttr, [ L.Layer(new() { Page = "each", Opacity = "0.08" }, [ L.ImgAt(new() { Name = "watermark", Anchor = "center", W = "300pt", H = "300pt" }), ]),])