API Reference

FPdfImageBuilder

Detached builder for creating or updating a PDF image.

Access

Access through:

Example

TypeScript
const pdf = univerAPI.getActivePdf()const page = pdf.getPageByIndex(0)const imageInfo = page  .newImage()  .setSource('https://avatars.githubusercontent.com/u/61444807?s=48&v=4')  .setAbsolutePosition(36, 72)  .setSize(240, 135)  .setRotation(15)  .setCrop({ left: 0, top: 0, right: 100, bottom: 100 })  .setOpacity(0.75)  .build()page.insertImage(imageInfo)

Setup

Register @univerjs-pro/pdfs or a preset that includes it. In plugin mode, import @univerjs-pro/pdfs/facade. Additional methods below require their listed plugin packages. See Facade setup.

@univerjs-pro/pdfs

FPdfImageBuilder.build

Build detached image information without modifying the PDF.

TypeScript
build(): IPdfImageBuilderInfo

Returns

Detached information for insertImage or updateImage.

Throws

If no image source has been set.

If a placement, crop, or opacity value is invalid.

If the image source does not match its source type.

Examples

TypeScript
const pdf = univerAPI.getActivePdf()const page = pdf.getPageByIndex(0)const imageInfo = page  .newImage()  .setSource('https://avatars.githubusercontent.com/u/61444807?s=48&v=4')  .setAbsolutePosition(36, 72)  .setSize(240, 135)  .setRotation(15)  .setCrop({ left: 0, top: 0, right: 100, bottom: 100 })  .setOpacity(0.75)  .build()page.insertImage(imageInfo)

Types: IPdfImageBuilderInfo

Package: @univerjs-pro/pdfs · Type definitions

FPdfImageBuilder.setAbsolutePosition

Set the absolute position in PDF points.

TypeScript
setAbsolutePosition(left: number, top: number): this

Parameters

  • left — Required. The left position in points.
  • top — Required. The top position in points.

Returns

This builder for chaining.

Throws

If either position is not finite.

Examples

TypeScript
const pdf = univerAPI.getActivePdf()const page = pdf.getPageByIndex(0)const imageInfo = page  .newImage()  .setSource('https://avatars.githubusercontent.com/u/61444807?s=48&v=4')  .setAbsolutePosition(36, 72)  .build()page.insertImage(imageInfo)

Package: @univerjs-pro/pdfs · Type definitions

FPdfImageBuilder.setCrop

Set the detached crop descriptor.

TypeScript
setCrop(crop: IPdfImageCrop): this

Parameters

  • crop — Required. The crop offsets.

Returns

This builder for chaining.

Throws

If a crop value is not finite or the crop rectangle is empty.

Examples

TypeScript
const pdf = univerAPI.getActivePdf()const page = pdf.getPageByIndex(0)const imageInfo = page  .newImage()  .setSource('https://avatars.githubusercontent.com/u/61444807?s=48&v=4')  .setCrop({ left: 0, top: 0, right: 100, bottom: 100 })  .build()page.insertImage(imageInfo)

Types: IPdfImageCrop

Package: @univerjs-pro/pdfs · Type definitions

FPdfImageBuilder.setOpacity

Set the detached image opacity.

TypeScript
setOpacity(opacity: number): this

Parameters

  • opacity — Required. The opacity from 0 through 1.

Returns

This builder for chaining.

Throws

If opacity is outside the inclusive 0-through-1 range.

Examples

TypeScript
const pdf = univerAPI.getActivePdf()const page = pdf.getPageByIndex(0)const imageInfo = page  .newImage()  .setSource('https://avatars.githubusercontent.com/u/61444807?s=48&v=4')  .setOpacity(0.75)  .build()page.insertImage(imageInfo)

Package: @univerjs-pro/pdfs · Type definitions

FPdfImageBuilder.setRotation

Set image rotation in degrees.

TypeScript
setRotation(rotation: number): this

Parameters

  • rotation — Required. The rotation in degrees.

Returns

This builder for chaining.

Throws

If the rotation is not finite.

Examples

TypeScript
const pdf = univerAPI.getActivePdf()const page = pdf.getPageByIndex(0)const imageInfo = page  .newImage()  .setSource('https://avatars.githubusercontent.com/u/61444807?s=48&v=4')  .setSize(240, 135)  .setRotation(15)  .build()page.insertImage(imageInfo)

Package: @univerjs-pro/pdfs · Type definitions

FPdfImageBuilder.setSize

Set image width and height in PDF points.

TypeScript
setSize(width: number, height: number): this

Parameters

  • width — Required. The width in points.
  • height — Required. The height in points.

Returns

This builder for chaining.

Throws

If either size is non-finite or not positive.

Examples

TypeScript
const pdf = univerAPI.getActivePdf()const builder = pdf?.getPageByIndex(0)?.newImage().setSize(288, 162)

Package: @univerjs-pro/pdfs · Type definitions

FPdfImageBuilder.setSource

Set the URL, UUID, or base64 image source.

TypeScript
setSource(source: string, imageSourceType?: ImageSourceType): this

Parameters

  • source — Required. The image source.
  • imageSourceType — Optional. The explicit source type, or omit it to infer the type.

Returns

This builder for chaining.

Examples

TypeScript
const pdf = univerAPI.getActivePdf()const page = pdf.getPageByIndex(0)const imageInfo = page  .newImage()  .setSource('https://avatars.githubusercontent.com/u/61444807?s=48&v=4')  .build()page.insertImage(imageInfo)

Types: ImageSourceType

Package: @univerjs-pro/pdfs · Type definitions

How is this guide?

© 2026 DreamNum Co., Ltd.