Files
perl-PDF-Reuse/perl-PDF-Reuse.spec
2025-08-12 18:16:24 +02:00

119 lines
3.8 KiB
RPMSpec

#
# spec file for package perl-PDF-Reuse
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define cpan_name PDF-Reuse
Name: perl-PDF-Reuse
Version: 0.390.0
Release: 0
# 0.39 -> normalize -> 0.390.0
%define cpan_version 0.39
License: Artistic-1.0 OR GPL-1.0-or-later
Summary: Reuse and mass produce PDF documents
URL: https://metacpan.org/release/%{cpan_name}
Source0: https://cpan.metacpan.org/authors/id/C/CN/CNIGHS/%{cpan_name}-%{cpan_version}.tar.gz
Source1: cpanspec.yml
Source100: README.md
BuildArch: noarch
BuildRequires: perl
BuildRequires: perl-macros
BuildRequires: perl(Compress::Zlib)
BuildRequires: perl(Font::TTF)
BuildRequires: perl(Test::Deep)
BuildRequires: perl(Text::PDF::TTFont0)
Requires: perl(Compress::Zlib)
Requires: perl(Font::TTF)
Requires: perl(Text::PDF::TTFont0)
Provides: perl(PDF::Reuse) = %{version}
Provides: perl(PDF::Reuse::DocProxy)
Provides: perl(PDF::Reuse::TTFont)
Provides: perl(PDF::Reuse::Util)
%undefine __perllib_provides
%{perl_requires}
# MANUAL BEGIN
BuildRequires: perl(Test::Deep)
# MANUAL END
%description
This module could be used when you want to mass produce similar (but not
identical) PDF documents and reuse templates, JavaScripts and some other
components. It is functional to be fast, and to give your programs capacity
to produce many pages per second and very big PDF documents if necessary.
The module produces PDF-1.4 files. Some features of PDF-1.5, like "object
streams" and "cross reference streams", are supported, but only at an
experimental level. More testing is needed. (If you get problems with a new
document from Acrobat 6 or higher, try to save it or recreate it as a
PDF-1.4 document first, before using it together with this module.)
* Templates
Use your favorite program, probably a commercial visual tool, to produce
single PDF-files to be used as templates, and then use this module to *mass
produce* files from them.
(If you want small PDF-files or want special graphics, you can use this
module also, but visual tools are often most practical.)
* Lists
The module uses "XObjects" extensively. This is a format that makes it
possible create big lists, which are compact at the same time.
* PDF-operators
The module gives you a good possibility to program at a "low level" with
the basic graphic operators of PDF, if that is what you want to do. You can
build your own libraries of low level routines, with PDF-directives
"controlled" by Perl.
* Archive-format
If you want, you get your new documents logged in a format suitable for
archiving or transfer.
PDF::Reuse::Tutorial might show you best what you can do with this module.
* JavaScript
You can attach JavaScripts to your PDF-files.
You can have libraries of JavaScripts. No cutting or pasting, and those who
include the scripts in documents only need to know how to initiate them.
(Of course those who write the scripts have to know Acrobat JavaScript
well.)
%prep
%autosetup -n %{cpan_name}-%{cpan_version}
%build
perl Makefile.PL INSTALLDIRS=vendor
%make_build
%check
make test
%install
%perl_make_install
%perl_process_packlist
%perl_gen_filelist
%files -f %{name}.files
%doc Changes README
%changelog