Hummusjs: PDF์˜ ํ…์ŠคํŠธ ์ •๋ ฌ

์— ๋งŒ๋“  2013๋…„ 09์›” 11์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: galkahana/HummusJS

์•ˆ๋…•ํ•˜์„ธ์š”,

์ด ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜์—ฌ PDF ํŒŒ์ผ์„ ๋งŒ๋“ค๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
๊ฐ€์šด๋ฐ, ์™ผ์ชฝ ์ •๋ ฌ ๋˜๋Š” ์˜ค๋ฅธ์ชฝ ์ •๋ ฌ๊ณผ ๊ฐ™์€ ์ผ๋ถ€ ํ…์ŠคํŠธ ์ •๋ ฌ ์†์„ฑ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
HummusJS๊ฐ€ ์ด๊ฒƒ์„ ์ง€์›ํ•ฉ๋‹ˆ๊นŒ?
์ผ์ •ํ•œ ์œ„์น˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ๋‚˜์—๊ฒŒ ์œ ์šฉํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋ฏธ๋ฆฌ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์ด๊ฒƒ์€ ํš๊ธฐ์ ์ธ ๊ฒƒ์€ ์•„๋‹ˆ์ง€๋งŒ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ํ…์ŠคํŠธ๋ฅผ ์ค‘์•™์— ๋งž์ถ”๋ ค๊ณ  ์‹œ๋„ํ•˜๋Š” ๊ฒฝ์šฐ ์ด๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์ž‘์€ ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ…์ŠคํŠธ๋ฅผ ๊ฐ€์šด๋ฐ์— ๋†“์„ ์ƒ์ž๊ฐ€ ์žˆ๊ณ  ํ•ด๋‹น ์ƒ์ž์˜ ์™ผ์ชฝ ์ขŒํ‘œ์™€ ๋„ˆ๋น„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ณ„์‚ฐ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. "fontObject" ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด getFontForFile ์˜ ์ถœ๋ ฅ์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

var fontObject = pdfWriter.getFontForFile('./TestMaterials/fonts/arial.ttf');

function CalculateLeftForCentering(fontObject, fontSize, textContent, containerLeft, containerWidth)
{
    var leftForCenter = containerLeft;
    var textDimensions = fontObject.calculateTextDimensions(textContent, fontSize);

    var marginAmount = (containerWidth - textDimensions.width)/2;

    if(marginAmount > 0)
    {
        leftForCenter = containerLeft + marginAmount;
    }

    return leftForCenter;
}

๋ชจ๋“  3 ๋Œ“๊ธ€

์•„๋‹ˆ์š”. ๊ทธ๋Ÿฐ ๊ฑด ์—†์–ด. ํ…์ŠคํŠธ ์ธก์ • ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด๊ฒƒ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ: https://github.com/galkahana/HummusJS/wiki/Show-text#measuring -text

์ด๊ฒƒ์€ ํš๊ธฐ์ ์ธ ๊ฒƒ์€ ์•„๋‹ˆ์ง€๋งŒ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด ํ…์ŠคํŠธ๋ฅผ ์ค‘์•™์— ๋งž์ถ”๋ ค๊ณ  ์‹œ๋„ํ•˜๋Š” ๊ฒฝ์šฐ ์ด๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์ž‘์€ ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ…์ŠคํŠธ๋ฅผ ๊ฐ€์šด๋ฐ์— ๋†“์„ ์ƒ์ž๊ฐ€ ์žˆ๊ณ  ํ•ด๋‹น ์ƒ์ž์˜ ์™ผ์ชฝ ์ขŒํ‘œ์™€ ๋„ˆ๋น„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ณ„์‚ฐ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. "fontObject" ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด getFontForFile ์˜ ์ถœ๋ ฅ์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

var fontObject = pdfWriter.getFontForFile('./TestMaterials/fonts/arial.ttf');

function CalculateLeftForCentering(fontObject, fontSize, textContent, containerLeft, containerWidth)
{
    var leftForCenter = containerLeft;
    var textDimensions = fontObject.calculateTextDimensions(textContent, fontSize);

    var marginAmount = (containerWidth - textDimensions.width)/2;

    if(marginAmount > 0)
    {
        leftForCenter = containerLeft + marginAmount;
    }

    return leftForCenter;
}

๊ฐ์‚ฌ ํ•ด์š”.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰