summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore9
-rw-r--r--Makefile4
-rw-r--r--composer.json57
-rw-r--r--php-tecnickcom-tc-lib-pdf.spec252
4 files changed, 322 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..01f0400
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,9 @@
+clog
+package-*.xml
+*.tgz
+*.tar.bz2
+*.tar.gz
+*.tar.xz
+*.tar.xz.asc
+*.src.rpm
+*/*rpm
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..13af741
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,4 @@
+SRCDIR := $(shell pwd)
+NAME := $(shell basename $(SRCDIR))
+include ../../../common/Makefile
+
diff --git a/composer.json b/composer.json
new file mode 100644
index 0000000..cafcade
--- /dev/null
+++ b/composer.json
@@ -0,0 +1,57 @@
+{
+ "name": "tecnickcom/tc-lib-pdf",
+ "description": "PHP PDF Library",
+ "type": "library",
+ "homepage": "http://www.tecnick.com",
+ "license": "LGPL-3.0-or-later",
+ "keywords": [
+ "tc-lib-pdf",
+ "TCPDF",
+ "PDF",
+ "PDFD32000-2008",
+ "document"
+ ],
+ "authors": [
+ {
+ "name": "Nicola Asuni",
+ "email": "info@tecnick.com",
+ "role": "lead"
+ }
+ ],
+ "require": {
+ "php": ">=8.0",
+ "ext-date": "*",
+ "ext-pcre": "*",
+ "tecnickcom/tc-lib-barcode": "^2.1",
+ "tecnickcom/tc-lib-color": "^2.0",
+ "tecnickcom/tc-lib-pdf-image": "^2.0",
+ "tecnickcom/tc-lib-pdf-font": "^2.0",
+ "tecnickcom/tc-lib-file": "^2.0",
+ "tecnickcom/tc-lib-pdf-encrypt": "^2.0",
+ "tecnickcom/tc-lib-unicode-data": "^2.0",
+ "tecnickcom/tc-lib-unicode": "^2.0",
+ "tecnickcom/tc-lib-pdf-page": "^4.0",
+ "tecnickcom/tc-lib-pdf-graph": "^2.0"
+ },
+ "require-dev": {
+ "pdepend/pdepend": "2.13.0",
+ "phpmd/phpmd": "2.13.0",
+ "phpunit/phpunit": "10.1.2 || 9.6.13",
+ "squizlabs/php_codesniffer": "3.7.2"
+ },
+ "autoload": {
+ "psr-4": {
+ "Com\\Tecnick\\Pdf\\": "src"
+ }
+ },
+ "autoload-dev": {
+ "psr-4": {
+ "Test\\": "test"
+ }
+ },
+ "archive": {
+ "exclude": [
+ "/example"
+ ]
+ }
+}
diff --git a/php-tecnickcom-tc-lib-pdf.spec b/php-tecnickcom-tc-lib-pdf.spec
new file mode 100644
index 0000000..b6f6abb
--- /dev/null
+++ b/php-tecnickcom-tc-lib-pdf.spec
@@ -0,0 +1,252 @@
+# remirepo/fedora spec file for php-tecnickcom-tc-lib-pdf
+#
+# Copyright (c) 2023 Remi Collet
+# License: CC-BY-SA-4.0
+# http://creativecommons.org/licenses/by-sa/4.0/
+#
+# Please, preserve the changelog entries
+#
+%global gh_commit ff6a98586d852dc82c9caa4b57a2f1b66c111b8c
+%global gh_short %(c=%{gh_commit}; echo ${c:0:7})
+%global c_vendor tecnickcom
+%global gh_owner tecnickcom
+%global gh_project tc-lib-pdf
+%global php_project %{_datadir}/php/Com/Tecnick/Pdf
+%bcond_without tests
+
+Name: php-%{gh_owner}-%{gh_project}
+Version: 8.0.53
+Release: 1%{?dist}
+Summary: PHP PDF Library
+
+License: LGPL-3.0-or-later
+URL: https://github.com/%{gh_owner}/%{gh_project}
+Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{name}-%{version}-%{?gh_short}.tar.gz
+
+BuildArch: noarch
+%if %{with tests}
+# For tests
+%global phpunit %{_bindir}/phpunit10
+BuildRequires: phpunit10 >= 10.1.2
+BuildRequires: php(language) >= 8.0
+# remirepo:1
+%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8
+BuildRequires: (php-composer(%{c_vendor}/tc-lib-barcode) >= 2.1 with php-composer(%{c_vendor}/tc-lib-barcode) < 3)
+BuildRequires: (php-composer(%{c_vendor}/tc-lib-color) >= 2.0 with php-composer(%{c_vendor}/tc-lib-color) < 3)
+BuildRequires: (php-composer(%{c_vendor}/tc-lib-pdf-image) >= 2.0 with php-composer(%{c_vendor}/tc-lib-pdf-image) < 3)
+BuildRequires: (php-composer(%{c_vendor}/tc-lib-pdf-font) >= 2.0 with php-composer(%{c_vendor}/tc-lib-pdf-font) < 3)
+BuildRequires: (php-composer(%{c_vendor}/tc-lib-file) >= 2.0 with php-composer(%{c_vendor}/tc-lib-file) < 3)
+BuildRequires: (php-composer(%{c_vendor}/tc-lib-pdf-encrypt) >= 2.0 with php-composer(%{c_vendor}/tc-lib-pdf-encrypt) < 3)
+BuildRequires: (php-composer(%{c_vendor}/tc-lib-unicode-data) >= 2.0 with php-composer(%{c_vendor}/tc-lib-unicode-data) < 3)
+BuildRequires: (php-composer(%{c_vendor}/tc-lib-unicode) >= 2.0 with php-composer(%{c_vendor}/tc-lib-unicode) < 3)
+BuildRequires: (php-composer(%{c_vendor}/tc-lib-pdf-page) >= 4.0 with php-composer(%{c_vendor}/tc-lib-pdf-page) < 5)
+BuildRequires: (php-composer(%{c_vendor}/tc-lib-pdf-graph) >= 2.0 with php-composer(%{c_vendor}/tc-lib-pdf-graph) < 3)
+# remirepo:22
+%else
+BuildRequires: php-composer(%{c_vendor}/tc-lib-barcode) < 3
+BuildRequires: php-composer(%{c_vendor}/tc-lib-barcode) >= 2.1
+BuildRequires: php-composer(%{c_vendor}/tc-lib-color) < 3
+BuildRequires: php-composer(%{c_vendor}/tc-lib-color) >= 2.0
+BuildRequires: php-composer(%{c_vendor}/tc-lib-pdf-image) < 3
+BuildRequires: php-composer(%{c_vendor}/tc-lib-pdf-image) >= 2.0
+BuildRequires: php-composer(%{c_vendor}/tc-lib-pdf-font) < 3
+BuildRequires: php-composer(%{c_vendor}/tc-lib-pdf-font) >= 2.0
+BuildRequires: php-composer(%{c_vendor}/tc-lib-file) < 3
+BuildRequires: php-composer(%{c_vendor}/tc-lib-file) >= 2.0
+BuildRequires: php-composer(%{c_vendor}/tc-lib-pdf-encrypt) < 3
+BuildRequires: php-composer(%{c_vendor}/tc-lib-pdf-encrypt) >= 2.0
+BuildRequires: php-composer(%{c_vendor}/tc-lib-unicode-data) < 3
+BuildRequires: php-composer(%{c_vendor}/tc-lib-unicode-data) >= 2.0
+BuildRequires: php-composer(%{c_vendor}/tc-lib-unicode) < 3
+BuildRequires: php-composer(%{c_vendor}/tc-lib-unicode) >= 2.0
+BuildRequires: php-composer(%{c_vendor}/tc-lib-pdf-page) < 5
+BuildRequires: php-composer(%{c_vendor}/tc-lib-pdf-page) >= 4.0
+BuildRequires: php-composer(%{c_vendor}/tc-lib-pdf-graph) < 3
+BuildRequires: php-composer(%{c_vendor}/tc-lib-pdf-graph) >= 2.0
+%endif
+BuildRequires: php-date
+BuildRequires: php-openssl
+BuildRequires: php-pcre
+# Optional but required for test
+BuildRequires: php-pecl-imagick
+%endif
+BuildRequires: php-fedora-autoloader-devel
+
+# From composer.json, "require": {
+# "php": ">=8.0",
+# "ext-date": "*",
+# "ext-pcre": "*",
+# "tecnickcom/tc-lib-barcode": "^2.1",
+# "tecnickcom/tc-lib-color": "^2.0",
+# "tecnickcom/tc-lib-pdf-image": "^2.0",
+# "tecnickcom/tc-lib-pdf-font": "^2.0",
+# "tecnickcom/tc-lib-file": "^2.0",
+# "tecnickcom/tc-lib-pdf-encrypt": "^2.0",
+# "tecnickcom/tc-lib-unicode-data": "^2.0",
+# "tecnickcom/tc-lib-unicode": "^2.0",
+# "tecnickcom/tc-lib-pdf-page": "^4.0",
+# "tecnickcom/tc-lib-pdf-graph": "^2.0"
+Requires: php(language) >= 8.0
+Requires: php-date
+Requires: php-pcre
+# remirepo:1
+%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8
+Requires: (php-composer(%{c_vendor}/tc-lib-barcode) >= 2.1 with php-composer(%{c_vendor}/tc-lib-barcode) < 3)
+Requires: (php-composer(%{c_vendor}/tc-lib-color) >= 2.0 with php-composer(%{c_vendor}/tc-lib-color) < 3)
+Requires: (php-composer(%{c_vendor}/tc-lib-pdf-image) >= 2.0 with php-composer(%{c_vendor}/tc-lib-pdf-image) < 3)
+Requires: (php-composer(%{c_vendor}/tc-lib-pdf-font) >= 2.0 with php-composer(%{c_vendor}/tc-lib-pdf-font) < 3)
+Requires: (php-composer(%{c_vendor}/tc-lib-file) >= 2.0 with php-composer(%{c_vendor}/tc-lib-file) < 3)
+Requires: (php-composer(%{c_vendor}/tc-lib-pdf-encrypt) >= 2.0 with php-composer(%{c_vendor}/tc-lib-pdf-encrypt) < 3)
+Requires: (php-composer(%{c_vendor}/tc-lib-unicode-data) >= 2.0 with php-composer(%{c_vendor}/tc-lib-unicode-data) < 3)
+Requires: (php-composer(%{c_vendor}/tc-lib-unicode) >= 2.0 with php-composer(%{c_vendor}/tc-lib-unicode) < 3)
+Requires: (php-composer(%{c_vendor}/tc-lib-pdf-page) >= 4.0 with php-composer(%{c_vendor}/tc-lib-pdf-page) < 5)
+Requires: (php-composer(%{c_vendor}/tc-lib-pdf-graph) >= 2.0 with php-composer(%{c_vendor}/tc-lib-pdf-graph) < 3)
+# remirepo:22
+%else
+Requires: php-composer(%{c_vendor}/tc-lib-barcode) < 3
+Requires: php-composer(%{c_vendor}/tc-lib-barcode) >= 2.1
+Requires: php-composer(%{c_vendor}/tc-lib-color) < 3
+Requires: php-composer(%{c_vendor}/tc-lib-color) >= 2.0
+Requires: php-composer(%{c_vendor}/tc-lib-pdf-image) < 3
+Requires: php-composer(%{c_vendor}/tc-lib-pdf-image) >= 2.0
+Requires: php-composer(%{c_vendor}/tc-lib-pdf-font) < 3
+Requires: php-composer(%{c_vendor}/tc-lib-pdf-font) >= 2.0
+Requires: php-composer(%{c_vendor}/tc-lib-file) < 3
+Requires: php-composer(%{c_vendor}/tc-lib-file) >= 2.0
+Requires: php-composer(%{c_vendor}/tc-lib-pdf-encrypt) < 3
+Requires: php-composer(%{c_vendor}/tc-lib-pdf-encrypt) >= 2.0
+Requires: php-composer(%{c_vendor}/tc-lib-unicode-data) < 3
+Requires: php-composer(%{c_vendor}/tc-lib-unicode-data) >= 2.0
+Requires: php-composer(%{c_vendor}/tc-lib-unicode) < 3
+Requires: php-composer(%{c_vendor}/tc-lib-unicode) >= 2.0
+Requires: php-composer(%{c_vendor}/tc-lib-pdf-page) < 5
+Requires: php-composer(%{c_vendor}/tc-lib-pdf-page) >= 4.0
+Requires: php-composer(%{c_vendor}/tc-lib-pdf-graph) < 3
+Requires: php-composer(%{c_vendor}/tc-lib-pdf-graph) >= 2.0
+%endif
+# From phpcompatinfo report for version 8.0.53
+Requires: php-openssl
+Requires: php-composer(fedora/autoloader)
+
+# Composer
+Provides: php-composer(%{c_vendor}/%{gh_project}) = %{version}
+# Upstream package name
+Provides: php-%{gh_project} = %{version}
+
+
+%description
+PHP library for generating PDF documents on-the-fly.
+
+Main Features:
+* no external libraries are required for the basic functions;
+* all standard page formats, custom page formats, custom margins and units of measure;
+* UTF-8 Unicode and Right-To-Left languages;
+* TrueTypeUnicode, OpenTypeUnicode v1, TrueType, OpenType v1, Type1 and CID-0 fonts;
+* font subsetting;
+* methods to publish some XHTML + CSS code, Javascript and Forms;
+* images, graphic (geometric figures) and transformation methods;
+* supports JPEG, PNG and SVG images natively, all images supported by GD
+ (GD, GD2, GD2PART, GIF, JPEG, PNG, BMP, XBM, XPM) and all images supported
+ via ImagMagick (http://www.imagemagick.org/script/formats.php)
+* 1D and 2D barcodes: CODE 39, ANSI MH10.8M-1983, USD-3, 3 of 9, CODE 93,
+ USS-93, Standard 2 of 5, Interleaved 2 of 5, CODE 128 A/B/C, 2 and 5 Digits
+ UPC-Based Extension, EAN 8, EAN 13, UPC-A, UPC-E, MSI, POSTNET, PLANET,
+ RMS4CC (Royal Mail 4-state Customer Code), CBC (Customer Bar Code),
+ KIX (Klant index - Customer index), Intelligent Mail Barcode, Onecode,
+ USPS-B-3200, CODABAR, CODE 11, PHARMACODE, PHARMACODE TWO-TRACKS, Datamatrix,
+ QR-Code, PDF417;
+* JPEG and PNG ICC profiles, Grayscale, RGB, CMYK, Spot Pdfs and Transparencies;
+* automatic page header and footer management;
+* document encryption up to 256 bit and digital signature certifications;
+* transactions to UNDO commands;
+* PDF annotations, including links, text and file attachments;
+* text rendering modes (fill, stroke and clipping);
+* multiple columns mode;
+* no-write page regions;
+* bookmarks, named destinations and table of content;
+* text hyphenation;
+* text stretching and spacing (tracking);
+* automatic page break, line break and text alignments including justification;
+* automatic page numbering and page groups;
+* move and delete pages;
+* page compression (requires php-zlib extension);
+* XOBject Templates;
+* Layers and object visibility.
+* PDF/A-1b support.
+
+
+%prep
+%setup -q -n %{gh_project}-%{gh_commit}
+
+: Sanity check
+grep -q '^%{version}$' VERSION
+
+: Fix the examples
+sed -e 's:^require:////require:' \
+ -e 's:^//require:require:' \
+ -e 's:../vendor/tecnickcom/tc-lib-pdf-font/target/fonts/:/usr/share/php-tecnickcom-tc-lib-pdf-font/:' \
+ -e '/OUTPUT_FILE/s:../target/:./:' \
+ -e 's:../vendor/tecnickcom/tc-lib-pdf-image/test/images:/usr/share/doc/php-tecnickcom-tc-lib-pdf-image/images:' \
+ -i examples/*php
+
+
+%build
+phpab --template fedora --output src/autoload.php src
+cat << 'EOF' | tee -a src/autoload.php
+\Fedora\Autoloader\Dependencies::required([
+ '%{_datadir}/php/Com/Tecnick/Barcode/autoload.php',
+ '%{_datadir}/php/Com/Tecnick/Color/autoload.php',
+ '%{_datadir}/php/Com/Tecnick/File/autoload.php',
+ '%{_datadir}/php/Com/Tecnick/Pdf/Image/autoload.php',
+ '%{_datadir}/php/Com/Tecnick/Pdf/Font/autoload.php',
+ '%{_datadir}/php/Com/Tecnick/Pdf/Encrypt/autoload.php',
+ '%{_datadir}/php/Com/Tecnick/Pdf/Page/autoload.php',
+ '%{_datadir}/php/Com/Tecnick/Pdf/Graph/autoload.php',
+ '%{_datadir}/php/Com/Tecnick/Unicode/autoload.php',
+ '%{_datadir}/php/Com/Tecnick/Unicode/Data/autoload.php',
+]);
+EOF
+
+
+%install
+mkdir -p $(dirname %{buildroot}%{php_project})
+cp -pr src %{buildroot}%{php_project}
+
+
+%check
+%if %{with tests}
+mkdir vendor
+cat << 'EOF' | tee vendor/autoload.php
+<?php
+require '%{buildroot}%{php_project}/autoload.php';
+\Fedora\Autoloader\Autoload::addPsr4('Test\\', dirname(__DIR__) . '/test');
+EOF
+
+ret=0
+for cmdarg in "php %{phpunit}" php81 php82 php83; do
+ if which $cmdarg; then
+ set $cmdarg
+ cp phpunit.xml.dist phpunit.xml
+ $1 ${2:-%{_bindir}/phpunit10} --migrate-configuration || :
+ $1 ${2:-%{_bindir}/phpunit10} \
+ --no-coverage --stderr || ret=1
+ fi
+done
+exit $ret
+%else
+: Test suite disabled
+%endif
+
+
+%files
+# remirepo:1
+%{!?_licensedir:%global license %%doc}
+%license LICENSE
+%doc composer.json
+%doc *.md examples
+%{php_project}/*
+
+
+%changelog
+* Wed Nov 29 2023 Remi Collet <remi@remirepo.net> - 8.0.53-1
+- initial package, version 8.0.53