happypdf / PdfAsset
Type Alias: PdfAsset
type PdfAsset =
| {
fontFamily: string;
fontSize: number;
getText: string;
kind: "text";
x: number;
y: number;
}
| {
drawHeight: number;
drawWidth: number;
getBytes: Uint8Array;
height: number;
kind: "image";
mimeType: "image/jpeg" | "image/png";
width: number;
x: number;
y: number;
}
| {
getSvg: string;
height: number;
kind: "graphics";
width: number;
x: number;
y: number;
};Defined in: src/api/extraction/types.ts:12
A content asset extracted from a PDF page.
Text comes from show-text operators (Tj / TJ / …), decoded via ToUnicode or a simple font encoding when available. Path-outlined “text” is not included.
Images come from Image XObjects painted with Do, converted to usable file bytes.
Coordinates are in PDF user space (origin bottom-left of the page MediaBox, unless a crop/transform applies).
Union Members
Type Literal
{
fontFamily: string;
fontSize: number;
getText: string;
kind: "text";
x: number;
y: number;
}fontFamily
fontFamily: string;Font name from /BaseFont (subset prefix stripped when present)
fontSize
fontSize: number;getText()
getText(): string;Returns
string
kind
kind: "text";x
x: number;Baseline origin x in page user space
y
y: number;Baseline origin y in page user space
Type Literal
{
drawHeight: number;
drawWidth: number;
getBytes: Uint8Array;
height: number;
kind: "image";
mimeType: "image/jpeg" | "image/png";
width: number;
x: number;
y: number;
}drawHeight
drawHeight: number;Drawn height in page user space (from CTM)
drawWidth
drawWidth: number;Drawn width in page user space (from CTM)
getBytes()
getBytes(): Uint8Array;Returns
Uint8Array
height
height: number;Intrinsic pixel height
kind
kind: "image";mimeType
mimeType: "image/jpeg" | "image/png";width
width: number;Intrinsic pixel width
x
x: number;Lower-left x of the image’s unit square after CTM
y
y: number;Lower-left y of the image’s unit square after CTM
Type Literal
{
getSvg: string;
height: number;
kind: "graphics";
width: number;
x: number;
y: number;
}getSvg()
getSvg(): string;Approximate SVG markup for this painted path (fill/stroke/colors). Path numbers are in PDF user space; the SVG flips Y for normal viewing.
Returns
string
height
height: number;kind
kind: "graphics";width
width: number;x
x: number;Bounding-box min x in page user space
y
y: number;Bounding-box min y in page user space