• 首页
  • css3教程
  • html5教程
  • jQuery手册
  • php7教程
  • MySQL手册
  • apache手册
  • 位置: php7教程 -> PECL扩展库

    haru(生成PDF)

    您需要先安装libharu才能使用PECL/haru。PECL/haru是用libharu 2.0.8测试的,旧版本可能对您有用,也可能不适用。PECL/haru还需要PHP 5.1.3或更新版本。

    haru基础用法例子

    Example #1 Fancy "Hello world"

    <?php
    $doc = new HaruDoc;
    $doc->setPageMode(HaruDoc::PAGE_MODE_USE_THUMBS); /* show thumbnails */
    $page = $doc->addPage(); /* add page to the document */
    $page->setSize(HaruPage::SIZE_A4, HaruPage::LANDSCAPE); /* set the page to use A4 landscape format */
    $courier = $doc->getFont("Courier-Bold"); /* we'll use the bundled font a few lines below */
    $page->setRGBStroke(0, 0, 0); /* set colors */
    $page->setRGBFill(0.7, 0.8, 0.9);
    $page->rectangle(150, 150, 550, 250); /* draw a rectangle */
    $page->fillStroke(); /* fill and stroke it */
    $page->setDash(array(3, 3), 0); /* set dash style for lines at this page */
    $page->setFontAndSize($courier, 60); /* set font and size */
    $page->setRGBStroke(0.5, 0.5, 0.1); /* set line color */
    $page->setRGBFill(1, 1, 1); /* set filling color */
    $page->setTextRenderingMode(HaruPage::FILL_THEN_STROKE); /* fill and stroke text */
    /* print the text */
    $page->beginText();
    $page->textOut(210, 270, "Hello World!");
    $page->endText();
    $doc->save("/tmp/test.pdf"); /* save the document into a file */
    ?>
    

    Builtin Encodings

    Single-byte character set encodings
    NameDescription
    StandardEncoding The default encoding of PDF.
    MacRomanEncoding The standard encoding of Mac OS.
    WinAnsiEncoding The standard encoding of Windows.
    FontSpecific The font built-in encoding.
    ISO8859-2 Latin2 (East European)
    ISO8859-3 Latin3 (South European)
    ISO8859-4 Latin4 (North European)
    ISO8859-5 Cyrillic
    ISO8859-6 Arabic
    ISO8859-7 Greek
    ISO8859-8 Hebrew
    ISO8859-9 Latin5 (Turkish)
    ISO8859-10 Latin6 (Nordic)
    ISO8859-11 Thai
    ISO8859-13 Latin7 (Baltic Rim)
    ISO8859-14 Latin8 (Celtic)
    ISO8859-15 Latin9
    ISO8859-16 Latin10
    CP1250 MS Windows Codepage 1250.
    CP1251 MS Windows Codepage 1251.
    CP1252 MS Windows Codepage 1252.
    CP1253 MS Windows Codepage 1253.
    CP1254 MS Windows Codepage 1254.
    CP1255 MS Windows Codepage 1255.
    CP1256 MS Windows Codepage 1256.
    CP1257 MS Windows Codepage 1257.
    CP1258 MS Windows Codepage 1258.
    KOI8-R Cyrillic character set.
    Multi-byte character set encodings
    NameDescription
    GB-EUC-H EUC-CN encoding.
    GB-EUC-V Vertical writing version of GB-EUC-H.
    GBK-EUC-H Microsoft Code Page 936 (lfCharSet 0x86) GBK encoding.
    GBK-EUC-V Vertical writing version of GBK-EUC-H.
    ETen-B5-H Microsoft Code Page 950 (lfCharSet 0x88) Big Five character set with ETen extensions.
    ETen-B5-V Vertical writing version of ETen-B5-H.
    90ms-RKSJ-H Microsoft Code Page 932, JIS X 0208 character.
    90ms-RKSJ-V Vertical writing version of 90ms-RKSJ-V.
    90msp-RKSJ-H Microsoft Code Page 932, JIS X 0208 character (proportional).
    EUC-H JIS X 0208 character set, EUC-JP encoding.
    EUC-V Vertical writing version of EUC-H.
    KSC-EUC-H KS X 1001:1992 character set, EUC-KR encoding.
    KSC-EUC-V Vertical writing version of KSC-EUC-V.
    KSCms-UHC-H Microsoft Code Page 949 (lfCharSet 0x81), KS X 1001:1992 character set plus 8822 additional hangul, Unified Hangul Code (UHC) encoding (proportional).
    KSCms-UHC-HW-H Microsoft Code Page 949 (lfCharSet 0x81), KS X 1001:1992 character set plus 8822 additional hangul, Unified Hangul Code (UHC) encoding (fixed width).
    KSCms-UHC-HW-V Vertical writing version of KSCms-UHC-HW-H.

    HaruException类

    HaruException extends Exception 
    {
    	/* Inherits */
    	final public Exception::getMessage ( void ) : string
    	final public Exception::getPrevious ( void ) : Throwable
    	final public Exception::getCode ( void ) : int
    	final public Exception::getFile ( void ) : string
    	final public Exception::getLine ( void ) : int
    	final public Exception::getTrace ( void ) : array
    	final public Exception::getTraceAsString ( void ) : string
    	public Exception::__toString ( void ) : string
    	final private Exception::__clone ( void ) : void
    }
    

    HaruDoc类

    HaruDoc
    {
    	/* 方法 */
    	addPage ( void ) : object
    	addPageLabel ( int $first_page , int $style , int $first_num [, string $prefix = "" ] ) : bool
    	__construct ( void )
    	createOutline ( string $title [, object $parent_outline [, object $encoder ]] ) : object
    	getCurrentEncoder ( void ) : object
    	getCurrentPage ( void ) : object
    	getEncoder ( string $encoding ) : object
    	getFont ( string $fontname [, string $encoding ] ) : object
    	getInfoAttr ( int $type ) : string
    	getPageLayout ( void ) : int
    	getPageMode ( void ) : int
    	getStreamSize ( void ) : int
    	insertPage ( object $page ) : object
    	loadJPEG ( string $filename ) : object
    	loadPNG ( string $filename [, bool $deferred = FALSE ] ) : object
    	loadRaw ( string $filename , int $width , int $height , int $color_space ) : object
    	loadTTC ( string $fontfile , int $index [, bool $embed = FALSE ] ) : string
    	loadTTF ( string $fontfile [, bool $embed = FALSE ] ) : string
    	loadType1 ( string $afmfile [, string $pfmfile ] ) : string
    	output ( void ) : bool
    	readFromStream ( int $bytes ) : string
    	resetError ( void ) : bool
    	resetStream ( void ) : bool
    	save ( string $file ) : bool
    	saveToStream ( void ) : bool
    	setCompressionMode ( int $mode ) : bool
    	setCurrentEncoder ( string $encoding ) : bool
    	setEncryptionMode ( int $mode [, int $key_len = 5 ] ) : bool
    	setInfoAttr ( int $type , string $info ) : bool
    	setInfoDateAttr ( int $type , int $year , int $month , int $day , int $hour , int $min , int $sec , string $ind , int $off_hour , int $off_min ) : bool
    	setOpenAction ( object $destination ) : bool
    	setPageLayout ( int $layout ) : bool
    	setPageMode ( int $mode ) : bool
    	setPagesConfiguration ( int $page_per_pages ) : bool
    	setPassword ( string $owner_password , string $user_password ) : bool
    	setPermission ( int $permission ) : bool
    	useCNSEncodings ( void ) : bool
    	useCNSFonts ( void ) : bool
    	useCNTEncodings ( void ) : bool
    	useCNTFonts ( void ) : bool
    	useJPEncodings ( void ) : bool
    	useJPFonts ( void ) : bool
    	useKREncodings ( void ) : bool
    	useKRFonts ( void ) : bool
    }