Weboldal keresés

typescript - pdf-lib - Biztosítsuk, hogy a szöveg maradjon az oldalon (átcsomagolás és méretcsökkentés használatával)


A pdf-lib-et használom PDF dokumentumok dinamikus létrehozására.

Az általam hozzáadott szövegtartalom hossza változó lehet.

Van mód arra, hogy beállítsak egy határoló dobozt (vagy valami hasonlót), hogy biztosítsam, hogy a szövegem beleférjen ebbe a területbe? Az alábbi példában azt szeretném, ha a szövegem mind átcsomagolódna, mind pedig szükség szerint kicsinyedne, hogy beleférjen egy adott területbe.

populatePage(pdfPage: PDFPage, pdfFont: PDFFont): void {

const { width, height } = pdfPage.getSize();

const text = 'This is a really long bit of text and I want it to remain on the page and resize as needed and not get cut off';

pdfPage.drawText(text, {
  x: width / 2 - (text.length * 10),
  y: height - 200,
  size: 40,
  font: pdfFont,
  color: rgb(0.95, 0.1, 0.1)
});

}

Válasz #1

A drawText elfogad egy maxWidth paramétert, ha ezt a szélességet túlléped, a szöveged sortöréssel jelenik meg! https://pdf-lib.js.org/docs/api/interfaces/pdfpagedrawtextoptions

Válasz #2

Használja a maxWidth-t a szóáthúzásokkal. pl

const text = 'This is a really long bit of text and I want it to remain on the page and resize as needed and not get cut off';

pdfPage.drawText(text, {
  x: width / 2 - (text.length * 10),
  y: height - 200,
  size: 40,
  font: pdfFont,
  color: rgb(0.95, 0.1, 0.1),
  maxWidth: 500, wordBreaks: [" "]
});

Kapcsolódó cikkek