Texte et listes
Insérez et modifiez des zones de texte, des blocs de paragraphe et des listes PDF sémantiques.
Le texte PDF peut être une zone de texte simple, un cadre de paragraphe adossé à une histoire ou une liste sémantique.
Zones de texte
const textBox = page.insertTextBox({ text: 'Quarterly review', left: 36, top: 36, width: 280, height: 48, fontSize: 20,})textBox.setTextStyle({ bold: true, fill: '#1d4ed8' })textBox.setTextStyle({ italic: true }, { start: 0, end: 9 })setTextStyle(style, range?) applique un style à toute la zone ou à une plage UTF-16 dont le début est inclusif et la fin exclusive.
Paragraphes
Les blocs de paragraphe ont des identifiants stables. Lisez-les avec getBlocks() avant de modifier le texte, le style ou l'ordre.
const paragraph = page.insertParagraph({ text: 'Release summary', left: 36, top: 108, width: 280, height: 96,})paragraph.appendBlock({ text: 'Approved for publication', textStyle: { italic: true },})const [block] = paragraph.getBlocks()if (block) { paragraph.setBlockStyle(block.id, { align: 'center' })}Listes sémantiques
const list = page.insertList({ text: 'Verify content', kind: univerAPI.Enum.PdfListKind.ORDERED, preset: univerAPI.Enum.PdfListPresetId.ORDERED_NUMBER_ALPHA, left: 36, top: 228, width: 280, height: 120,})list.insertItem(1, { text: 'Export final PDF' })list.insertItem(2, { text: 'Archive source', level: 1 })list.setStartNumber(3)Les niveaux de liste vont de 0 à 8. Augmenter un niveau nécessite un élément précédent pouvant servir de parent ; setStartNumber() n'est disponible que pour les listes ordonnées.
Les zones de texte exposent aussi getTextRuns(), getTextAnchor() et setTextAnchor(). Les paragraphes exposent insertBlock(), appendBlock(), setBlockText(), setBlockStyle() et removeBlock().
Que pensez-vous de ce guide ?