tibi-starter/docs/md/server-javascript-kontext/packages/pdf.md

5.8 KiB

pdf

PdfPackage Interface

Das PdfPackage-Interface bietet Funktionen zur Erzeugung und Manipulation von PDF-Dateien. Es enthält folgende Methoden:

  • fromHTML(html: string, options?: {}): an: Diese Methode nimmt einen HTML-String und optionale Einstellungen entgegen und gibt die binären Daten eines PDF-Dokuments zurück. Mit dieser Methode können Sie ein PDF-Dokument aus HTML-Inhalten erstellen. Die optionalen Einstellungen ermöglichen es Ihnen, verschiedene Aspekte des PDF-Dokuments zu steuern, einschließlich der Ausrichtung, Seitengröße, Ränder, Kopf- und Fußzeilen und vieles mehr.

  • cpu(command: "watermark" | "stamp" | "merge" | "rotate" | "create", pdfData: any | any[], options?: {}): any: Diese Methode nimmt einen Befehl, PDF-Daten und optionale Einstellungen entgegen und gibt die binären Daten eines neuen PDF-Dokuments zurück. Mit dieser Methode können Sie verschiedene Operationen auf einem oder mehreren PDF-Dokumenten durchführen, einschließlich:

    • watermark: Fügen Sie ein Wasserzeichen zum PDF hinzu.
    • stamp: Fügen Sie einen Stempel zum PDF hinzu.
    • merge: Kombinieren Sie mehrere PDF-Dokumente zu einem.
    • rotate: Drehen Sie Seiten im PDF.
    • create: Erstellen Sie ein neues PDF.

    Die pdfData-Parameter können die binären Daten eines einzelnen PDF-Dokuments, ein Array von PDF-Dokumenten (zum Zusammenführen) oder ein Objekt mit einer Beschreibung (zum Erstellen) enthalten. Die optionalen Einstellungen variieren je nach Befehl und ermöglichen es Ihnen, verschiedene Aspekte der Operation zu steuern.

interface PdfPackage {
    /**
     * generate pdf from html
     *
     * @param html html string
     * @param options options
     *
     * @returns []byte of pdf data
     */
    fromHTML(
        html: string,
        options?: {
            copies?: number // Number of copies to print into the pdf file (default 1)
            dpi?: number // Change the dpi explicitly (this has no effect on X11 based systems)
            grayscale?: boolean // PDF will be generated in grayscale
            imageDpi?: number // When embedding images scale them down to this dpi (default 600)
            imageQuality?: number // When jpeg compressing images use this quality (default 94)
            lowQuality?: boolean // Generates lower quality pdf/ps. Useful to shrink the result document space
            marginBottom?: number // Set the page bottom margin
            marginLeft?: number // Set the page left margin (default 10mm)
            marginRight?: number // Set the page right margin (default 10mm)
            marginTop?: number // Set the page top margin
            noCollate?: boolean // Do not collate when printing multiple copies (default collate)
            noPdfCompression?: boolean // Do not use lossless compression on pdf objects
            orientation?: "Portrait" | "Landscape" // Set orientation to Landscape or Portrait (default Portrait)
            pageHeight?: number // Page height
            pageSize?: string // Set paper size to: A4, Letter, etc. (default A4)
            pageWidth?: number // Page width
            title?: string // The title of the generated pdf file (The title of the first document is used if not specified)
            // page settings
            printMediaType?: boolean // Use print media-type instead of screen
            footerCenter?: string // Centered footer text
            footerFontName?: string // Set footer font name (default Arial)
            footerFontSize?: number // Set footer font size (default 12)
            footerLeft?: string // Left aligned footer text
            footerLine?: boolean // Display line above the footer
            footerRight?: string // Right aligned footer text
            footerSpacing?: number // Spacing between footer and content in mm (default 0)
            footerHTML?: string // URL to footer html
            headerCenter?: string // Centered header text
            headerFontName?: string // Set header font name (default Arial)
            headerFontSize?: number // Set header font size (default 12)
            headerLeft?: string // Left aligned header text
            headerLine?: boolean // Display line below the header
            headerRight?: string // Right aligned header text
            headerSpacing?: number // Spacing between header and content in mm (default 0)
            headerHTML?: string // URL to header html
        }
    ): any

    /**
     * process existing pdf data
     *
     * @param command pdfcpu command
     * @param pdfData []byte of pdf data, multiple []byte as array of pdf's to merge or object with description to create
     * @param options options
     *
     * @returns []byte of new pdf data
     */
    cpu(
        command: "watermark" | "stamp" | "merge" | "rotate" | "create",
        pdfData: any | any[],
        options?: {
            pages?: (string | number)[]
            description?: {
                fontname?: string
                points?: number
                rtl?: boolean
                position?: "full" | "tl" | "tc" | "tr" | "l" | "c" | "r" | "bl" | "bc" | "br"
                offset?: string
                scalefactor?: number | string
                aligntext?: "left" | "center" | "right" | "justified"
                strokecolor?: string
                fillcolor?: string
                backgroundcolor?: string
                rotation?: number
                diagonal?: 1 | 2
                opacity?: number
                rendermode?: 0 | 1 | 2
                margins?: number | string
                border?: number | string
                url?: string
            }
            mode?: "text" | "image" | "pdf"
            bytes?: any // []byte of watermark image
            file?: string // file for pdf watermark
            text?: string // text for text watermark
            rotation?: number
        }
    ): any
}