PDF ÇÏ PostScript (¿Í)°ú °°Àº Áö¿À¸ÞÆ®¸®¸¦ »ç¿ëÇÕ´Ï´Ù.ÆäÀÌÁöÀÇ ¿ÞÂÊ ÇÏ´Ü ¸ð¼¸®¸¦ ±âÁØÀ¸·Î ÇØ, µðÆúÆ®¿¡¼´Â Æ÷ÀÎÆ®¼ö (1 ÀÎÄ¡ÀÇ 1/72) ±×¸®°í Àå¼Ò¸¦ ÁöÁ¤ÇÕ´Ï´Ù.
ÆäÀÌÁöÀÇ Å©±â´Â ÆäÀÌÁö ¿ÀºêÁ§Æ®·ÎºÎÅÍ ÃëµæÇÒ ¼ö ÀÖ½À´Ï´Ù.
<?php
$width = $pdfPage->getWidth();
$height = $pdfPage->getHeight();
PDF ¿¡´Â, »öÀ» Ç¥ÇöÇϱâ À§ÇÑ ´Ù¾çÇÑ ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù.Zend_Pdf ±×·³,
gray scale,RGB ¹× CMYK »ö°ø°£(color space)¸¦ ¼Æ÷Æ®Çϰí ÀÖ½À´Ï´Ù.
Zend_Pdf_Color
¿ÀºêÁ§Æ®°¡ ¿ä±¸µÇ´Â °³¼Ò¿¡¼´Â,
ÀÌ·¯ÇÑ ¾î¶² °Í¿¡¼µµ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.°¢°¢ÀÇ »ö°ø°£(color space)¿¡ ´ëÀÀÇÏ´Â ±â´ÉÀ» Á¦°øÇÏ´Â °ÍÀÌ
Zend_Pdf_Color_GrayScale
,Zend_Pdf_Color_Rgb
¹×
Zend_Pdf_Color_Cmyk
Ŭ·¡½ºÀÔ´Ï´Ù.
<?php
// $grayLevel (float ÇüÅÂÀÇ ¼öÄ¡).0.0 (Èæ) - 1.0 (¹é)
$color1 = new Zend_Pdf_Color_GrayScale($grayLevel);
// $r, $g, $b (float ÇüÅÂÀÇ ¼öÄ¡).0.0 (ÃÖÀúÀÇ °µµ) - 1.0 (ÃÖ´ëÀÇ °µµ)
$color2 = new Zend_Pdf_Color_Rgb($r, $g, $b);
// $c, $m, $y, $k (float ÇüÅÂÀÇ ¼öÄ¡).0.0 (ÃÖ¼ÒÀÇ °µµ) - 1.0 (ÃÖ´ëÀÇ °µµ)
$color3 = new Zend_Pdf_Color_Cmyk($c, $m, $y, $k);
HTML Çü½ÄÀÇ »öÁöÁ¤µµ Zend_Pdf_Color_Html
Ŭ·¡½º¿¡¼ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
<?php
$color1 = new Zend_Pdf_Color_Html('#3366FF');
$color2 = new Zend_Pdf_Color_Html('silver');
$color3 = new Zend_Pdf_Color_Html('forestgreen');
Drawing Á¶ÀÛÀº,PDF ÀÇ ÆäÀÌÁö¿¡ ´ëÇØ¼ ÇàÇØÁý´Ï´Ù.
±âº» µµÇü¼¼Æ®°¡ Zend_Pdf_Page
Ŭ·¡½º¿¡¼ Á¦°øµÇ°í ÀÖ½À´Ï´Ù.
<?php
/**
* x1,y1 (À¸)·ÎºÎÅÍ x2,y2 ±îÁö Á÷¼±À» Drawing ÇÕ´Ï´Ù.
*
* @param float $x1
* @param float $y1
* @param float $x2
* @param float $y2
*/
public function drawLine($x1, $y1, $x2, $y2);
<?php
/**
* ±¸ÇüÀ» Drawing ÇÕ´Ï´Ù.
*
* Drawing ¹æ¹ý
* Zend_Pdf_Page::SHAPE_DRAW_FILL_AND_STROKE - À±°ûÀ» Drawing ÇØ ÀüºÎ Ä¥ÇÕ´Ï´Ù (µðÆúÆ®)
* Zend_Pdf_Page::SHAPE_DRAW_STROKE - À±°ûÀ» Drawing ÇÕ´Ï´Ù
* Zend_Pdf_Page::SHAPE_DRAW_FILL - ±¸ÇüÀ» ÀüºÎ Ä¥ÇÕ´Ï´Ù
*
* @param float $x1
* @param float $y1
* @param float $x2
* @param float $y2
* @param integer $fillType
*/
public function drawRectangle($x1, $y1, $x2, $y2, $fillType = Zend_Pdf_Page::SHAPE_DRAW_FILL_AND_STROKE);
<?php
/**
* ´Ù°¢ÇüÀ» Drawing ÇÕ´Ï´Ù.
*
* $fillType ÇÏÁö¸¸ Zend_Pdf_Page::SHAPE_DRAW_FILL_AND_STROKE ȤÀº Zend_Pdf_Page::SHAPE_DRAW_FILL
* ÀÇ °æ¿ì, ´Ù°¢ÇüÀº ÀÚµ¿ÀûÀ¸·Î ´ÝÇôÁý´Ï´Ù.ÀÌ ¸Þ¼Òµå¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ °ÍÀº,
* PDF ÀÇ ¹®¼ (section 4.4.2 Path painting Operators, Filling)
* (À»)¸¦ ÂüÁ¶ÇØ ÁֽʽÿÀ.
*
* @param array $x - float ÀÇ ¹è¿ (Á¤Á¡ÀÇ X ÁÂÇ¥)
* @param array $y - float ÀÇ ¹è¿ (Á¤Á¡ÀÇ Y ÁÂÇ¥)
* @param integer $fillType
* @param integer $fillMethod
*/
public function drawPolygon($x, $y,
$fillType = Zend_Pdf_Page::SHAPE_DRAW_FILL_AND_STROKE,
$fillMethod = Zend_Pdf_Page::FILL_METHOD_NON_ZERO_WINDING);
<?php
/**
* Áß½ÉÀÌ x, y ±×¸®°í ¹Ý°æÀÌ radius ÀÇ ¿£À» Drawing ÇÕ´Ï´Ù.
*
* °¢µµ´Â ¶óµð¾ÈÀ¸·Î ÁöÁ¤ÇÕ´Ï´Ù.
*
* Method signatures:
* drawCircle($x, $y, $radius);
* drawCircle($x, $y, $radius, $fillType);
* drawCircle($x, $y, $radius, $startAngle, $endAngle);
* drawCircle($x, $y, $radius, $startAngle, $endAngle, $fillType);
*
*
* À̰ÍÀº ÁøÂ¥ ¿£ÀÌ ¾Æ´Õ´Ï´Ù.PDF ÇÏ 3 ´ÙÀ½ º£Áö¿¡ °î¼± ¹Û¿¡ ¼Æ÷Æ®Çϰí ÀÖÁö ¾Ê±â ¶§¹®ÀÔ´Ï´Ù.
* ±×·¸´Ù°í´Â ÇØµµ, ÁøÂ¥ ¿£¿¡ ²Ï °¡±õ°Ô µË´Ï´Ù.
* ÁøÂ¥ ¿£°úÀÇ ¿ÀÂ÷´Â, ÃÖ´ë¿¡¼µµ ¹Ý°æÀÇ 0.00026 ¹è ¹Û¿¡ µÇÁö ¾Ê½À´Ï´Ù
* (°¢µµ°¡ PI/8, 3*PI/8, 5*PI/8, 7*PI/8, 9*PI/8, 11*PI/8, 13*PI/8 ±×¸®°í 15*PI/8 ÀÇ °æ¿ì).
* 0, PI/4, PI/2, 3*PI/4, PI, 5*PI/4, 3*PI/2 ±×¸®°í 7*PI/4 ÀÇ °æ¿ì´Â, ¿£ÀÇ Á¤È®ÇÑ Á¢¼±ÀÌ µË´Ï´Ù.
*
* @param float $x
* @param float $y
* @param float $radius
* @param mixed $param4
* @param mixed $param5
* @param mixed $param6
*/
public function drawCircle($x, $y, $radius, $param4 = null, $param5 = null, $param6 = null);
<?php
/**
* ÁöÁ¤ÇÑ ±¸Çü¿¡ ³»Á¢ Çϴ Ÿ¿øÀ» Drawing ÇÕ´Ï´Ù.
*
* Method signatures:
* drawEllipse($x1, $y1, $x2, $y2);
* drawEllipse($x1, $y1, $x2, $y2, $fillType);
* drawEllipse($x1, $y1, $x2, $y2, $startAngle, $endAngle);
* drawEllipse($x1, $y1, $x2, $y2, $startAngle, $endAngle, $fillType);
*
* °¢µµ´Â ¶óµð¾ÈÀ¸·Î ÁöÁ¤ÇÕ´Ï´Ù.
*
* @param float $x1
* @param float $y1
* @param float $x2
* @param float $y2
* @param mixed $param5
* @param mixed $param6
* @param mixed $param7
*/
public function drawEllipse($x1, $y1, $x2, $y2, $param5 = null, $param6 = null, $param7 = null);
ÅØ½ºÆ®¿¡ ´ëÇÑ Drawing Á¶ÀÛµµ,PDF ÀÇ ÆäÀÌÁö¿¡ ´ëÇØ¼ ÇàÇØÁý´Ï´Ù. baselineÀÇ x ÁÂÇ¥ ¹× y ÁÂÇ¥¸¦ ÁöÁ¤ÇÏ´Â °ÍÀ¸·Î, ÆäÀÌÁö³»ÀÇ ÀÓÀÇÀÇ Àå¼Ò¿¡ ÅØ½ºÆ®¸¦ 1 Çà Drawing ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÇöÀçÀÇ ÆùÆ® ¹× font size¸¦ »ç¿ëÇϰí, Drawing Á¶ÀÛÀ» ÇÕ´Ï´Ù (ÀÚ¼¼ÇÑ °ÍÀº, ÀÌÇϸ¦ ÂüÁ¶ÇØ ÁֽʽÿÀ).
<?php
/**
* ÁöÁ¤ÇÑ À§Ä¡¿¡ ÅØ½ºÆ®¸¦ Drawing ÇÕ´Ï´Ù.
*
* @param string $text
* @param float $x
* @param float $y
* @param string $charEncoding (¿É¼Ç) ¼Ò½º ÅØ½ºÆ®ÀÇ ¹®ÀÚ ÀÎÄÚµù.
* µðÆúÆ®´Â ÇöÀçÀÇ ·ÎÄÉÀÏÀÔ´Ï´Ù.
* @throws Zend_Pdf_Exception
*/
public function drawText($text, $x, $y, $charEncoding = '');
µðÆúÆ®¿¡¼´Â, ÇöÀçÀÇ ·ÎÄÉÀÏÀÇ ÀÎÄÚµù¿¡ ÀÇÇØ¼
ÅØ½ºÆ®ÀÇ ¹®ÀÚ¿ÀÌ ÇØ¼®µË´Ï´Ù.´Ù¸¥ ÀÎÄÚµùÀ» »ç¿ëÇϰí ÀÖ´Â °æ¿ì
(¿¹¸¦ µé¸é, µð½ºÅ©»óÀÇ ÆÄÀϷκÎÅÍ UTF-8 ÀÇ ¹®ÀÚ¿À» ÀоîµéÀ̰ųª
À¯»êÀÎ µ¥ÀÌŸº£À̽º·ÎºÎÅÍ MacRoman ÀÇ ¹®ÀÚ¿À» ÃëµæÇϰųª) (Àº)´Â,
Drawing ½Ã¿¡ ¹®ÀÚ ÀÎÄÚµùÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
±×·¸°Ô ÇÏ´Â °ÍÀ¸·Î,Zend_Pdf ÇÏÁö¸¸ º¯È¯ 󸮸¦ ½Ç½ÃÇÕ´Ï´Ù.PHP ÀÇ
iconv()
ÇÔ¼ö°¡ ¼Æ÷Æ®Çϰí ÀÖ´Â ÀÎÄÚµùÀ̶ó¸é, ¸ðµÎ ÀÔ·ÂÀ¸·Î¼ »ç¿ëÇÏ´Â °ÍÀÌ °¡´ÉÇÕ´Ï´Ù.
·Ê 29.7. UTF-8 ±×¸®°í encode µÈ ¹®ÀÚ¿À» ÆäÀÌÁö¿¡ Drawing ÇÑ´Ù
<?php
...
// UTF-8 encode µÈ ¹®ÀÚ¿À» µð½ºÅ©·ÎºÎÅÍ ÀоîµéÀÔ´Ï´Ù
$unicodeString = fread($fp, 1024);
// ¹®ÀÚ¿À» ÆäÀÌÁö»ó¿¡ Drawing ÇÕ´Ï´Ù
$pdfPage->drawText($unicodeString, 72, 720, 'UTF-8');
...
Zend_Pdf_Page::drawText()
(Àº)´Â,
ÇöÀç ¼³Á¤µÇ¾î ÀÖ´Â ÆùÆ® ¹× font size¸¦ »ç¿ëÇÕ´Ï´Ù.
À̰ÍÀº Zend_Pdf_Page::setFont()
¸Þ¼Òµå·Î ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
<?php
/**
* ÇöÀçÀÇ ÆùÆ®¸¦ ¼³Á¤ÇÕ´Ï´Ù.
*
* @param Zend_Pdf_Resource_Font $font
* @param float $fontSize
*/
public function setFont(Zend_Pdf_Font $font, $fontSize);
PDF ¹®¼´Â,PostScript Type 1 ÆùÆ® ¹× TrueType ÆùÆ® »Ó¸¸ÀÌ ¾Æ´Ï¶ó, PDF ¿ë¹«ÀÇ Æ¯º°ÇÑ Çü½ÄÀÌ´Ù Type 3 ÆùÆ®³ª º¹ÇÕ ÆùÆ®µµ ¼Æ÷Æ®Çϰí ÀÖ½À´Ï´Ù. ¸ðµç PDF viewer¿¡´Â, ÀÌÇÏÀÇ 14 Á¾·ùÀÇ Ç¥ÁØ Type 1 ÆùÆ®°¡ Â¥³Ö¾îÁö°í ÀÖ½À´Ï´Ù. ±× ³»¿ëÀº Courier (4 Á¾·ù),Helvetica (4 Á¾·ù),Times (4 Á¾·ù),Symbol ±×¸®°í Zapf Dingbats ÀÔ´Ï´Ù.
ÇöÀç Zend_Pdf (Àº)´Â, Ç¥ÁØÀÇ 14 Á¾·ùÀÇ PDF ÆùÆ® »Ó¸¸ÀÌ ¾Æ´Ï¶ó
µ¶ÀÚÀûÀÎ TrueType ÆùÆ®µµ ¼Æ÷Æ®Çϰí ÀÖ½À´Ï´Ù.ÆùÆ® ¿ÀºêÁ§Æ®¸¦ ÃëµæÇÏ·Á¸é ,
2 Á¾·ùÀÇ ÆÑÅ丮 ¸Þ¼ÒµåÀÇ ¾î´ÀÂÊÀ̵çÀ» »ç¿ëÇÕ´Ï´Ù.»ç¿ëÇÏ´Â ¸Þ¼Òµå´Â,
Ç¥ÁØÀÇ 14 Á¾·ùÀÇ PDF ÆùÆ®ÀÇ °æ¿ì´Â Zend_Pdf_Font::fontWithName($fontName)
,
µ¶ÀÚÀûÀÎ ÆùÆ®ÀÇ °æ¿ì´Â Zend_Pdf_Font::fontWithPath($filePath)
ÀÔ´Ï´Ù.
·Ê 29.8. Ç¥ÁØ ÆùÆ®ÀÇ ÀÛ¼º
<?php
...
// »õ·Î¿î ÆùÆ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù.
$font = Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA);
// ÆùÆ®¸¦ Àû¿ëÇÕ´Ï´Ù.
$pdfPage->setFont($font, 36);
...
14 Á¾·ùÀÇ Ç¥ÁØ ÆùÆ®¸íÀ» ³ªÅ¸³»´Â Á¤¼ö´Â,Zend_Pdf_Font
Ŭ·¡½º¿¡¼ Á¤Àǵǰí ÀÖ½À´Ï´Ù.
Zend_Pdf_Font::FONT_COURIER
Zend_Pdf_Font::FONT_COURIER_BOLD
Zend_Pdf_Font::FONT_COURIER_ITALIC
Zend_Pdf_Font::FONT_COURIER_BOLD_ITALIC
Zend_Pdf_Font::FONT_TIMES
Zend_Pdf_Font::FONT_TIMES_BOLD
Zend_Pdf_Font::FONT_TIMES_ITALIC
Zend_Pdf_Font::FONT_TIMES_BOLD_ITALIC
Zend_Pdf_Font::FONT_HELVETICA
Zend_Pdf_Font::FONT_HELVETICA_BOLD
Zend_Pdf_Font::FONT_HELVETICA_ITALIC
Zend_Pdf_Font::FONT_HELVETICA_BOLD_ITALIC
Zend_Pdf_Font::FONT_SYMBOL
Zend_Pdf_Font::FONT_ZAPFDINGBATS
ÀÓÀÇÀÇ TrueType ÆùÆ® (Åë»óÀº '.ttf' ±×·¸´Ù°í ÇÏ´Â È®ÀåÀÚ(extension)ÀÔ´Ï´Ù) µµ »ç¿ëÇÒ ¼ö ÀÖ°í, TrueType ¾Æ¿ô¶óÀÎÀ» Æ÷ÇÔÇÑ´Ù OpenType ÆùÆ® (È®ÀåÀÚ(extension)´Â '.otf') (À»)¸¦ »ç¿ëÇÏ´Â °Íµµ °¡´ÉÇÕ´Ï´Ù.ÇöÀç´Â ¾ÆÁ÷ ¼Æ÷Æ®Çϰí ÀÖ¾ú½À´Ï´Ù¸¸, Àå·¡´Â Mac OS X ÀÇ .dfont ÆÄÀÏÀ̳ª Microsoft TrueType Collection (È®ÀåÀÚ(extension) '.ttc') ÆÄÀϵµ ¼Æ÷Æ®ÇÒ ¿¹Á¤ÀÔ´Ï´Ù.
TrueType ÆùÆ®¸¦ »ç¿ëÇÏ·Á¸é , ÆùÆ®¿¡ÀÇ Ç® ÆÐ½º¸¦ ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù. ¾î¶°ÇÑ ÀÌÀ¯·Î ÆùÆ®¸¦ ÀоîµéÀÏ ¼ö ¾ø¾ú´ø °æ¿ì, ȤÀº ±×°ÍÀÌ TrueType ÆùÆ®°¡ ¾Æ´Ï¾ú´ø °æ¿ì´Â, ÆÑÅ丮 ¸Þ¼Òµå°¡ ¿¹¿Ü¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
·Ê 29.9. TrueType ÆùÆ®ÀÇ ÀÛ¼º
<?php
...
// »õ·Î¿î ÆùÆ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù
$goodDogCoolFont = Zend_Pdf_Font::fontWithPath('/path/to/GOODDC__.TTF');
// ÆùÆ®¸¦ Àû¿ëÇÕ´Ï´Ù
$pdfPage->setFont($goodDogCoolFont, 36);
...
µðÆúÆ®¿¡¼´Â, µ¶ÀÚÀûÀÎ ÆùÆ®´Â PDF ¹®¼¿¡ ÆÄ¹¯Èü´Ï´Ù. ±× ¶§¹®¿¡, ¿¶÷ÀÚÀÇ ½Ã½ºÅÛ¿¡ ±× ÆùÆ®°¡ ÀνºÅç µÇ¾î ÀÖÁö ¾Ê¾Æµµ, ÆäÀÌÁö¸¦ Á¦´ë·Î ¿¶÷ÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù.ÆÄÀÏÀÇ Å©±â°¡ ½Å°æÀÌ ¾²ÀÌ´Â °æ¿ì´Â, ÆÑÅ丮 ¸Þ¼ÒµåÀÇ ¿É¼ÇÀ¸·Î ¡¸ÆùÆ®¸¦ ¹¯Áö ¾Ê´Â´Ù¡¹°ÍÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
·Ê 29.10. TrueType (À»)¸¦ ÀÛ¼ºÇÏÁö¸¸,PDF ¹®¼¿¡´Â ¹¯Áö ¾Ê´Â´Ù
<?php
...
// »õ·Î¿î ÆùÆ®¸¦ ÀÛ¼ºÇÕ´Ï´Ù
$goodDogCoolFont = Zend_Pdf_Font::fontWithPath('/path/to/GOODDC__.TTF',
Zend_Pdf_Font::EMBED_DONT_EMBED);
// ÆùÆ®¸¦ Àû¿ëÇÕ´Ï´Ù
$pdfPage->setFont($goodDogCoolFont, 36);
...
PDF ÆÄÀÏ¿¡ ÆùÆ®°¡ ÆÄ¹¯È÷Áö ¾ÊÁö¸¸ ¿¶÷ÀÚÀÇ ½Ã½ºÅÛ¿¡´Â ±× ÆùÆ®°¡ ÀνºÅç µÇ°í ÀÖ´Â °æ¿ì´Â, ¹®¼´Â Åë»ó ´ë·Î¿¡ ¿¶÷ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸¸¾à ÀûÀýÇÑ ÆùÆ®°¡ ÀνºÅç µÇ¾î ÀÖÁö ¾ÊÀºÀº,PDF ¿¶÷ ¾îÇø®ÄÉÀ̼ÇÀÌ ÀûÀýÇÑ ´ëü ÆùÆ®¸¦ ¼±ÅÃÇÕ´Ï´Ù.
¾È¿¡´Â,PDF ¹®¼¿¡ÀÇ ¸ÅÀÔÀ» ±ÝÁöÇÏ´Â ¶óÀ̼¾½º¸¦ »ç¿ëÇϰí ÀÖ´Â ÆùÆ®µµ ÀÖ½À´Ï´Ù. À̰ÍÀ» ±òºÁ¼´Â ¾ÈµË´Ï´Ù.¸¸¾à ¹¯À» ¼ö ¾ø´Â ÆùÆ®¸¦ ÀÌ¿ëÇÏ·Á°í Çϸé, ÆÑÅ丮 ¸Þ¼Òµå´Â ¿¹¿Ü¸¦ ½½·Î¿ì ÇÕ´Ï´Ù.
ÀÌ·¯ÇÑ ÆùÆ®¸¦ »ç¿ëÇÏ´Â °Íµµ °¡´ÉÇÕ´Ï´Ù¸¸, ±×·¯±â À§Çؼ´Â, À§¿¡¼ ¼³¸íÇÑ ¡¸¹¯Áö ¾Ê´Â´Ù¡¹Ç÷¡±×¸¦ »ç¿ëÇϵ簡, ȤÀº ¿¹¿Ü¸¦ ¾ïÁ¦ÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.
·Ê 29.11. ¸ÅÀÔÀÌ ±ÝÁöµÇ°í ÀÖ´Â ÆùÆ®·Î, ¿¹¿Ü¸¦ ½½·Î¿ì ½ÃŰÁö ¾Ê°Ô ÇÑ´Ù
<?php
...
$font = Zend_Pdf_Font::fontWithPath('/path/to/unEmbeddableFont.ttf',
Zend_Pdf_Font::EMBED_SUPPRESS_EMBED_EXCEPTION);
...
ÀÌ¿ëÀÚ¿¡°Ô ÆùÆ®¸¦ ¼±ÅýÃŰ´Â °æ¿ì µîÀº, ÀÌ ¾ïÁ¦ ¹æ¹ýÀ» »ç¿ëÇÏ´Â °ÍÀ» ÃßõÇÕ´Ï´Ù. PDF ¹®¼¿¡ ¹¯À» ¼ö ÀÖ´Â ÆùÆ®¶ó¸é ¹¯À» °ÍÀ̰í, ¹¯À» ¼ö ¾ø´Â ÆùÆ®´Â ¹¯Áö ¾ÊÀ» °ÍÀÔ´Ï´Ù.
ÆùÆ®ÀÇ »çÀÌÁî´Â ºñ±³Àû Å©°í, ¾È¿¡´Â 10 ¸Þ°¡¹ÙÀÌÆ®¿¡ À̸£´Â °Íµµ ÀÖ½À´Ï´Ù. µðÆúÆ®¿¡¼´Â ¹¯¾î ÆùÆ®´Â Flate ¾ÐÃàµÇ¾î Æò±ÕÇØ 50% (Á¤µµ)¸¸Å »çÀÌÁ Àý¾àÇÒ ¼ö ÀÖ½À´Ï´Ù. ¾î¶°ÇÑ ÀÌÀ¯·Î ÆùÆ®¸¦ ¾ÐÃàÇÏ°í ½ÍÁö ¾ÊÀº °æ¿ì´Â, ÀÌÇÏÀÇ ¿É¼ÇÀ¸·Î ¾ÐÃàÀ» ¹«È¿·Î ÇÒ ¼ö ÀÖ½À´Ï´Ù.
·Ê 29.12. ¸ÅÀÔ ÆùÆ®¸¦ ¾ÐÃàÇÏÁö ¾Ê´Â´Ù
<?php
...
$font = Zend_Pdf_Font::fontWithPath('/path/to/someReallyBigFont.ttf',
Zend_Pdf_Font::EMBED_DONT_COMPRESS);
...
¸¶Áö¸·À¸·Î, Çʿ信 µû¶ó¼ ¸î°³ÀÇ ¸ÅÀÔ ¿É¼ÇÀ» ºñÆ® OR ¿¬»êÀÚ·Î ¿¬°áÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
·Ê 29.13. ÆùÆ®ÀÇ ¸ÅÀÔ ¿É¼ÇÀ» Á¶ÇÕÇÑ´Ù
<?php
...
$font = Zend_Pdf_Font::fontWithPath($someUserSelectedFontPath,
(Zend_Pdf_Font::EMBED_SUPPRESS_EMBED_EXCEPTION |
Zend_Pdf_Font::EMBED_DONT_COMPRESS));
...
Zend_Pdf
¸ðµâÀ» »ç¿ëÇϸé, ÀоîµéÀÎ ¹®¼·ÎºÎÅÍ ÆùÆ®¸¦ ÃßÃâÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù.
À̰ÍÀº, ¹®¼¸¦ ÀÎÅ©¸®¸àÅ»¿¡ °»½ÅÇÒ ¶§¿¡ Æí¸®ÇÕ´Ï´Ù. ÀÌ ±â´ÉÀÌ ¾øÀ¸¸é, ¹®¼¸¦ °»½ÅÇÒ ¶§¸¶´Ù ÆùÆ®¸¦ ¾ÆÅ¿Ä¡ Çϰųª ¹®¼¿¡ ¹¯°Å³ª ÇØ¾ß ÇÏ°Ô µË´Ï´Ù.
Zend_Pdf
¿ÀºêÁ§Æ® ¹× Zend_Pdf_Page
¿ÀºêÁ§Æ®¿¡´Â,
¹®¼³ª ÆäÀÌÁö³»ÀÇ ¸ðµç ÆùÆ®¸¦ ÃßÃâÇϱâ À§ÇÑ ¸Þ¼Òµå°¡ ÁغñµÇ¾î ÀÖ½À´Ï´Ù.
·Ê 29.14. ÀоîµéÀÎ ¹®¼·ÎºÎÅÍÀÇ ÆùÆ®ÀÇ ÃßÃâ
<?php
...
$pdf = Zend_Pdf::load($documentPath);
...
// ¹®¼ÀÇ ¸ðµç ÆùÆ®¸¦ ÃëµæÇÕ´Ï´Ù
$fontList = $pdf->extractFonts();
$pdf->pages[] = ($page = $pdf->newPage(Zend_Pdf_Page::SIZE_A4));
$yPosition = 700;
foreach ($fontList as $font) {
$page->setFont($font, 15);
$page->drawText($font->getFontName(Zend_Pdf_Font::NAME_POSTSCRIPT, 'en', 'UTF-8')
. ': The quick brown fox jumps over the lazy dog', 100, $yPosition, 'UTF-8');
$yPosition -= 30;
}
...
// ¹®¼ÀÇ ÃÖÃÊÀÇ ÆäÀÌÁö·Î ÀÌ¿ëµÇ°í ÀÖ´Â ÆùÆ®¸¦ ÃëµæÇÕ´Ï´Ù
$firstPage = reset($pdf->pages);
$firstPageFonts = $firstPage->extractFonts();
...
·Ê 29.15. ÆùÆ®¸íÀÇ ÁöÁ¤¿¡ ÀÇÇÑ, ÀоîµéÀÎ ¹®¼·ÎºÎÅÍÀÇ ÆùÆ®ÀÇ ÃßÃâ
<?php
...
$pdf = new Zend_Pdf();
...
$pdf->pages[] = ($page = $pdf->newPage(Zend_Pdf_Page::SIZE_A4));
$font = Zend_Pdf_Font::fontWithPath($fontPath);
$page->setFont($font, $fontSize);
$page->drawText($text, $x, $y);
...
// ÆùÆ®¸íÀ» ¾îµð¿£°¡ º¸Á¸ÇØ µÓ´Ï´Ù...
$fontName = $font->getFontName(Zend_Pdf_Font::NAME_POSTSCRIPT, 'en', 'UTF-8');
...
$pdf->save($docPath);
...
<?php
...
$pdf = Zend_Pdf::load($docPath);
...
$pdf->pages[] = ($page = $pdf->newPage(Zend_Pdf_Page::SIZE_A4));
$font = $pdf->extractFont($fontName); /* $srcPage->extractFont($fontName) (ÀÌ)¶ó°í ÇØµµ ±¦Âú½À´Ï´Ù */
$page->setFont($font, $fontSize);
$page->drawText($text, $x, $y);
...
$pdf->save($docPath, true /* ÀÎÅ©¸®¸àÅ» °»½Å ¸ðµå */);
...
ÆùÆ®ÀÇ ÃßÃâÀº ¾îµð¼¿¡¼µµ ÇÒ ¼ö ÀÖ½À´Ï´Ù¸¸, ´ÙÀ½°ú °°Àº Á¦ÇÑÀÌ ÀÖ½À´Ï´Ù.
ÃßÃâÇÑ ÆùÆ®´Â, ±× ÆùÆ®ÀÇ ÃßÃâ¿ø°ú °°Àº ¹®¼³»¿¡¼ ¹Û¿¡ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.
ÆÄ¹¯Èù ÆùÆ® ÇÁ·Î±×·¥Àº ½ÇÁ¦·Î´Â ÃßÃâµÇÁö ¾Ê½À´Ï´Ù. Áï, ÃßÃâµÈ ÆùÆ®´Â ¿ø·¡ÀÇ ÆùÆ®¸ÞÆ®¸®Å©½º (ÅØ½ºÆ®ÀÇ ÆøÀÇ °è»ê¿¡ »ç¿ëÇÏ´Â °Í) (¿Í)°ú °°Àº °ÍÀÌ µÇÁö ¾Ê½À´Ï´Ù.
<?php
...
$font = $pdf->extractFont($fontName);
$originalFont = Zend_Pdf_Font::fontWithPath($fontPath);
$page->setFont($font /* Drawing¿ëÀ¸·Î ÃßÃâÇÑ ÆùÆ® */, $fontSize);
$xPosition = $x;
for ($charIndex = 0; $charIndex < strlen($text); $charIndex++) {
$page->drawText($text[$charIndex], xPosition, $y);
// ÅØ½ºÆ®ÀÇ ÆøÀÇ °è»ê¿¡´Â ¿ø·¡ÀÇ ÆùÆ®¸¦ »ç¿ëÇÕ´Ï´Ù
$xPosition += $originalFont->widthForGlyph($originalFont->glyphNumberForCharacter($text[$charIndex]))/$originalFont->getUnitsPerEm()*$fontSize;
}
...
Zend_Pdf_Page
Ŭ·¡½ºÀÇ drawImage() ¸Þ¼Òµå·Î,
È»óÀÇ Drawing¸¦ ½Ç½ÃÇÕ´Ï´Ù.
<?php
/**
* ÆäÀÌÁö³»ÀÇ ÁöÁ¤ÇÑ À§Ä¡¿¡ È»óÀ» Drawing ÇÕ´Ï´Ù.
*
* @param Zend_Pdf_Resource_Image $image
* @param float $x1
* @param float $y1
* @param float $x2
* @param float $y2
*/
public function drawImage(Zend_Pdf_Resource_Image $image, $x1, $y1, $x2, $y2);
È»ó ¿ÀºêÁ§Æ®´Â,Zend_Pdf_Image::imageWithPath($filePath)
¸Þ¼Òµå·Î ÀÛ¼ºÇÏÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù (ÇöÀç´Â JPG,PNG ¹× TIFF
È»óÀ» ¼Æ÷Æ®Çϰí ÀÖ½À´Ï´Ù).
·Ê 29.16. È»óÀÇ Drawing
<?php
...
// È»óÀ» ÀоîµéÀÔ´Ï´Ù
$image = Zend_Pdf_Image::imageWithPath('my_image.jpg');
$pdfPage->drawImage($image, 100, 100, 400, 300);
...
Áß¿ä! JPEG ÀÇ ¼Æ÷Æ®¿¡´Â PHP ÀÇ GD È®Àå ¸ðµâÀ» ÇÊ¿ä·Î ÇÕ´Ï´Ù. Áß¿ä! PNG ±×¸®°í ¾ËÆÄ ä³ÎÀ» »ç¿ëÇÑ È»óÀ» Ãë±ÞÇÏ·Á¸é ,ZLIB È®Àå ¸ðµâÀ» ÇÊ¿ä·Î ÇÕ´Ï´Ù.
»ó¼¼ÇÑ Á¤º¸´Â,PHP ÀÇ ¹®¼ (http://www.php.net/manual/ja/ref.image.php), (http://www.php.net/manual/ja/ref.zlib.php) (À»)¸¦ ÂüÁ¶ÇØ ÁֽʽÿÀ.
Á÷¼±ÀÇ Drawing ½ºÅ¸ÀÏÀº, ¼±Æø°ú ¼±ÀÇ »ö, ±×¸®°í ÆÄ¼±ÀÇ ÆÐÅÏÀ¸·Î Á¤Àǵ˴ϴÙ.
À̰͵éÀº ¸ðµÎ,Zend_Pdf_Page
Ŭ·¡½ºÀÇ ¸Þ¼Òµå·Î ¼³Á¤ÇÕ´Ï´Ù.
<?php
/** ¼±ÀÇ »öÀ» ¼³Á¤ÇÕ´Ï´Ù.*/
public function setLineColor(Zend_Pdf_Color $color);
/** ¼±ÀÇ ÆøÀ» ¼³Á¤ÇÕ´Ï´Ù.*/
public function setLineWidth(float $width);
/**
* ÆÄ¼±ÀÇ ÆÐÅÏÀ» ¼³Á¤ÇÕ´Ï´Ù.
*
* pattern ÇÏ float ÀÇ ¹è¿ÀÔ´Ï´Ù: array(on_length, off_length, on_length, off_length, ...)
* phase (Àº)´Â ¼±ÀÇ °³½Ã À§Ä¡·ÎºÎÅÍ À̵¿ÇÏ´Â °Å¸®ÀÔ´Ï´Ù.
*
* @param array $pattern
* @param array $phase
*/
public function setLineDashingPattern($pattern, $phase = 0);
Zend_Pdf_Page::drawRectangle()
,Zend_Pdf_Page::drawPoligon()
,
Zend_Pdf_Page::drawCircle()
¹× Zend_Pdf_Page::drawEllipse()
¸Þ¼Òµå´Â, ¿É¼ÇÀÇ ÆÄ¶ó¹ÌÅͷμ $fillType
(À»)¸¦ ¹Þ½À´Ï´Ù.À̰ÍÀº ÀÌÇÏÀÇ ¸î°³ÀÇ °ªÀÌ µË´Ï´Ù.
Zend_Pdf_Page::SHAPE_DRAW_STROKE - µµÇüÀÇ À±°ûÀ» Drawing ÇÕ´Ï´Ù
Zend_Pdf_Page::SHAPE_DRAW_FILL - µµÇüÀ» ÀüºÎ Ä¥ÇÒ »ÓÀÔ´Ï´Ù
Zend_Pdf_Page::SHAPE_DRAW_FILL_AND_STROKE - À±°ûÀ» Drawing ÇØ, ÀüºÎ Ä¥ÇÕ´Ï´Ù (µðÆúÆ®ÀÇ °Åµ¿ÀÔ´Ï´Ù)
Zend_Pdf_Page::drawPoligon()
¸Þ¼Òµå¿¡´Â, ÇÑÃþ ´õ ÆÄ¶ó¹ÌÅÍ
$fillMethod
(À»)¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.
Zend_Pdf_Page::FILL_METHOD_NON_ZERO_WINDING (µðÆúÆ®ÀÇ °Åµ¿)
PDF ·¹ÆÛ·±½º ¿¡ ÀÇÇϸé, À̰ÍÀº ÀÌÇÏ¿Í °°ÀÌ Á¤Àǵǰí ÀÖ½À´Ï´Ù.
nonzero winding number ·êÀº, ¾î´À Á¡ÀÌ ÆÐ½ºÀÇ ¾ÈÂÊ¿¡ ÀÖÀ»Áö¸¦ ÆÇ´ÜÇϱâ À§ÇØ, ±× Á¡À¸·ÎºÎÅÍ ¾îµò°¡ÀÇ ¹æÇâÀ¸·Î ¹æ»ç¼±À» ±×¾î ±× ¼±ÀÌ ÆÐ½º¸¦ ±¸¼ºÇÏ´Â ¼±°ú »ç±Í´Â Àå¼Ò¸¦ Á¶»çÇÕ´Ï´Ù. 0 (À¸)·ÎºÎÅÍ Ä«¿îÆ®¸¦ ½ÃÀÛÇØ ¹æ»ç¼±ÀÇ ¿ÞÂÊ¿¡¼ ¿À¸¥ÂÊÀ¸·Î ÆÐ½ºÀÇ ¼±ÀÌ È¾´ÜÇßÀ» °æ¿ì¿¡ +1, ¹æ»ç¼±ÀÇ ¿À¸¥ÂÊ¿¡¼ ¿ÞÂÊÀ¸·Î Ⱦ´ÜÇßÀ» °æ¿ì¿¡ -1 ÇÕ´Ï´Ù. ¸ðµç ±³Á¡¿¡ µµÂøÇØ Á¶»çÇÑ ÈÄ, ¸¸¾à °á°ú°¡ 0 (ÀÌ)¶ó¸é ±× Á¡Àº ÆÐ½ºÀÇ ¿ÜÃøÀÔ´Ï´Ù. 0 (ÀÌ)°¡ ¾Æ´Ï¸é ¾ÈÂÊÀÔ´Ï´Ù. ÁÖÀÇ: ÀÌ ¹æ½ÄÀ¸·Î´Â, ¹æ»ç¼±°ú ÆÐ½ºÀÇ ¼±ÀÌ µ¿ÀÏÇÏ°Ô µÇ¾úÀ» °æ¿ì³ª ¹æ»ç¼±ÀÌ ÆÐ½ºÀÇ ¼±ÀÇ Á¢¼±ÀÌ µÇ¾úÀ» °æ¿ì¸¦ ÁöÁ¤ÇØ ÀÖÁö ¾Ê½À´Ï´Ù. ¹æ»ç¼±Àº ÀÓÀÇÀÇ ¹æÇâÀ¸·Î ´Ã¸± ¼ö ÀÖÀ¸¹Ç·Î, ÀÌ·¯ÇÑ »óȲÀÌ µÇÁö ¾Ê´Â µíÇÑ ¹æ»ç¼±ÀÌ ¼±Åõ˴ϴÙ. ´Ü¼øÇÑ º¼·ÏÇÑ ¸ð¾çÀÇ ÆÐ½ºÀÇ °æ¿ì, ÀÌ ¹æ½ÄÀ¸·Î ÆÇ´ÜÇÑ ¾ÈÂÊ¡¤¿ÜÃøÀº, Á÷°¨ÀûÀ¸·Î ¿¹»óÇÒ ¼ö ÀÖ´Â °Í°ú °°Àº °á°ú°¡ µË´Ï´Ù. ´ÜÁö, ÆÐ½º¸¦ ±¸¼ºÇÏ´Â ¼±ÀÚ½ÅÀÌ »ç±Í°í ÀÖ´Â µîÀÇ º¹ÀâÇÑ ÆÐ½ºÀÇ °æ¿ì´Â, Èï¹Ì·Î¿î °á°ú°¡ µË´Ï´Ù.ÀÌ ¿¹¸¦,(PDF ·¹ÆÛ·±½ºÀÇ) µµ 4.10 ¿¡ ³ªÅ¸³À´Ï´Ù. 5 Ã¥ÀÇ Á÷¼±À» ¼·Î ±³Â÷½ÃÄÑ ÀÛ¼ºÇÑ ¼ºÇüÀÇ °æ¿ì, ÀÌ ·ê¿¡¼´Â ¼ºÇüÀ¸·Î µÑ·¯½ÎÀÌ´Â ¸ðµç ºÎºÐÀ» ÆÐ½ºÀÇ ¾ÈÂÊÀ¸·Î¼ Ãë±ÞÇÕ´Ï´Ù.ÇѰ¡¿îµ¥ÀÇ 5°¢Çüµµ ¾ÈÂÊÀÌ µË´Ï´Ù.2 °³ÀÇ µ¿½É¿øÀ¸·ÎºÎÅÍ µÇ´Â ÆÐ½ºÀÇ °æ¿ì, 2 »ìÀÇ ¿£ÀÌ °°Àº ¹æÇâÀ¸·Î Drawing µÇ¾úÀ» ¶§¿¡´Â ¾çÂÊ ¸ðµÎÀÇ ¿£¿¡ µÑ·¯½Î¿© ÀÖ´Â ºÎºÐÀÌ ¾ÈÂÊÀÌ µË´Ï´Ù.2 »ìÀÇ ¿£ÀÌ ¹Ý´ë ¹æÇâÀ¸·Î Drawing µÇ¾úÀ» ¶§¿¡´Â,2 »ìÀÇ ¿£À¸·ÎºÎÅÍ µÈ´Ù ¡¸µµ³ÊÃ÷Çü¡¹ÀÇ ºÎºÐÀÌ ¾ÈÂÊÀÌ µË´Ï´Ù.ÀÌ ·êÀÇ °æ¿ì´Â, ¡¸µµ³ÊÃ÷ÀÇ ±¸¸Û¡¹ÀÇ ºÎºÐÀº ¿ÜÃøÀ̶ó°í ÇÏ´Â Ãë±ÞÀÌ µË´Ï´Ù.
Zend_Pdf_Const::FILLMETHOD_EVENODD
PDF ·¹ÆÛ·±½º ¿¡ ÀÇÇϸé, À̰ÍÀº ÀÌÇÏ¿Í °°ÀÌ Á¤Àǵǰí ÀÖ½À´Ï´Ù.
nonzero winding number ·ê¿¡ ´ëÇÑ ¶Ç ÇϳªÀÇ ·êÀÌ even-odd ·êÀÔ´Ï´Ù. ÀÌ ·ê¿¡¼´Â, ¾î´À Á¡ÀÌ ¡¸¾ÈÂÊÀÌ´Ù¡¹ÈµµÀÎÁö¸¦ ÆÇ´ÜÇÏ´Â Àç·á·Î¼ ±× Á¡À¸·ÎºÎÅÍ ¾îµò°¡ÀÇ ¹æÇâÀ¸·Î ¹æ»ç¼±À» ±×¾î ±× ¼±ÀÌ ÆÐ½º¸¦ ±¸¼ºÇÏ´Â ¼±°ú ¸îȸ »ç±Ð±î ±×·¸´Ù°í ÇÏ´Â °ÍÀ» ÀÌ¿ëÇÕ´Ï´Ù.»ç±Í´Â ȸ¼ö°¡ Ȧ¼ö¿´´ø °æ¿ì, ±× Á¡Àº ¾ÈÂÊÀÔ´Ï´Ù. »ç±Í´Â ȸ¼ö°¡ ¦¼ö¿´´ø °æ¿ì, ±× Á¡Àº ¿ÜÃøÀÔ´Ï´Ù.´Ü¼øÇÑ ÆÐ½ºÀÇ °æ¿ì´Â, À̰ÍÀº nonzero winding number ·ê°ú °°Àº °á°ú°¡ µË´Ï´Ù. ±×·¯³ª, º¹ÀâÇÑ µµÇüÀÇ °æ¿ì´Â ´Ù¸¥ °á°ú°¡ µË´Ï´Ù. º¹ÀâÇÑ ÆÐ½º¿¡ ´ëÇØ¼ even-odd ·êÀ» Àû¿ëÇßÀ» °æ¿ìÀÇ ¿¹¸¦ (PDF ·¹ÆÛ·±½ºÀÇ) µµ 4.11 ¿¡ ³ªÅ¸³À´Ï´Ù.ÀÌ ·êÀÇ °æ¿ì,5 Ã¥ÀÇ ±³Â÷ÇÏ´Â Á÷¼±À¸·ÎºÎÅÍ µÇ´Â ¼ºÇü¿¡¼´Â, »ï°¢ÇüÀÇ ºÎºÐ¸¸ÀÌ ¾ÈÂÊÀ¸·Î¼ ´Ù·ç¾îÁý´Ï´Ù.ÇѰ¡¿îµ¥ÀÇ 5°¢ÇüÀº, ¾ÈÂÊÀ̶ó°í´Â º¸ÀÌÁö ¾Ê½À´Ï´Ù. 2 °³ÀÇ µ¿½É¿øÀÇ °æ¿ì,2 »ìÀÇ ¿£À¸·ÎºÎÅÍ µÇ´Â ¡¸µµ³ÊÃ÷Çü¡¹ÀÇ ºÎºÐ¸¸ÀÌ ¾ÈÂÊÀ¸·Î¼ ´Ù·ç¾îÁý´Ï´Ù. À̰ÍÀº, ¿£ÀÇ Drawing µÈ ¹æÇâÀ¸·Î ÀÇÁ¸ÇÏÁö ¾Ê½À´Ï´Ù.
Drawing Á¶ÀÛÀ» Àû¿ëÇϱâ Àü¿¡,PDF ÀÇ ÆäÀÌÁö¸¦ ȸÀü½Ãų ¼ö ÀÖ½À´Ï´Ù.
°Å±â¿¡´Â Zend_Pdf_Page::rotate()
¸Þ¼Òµå¸¦ »ç¿ëÇÕ´Ï´Ù.
<?php
/**
* ($x, $y) (À»)¸¦ Áß½ÉÀ¸·Î ÇØ, ÁöÁ¤ÇÑ °¢µµ (¶óµð¾È) ¸¸ ȸÀüÇÕ´Ï´Ù.
*
* @param float $angle
*/
public function rotate($x, $y, $angle);
ÁÁ¾ÆÇÏ´Â ½ÃÁ¡¿¡¼ÀÇ ±×·¡ÇÈ »óÅ (ÇöÀçÀÇ ÆùÆ®, font size, ¼±ÀÇ »ö, Ä¥ºÎ¼ö±âÀÇ »ö, ¼±ÀÇ Çü½Ä, ÆäÀÌÁöÀÇ È¸Àü, Ŭ¸³ ¿µ¿ª) (À»)¸¦ º¸Á¸/º¹¿øÇÒ ¼ö ÀÖ½À´Ï´Ù. º¸Á¸ Á¶ÀÛÀº ±×·¡ÇÈ »óŸ¦ ½ºÅÿ¡ º¸Á¸ÇØ, º¹¿ø ½Ã¿¡´Â °Å±â·ÎºÎÅÍ ²¨³»Áý´Ï´Ù.
Zend_Pdf_Page
Ŭ·¡½º¿¡´Â, ÀÌ·¯ÇÑ Á¶ÀÛÀ» ÇàÇϱâ À§ÇÑ 2 °³ÀÇ ¸Þ¼Òµå°¡ ÀÖ½À´Ï´Ù.
<?php
/**
* ÀÌ ÆäÀÌÁöÀÇ ±×·¡ÇÈ »óŸ¦ º¸Á¸ÇÕ´Ï´Ù.
* ÇöÀç Àû¿ëµÇ°í ÀÖ´Â ½ºÅ¸ÀÏ¡¤À§Ä¡¡¤Å¬¸³ ¿µ¿ª ¹×
* ȸÀü/À̵¿/È®´ë Ãà¼ÒµîÀ» Á¤º¸¸¦ º¸Á¸ÇÕ´Ï´Ù.
*/
public function saveGS();
/**
* ¹Ù·Î ¿·ÀÇ saveGS() ±×¸®°í º¸Á¸µÈ ±×·¡ÇÈ »óŸ¦ º¹¿øÇÕ´Ï´Ù.
*/
public function restoreGS();
PDF ¹× Zend_Pdf ¸ðµâÀº, Drawing ¿µ¿ªÀÇ Å¬¸®Çο¡ ´ëÀÀÇϰí ÀÖ½À´Ï´Ù. Drawing ¿¬»êÀÚ°¡ ¿µÇâÀ» ¹ÌÄ¡´Â ¹üÀ§¸¦, ÀÌ Å¬¸³ ¿µ¿ª³»¿¡ Á¦ÇÑÇÕ´Ï´Ù. Ŭ¸³ ¿µ¿ªÀÇ ÃʱâÄ¡´Â, ÆäÀÌÁö ÀüüÀÔ´Ï´Ù.
Zend_Pdf_Page
Ŭ·¡½º¿¡¼´Â,
Ŭ¸®Çο¡ °ü·ÃÇÏ´Â ¸î°³ÀÇ ¸Þ¼Òµå¸¦ Á¦°øÇϰí ÀÖ½À´Ï´Ù.
<?php
/**
* ±¸ÇüÀÇ Å¬¸³ ¿µ¿ªÀ» ¼³Á¤ÇÕ´Ï´Ù.
*
* @param float $x1
* @param float $y1
* @param float $x2
* @param float $y2
*/
public function clipRectangle($x1, $y1, $x2, $y2);
<?php
/**
* ´Ù°¢ÇüÀÇ Å¬¸³ ¿µ¿ªÀ» ¼³Á¤ÇÕ´Ï´Ù.
*
* @param array $x - float ÀÇ ¹è¿ (Á¤Á¡ÀÇ X ÁÂÇ¥)
* @param array $y - float ÀÇ ¹è¿ (Á¤Á¡ÀÇ Y ÁÂÇ¥)
* @param integer $fillMethod
*/
public function clipPolygon($x, $y, $fillMethod = Zend_Pdf_Page::FILL_METHOD_NON_ZERO_WINDING);
<?php
/**
* ¿øÇüÀÇ Å¬¸³ ¿µ¿ªÀ» ¼³Á¤ÇÕ´Ï´Ù.
*
* @param float $x
* @param float $y
* @param float $radius
* @param float $startAngle
* @param float $endAngle
*/
public function clipCircle($x, $y, $radius, $startAngle = null, $endAngle = null);
<?php
/**
* Ÿ¿øÀÇ Å¬¸³ ¿µ¿ªÀ» ¼³Á¤ÇÕ´Ï´Ù.
*
* ¸Þ¼ÒµåÀÇ ¼½Ä
* drawEllipse($x1, $y1, $x2, $y2);
* drawEllipse($x1, $y1, $x2, $y2, $startAngle, $endAngle);
*
* @todo $x2-$x1 == 0 (ÀÌ)³ª $y2-$y1 == 0 (¿Í)°ú °°ÀÌ Æ¯º°ÇÑ °æ¿ì¿¡ÀÇ ´ëÀÀ
*
* @param float $x1
* @param float $y1
* @param float $x2
* @param float $y2
* @param float $startAngle
* @param float $endAngle
*/
public function clipEllipse($x1, $y1, $x2, $y2, $startAngle = null, $endAngle = null);
Zend_Pdf_Style
Ŭ·¡½º°¡ ½ºÅ¸ÀÏ¿¡ °üÇÑ ±â´ÉÀ» Á¦°øÇÕ´Ï´Ù.
½ºÅ¸ÀÏÀº, ±×·¡ÇÈ »óÅ¿¡ °üÇÑ º¹¼öÀÇ ¼³Á¤À» º¸Á¸ÇØ, PDF ÀÇ ÆäÀÌÁö¿¡ 1 ȸÀÇ Á¶ÀÛÀ¸·Î ±×°ÍÀ» Àû¿ëÇϱâ À§Çؼ »ç¿ëµË´Ï´Ù.
<?php
/**
* ÀÌ ÆäÀÌÁöÀÇ Drawing Á¶ÀÛÀ¸·Î »ç¿ëÇÒ ¿¹Á¤ÀÇ ½ºÅ¸ÀÏÀ» ¼³Á¤ÇÕ´Ï´Ù.
*
* @param Zend_Pdf_Style $style
*/
public function setStyle(Zend_Pdf_Style $style);
/**
* ½ºÅ¸ÀÏÀ» µ¹·ÁÁÖ¾î, ±×°ÍÀ» ÆäÀÌÁö¿¡ Àû¿ëÇÕ´Ï´Ù.
*
* @return Zend_Pdf_Style|null
*/
public function getStyle();
Zend_Pdf_Style
Ŭ·¡½º¿¡¼´Â,
´Ù¾çÇÑ ±×·¡ÇÈ »óŸ¦ ¼³Á¤ ȤÀº ÃëµæÇϱâ À§ÇÑ ¸Þ¼Òµå°¡ Á¦°øµÇ°í ÀÖ½À´Ï´Ù.
<?php
/**
* ¼±ÀÇ »öÀ» ¼³Á¤ÇÕ´Ï´Ù.
*
* @param Zend_Pdf_Color $color
*/
public function setLineColor(Zend_Pdf_Color $color);
<?php
/**
* ¼±ÀÇ »öÀ» ÃëµæÇÕ´Ï´Ù.
*
* @return Zend_Pdf_Color|null
*/
public function getLineColor();
<?php
/**
* ¼±ÀÇ ÆøÀ» ¼³Á¤ÇÕ´Ï´Ù.
*
* @param float $width
*/
public function setLineWidth($width);
<?php
/**
* ¼±ÀÇ ÆøÀ» ÃëµæÇÕ´Ï´Ù.
*
* @return float
*/
public function getLineWidth();
<?php
/**
* ÆÄ¼±ÀÇ ÆÐÅÏÀ» ¼³Á¤ÇÕ´Ï´Ù.
*
* @param array $pattern
* @param float $phase
*/
public function setLineDashingPattern($pattern, $phase = 0);
<?php
/**
* ÆÄ¼±ÀÇ ÆÐÅÏÀ» ÃëµæÇÕ´Ï´Ù.
*
* @return array
*/
public function getLineDashingPattern();
<?php
/**
* ÆÄ¼±ÀÇ À§»óÀ» ÃëµæÇÕ´Ï´Ù.
*
* @return float
*/
public function getLineDashingPhase();
<?php
/**
* ÀüºÎ Ä¥ÇØ »öÀ» ¼³Á¤ÇÕ´Ï´Ù.
*
* @param Zend_Pdf_Color $color
*/
public function setFillColor(Zend_Pdf_Color $color);
<?php
/**
* ÀüºÎ Ä¥ÇØ »öÀ» ÃëµæÇÕ´Ï´Ù.
*
* @return Zend_Pdf_Color|null
*/
public function getFillColor();
<?php
/**
* ÇöÀçÀÇ ÆùÆ®¸¦ ¼³Á¤ÇÕ´Ï´Ù.
*
* @param Zend_Pdf_Resource_Font $font
* @param float $fontSize
*/
public function setFont(Zend_Pdf_Resource_Font $font, $fontSize);
<?php
/**
* ÇöÀçÀÇ font size¸¦ º¯°æÇÕ´Ï´Ù.
*
* @param float $fontSize
*/
public function setFontSize($fontSize);
<?php
/**
* ÇöÀçÀÇ ÆùÆ®¸¦ ÃëµæÇÕ´Ï´Ù.
*
* @return Zend_Pdf_Resource_Font $font
*/
public function getFont();
<?php
/**
* ÇöÀçÀÇ font sizeÀ» ÃëµæÇÕ´Ï´Ù.
*
* @return float $fontSize
*/
public function getFontSize();