Download the PHP package ren1244/pdfwriter without Composer

On this page you can find all versions of the php package ren1244/pdfwriter. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package pdfwriter

PDFWriter

這是一個 2020 年底新開發的 PHP PDF Library

*注意:這是預覽版本,非正式發布,有些東西可能還會變動*

專案的方向

安裝

使用

以下是最簡單的程式碼,只產生一個空白頁面

透過呼叫 addPage 方法可以不斷地增加新的頁面

※以下均以 $pdf 代表建立好的 PDFWriter 物件

新增頁面

指定新增的頁面大小,可以直接給予長寬

或是輸入預先設定的紙張種類,目前可設定的值有:

如果希望紙張是橫向的,可以在預設的紙張種類後面加上 "L""H",意思分別是 Landscape 與 Horizontal

輸出 PDF

預設是把 pdf 直接回應給使用者 如果想先儲存在伺服器內的檔案 可以給予在 output 時指定一個 file pointer resource

單位

當涉及到長度的參數時,若沒有特別提及,都是指「目前選用的單位」(後面以「目前單位」簡稱)

預設狀態下,「目前單位」被設定為 "mm",可以設定 PageMetrics::$unit 來改變它

允許設定的值為 "cm", "mm", "pt",設定其他值的話都會視為 "pt"

如果臨時要把 pt 轉換為「目前單位」

如果臨時要把「目前單位」轉換為 pt

文字

內建字型

上面的範例中的 $pdf->font->addFont('Times-Roman'); 就是使用內建字型。

目前內建的字型有,包含一般的英數字元

自訂字型

透過 script/addFont.php 添加字型(產生的結果放在 font 資料夾)

字型替代

這個功能是在字型缺字的狀況下,允許自動切換替代的字型。

透過這個功能,可以讓我們在英數字自動使用 Times-Roman,而遇到中文自動使用 Noto-Sans

範例如下

文字的排版

addText 的第二個參數是一個選擇性的參數,為一個關聯陣列,可以有以下選擇

KEY 值的資料類型 預設值 說明
lineHeight number 1.2 行高,相對於該行字型大小,預設值為1.2
wordBreak bool false 英數是否強制換行
color string|false false 文字顏色,RRGGBB,例如 "FFCC00"
若為 false 則視環境設定而不同
textAlign string "left" 多行文字對齊,可能的值有:"left", "center", "right"
cellAlign integer 7 文字要對齊文字框的何處,允許的數值是 1~9,對應數字鍵的位置
underline number 0 底線寬,單位是 pt,如果為 0 則不添加底線

直書

此功能開發中,目前處理英文、數字與中文,其他語言會當作中文處理。

addTextV 寫入直書文字

addTextV 的第二個參數是一個選擇性的參數,為一個關聯陣列,可以有以下選擇

KEY 值的資料類型 預設值 說明
lineSpace float 0 額外的行距
wordSpace float 0 額外的字距
mode string "RL" 從左到右或是從右到左,可能的值有:"RL", "LR"
color string|false false 文字顏色,RRGGBB,例如 "FFCC00"
若為 false 則視環境設定而不同
textAlign string "start" 多行文字對齊,可能的值有:"start", "middle", "end"
cellAlign integer 7 文字要對齊文字框的何處,允許的數值是 1~9,對應數字鍵的位置

圖形

向量圖(線條)

目前只能用 postScript 語言來畫線條(跟 svg 有點像)

點陣圖

目前支援的格式有 pngjpeg,其他格式要先轉換一下

若是已經取得圖檔內容,可以使用 addImageRaw 方法,使用方法與 addImage 相同。

書籤

簡易書籤

多層級書籤

加密

目前支援 Aes256、Aes128、Rc4_128 三種加密,可參考 examples/ex3_encryption.php

擴充功能

在架構上,PDFWriter 分為三層:

  1. PDFWriter 核心:管理字型、頁面等,並把字型跟頁面提供給 Cntent Module 開發使用。
  2. Cntent Module:透過 PDFWriter 提供的物件,負責產生頁面的內容。
  3. 一般使用者:使用 PDFWriter + Cntent Module(s) 產生 PDF

關於如何建立 Cntent Module 可以參考:如何加入新的模組。

這邊只介紹自帶的基本功能:字型、文字、線條、內嵌點陣圖 如果只是產生報表應該還堪用

PS. 文字、線條的功能都是由 Cntent Module 實現,現階段不會太過深入高級功能的開發,而是透過提供介面給予增加功能的彈性。所以只提供最基礎的功能。


All versions of pdfwriter with dependencies

PHP Build Version
Package Version
Requires php Version ^7.1.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package ren1244/pdfwriter contains the following files

Loading the files please wait ....