summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--print/Makefile1
-rw-r--r--print/shrinkpdf/Makefile41
-rw-r--r--print/shrinkpdf/distinfo3
-rw-r--r--print/shrinkpdf/files/shrinkpdf.1.in79
-rw-r--r--print/shrinkpdf/pkg-descr6
5 files changed, 130 insertions, 0 deletions
diff --git a/print/Makefile b/print/Makefile
index e47ee4facade..ac9779b6be12 100644
--- a/print/Makefile
+++ b/print/Makefile
@@ -227,6 +227,7 @@
SUBDIR += rubygem-ttfunk
SUBDIR += scribus-devel
SUBDIR += sgf2tex
+ SUBDIR += shrinkpdf
SUBDIR += splix
SUBDIR += system-config-printer
SUBDIR += t1utils
diff --git a/print/shrinkpdf/Makefile b/print/shrinkpdf/Makefile
new file mode 100644
index 000000000000..8ec0b9fb0267
--- /dev/null
+++ b/print/shrinkpdf/Makefile
@@ -0,0 +1,41 @@
+# $FreeBSD$
+
+PORTNAME= shrinkpdf
+PORTVERSION= 20191221
+CATEGORIES= print graphics
+MASTER_SITES= http://www.alfredklomp.com/programming/shrinkpdf/
+DISTNAME= ${PORTNAME}.sh
+EXTRACT_SUFX= # none
+EXTRACT_ONLY= # none
+
+MAINTAINER= grembo@FreeBSD.org
+COMMENT= Simple wrapper around Ghostscript to reduce the file size of PDFs
+
+LICENSE= BSD3CLAUSE
+
+USES= ghostscript:run
+SUB_FILES= ${PORTNAME}.1
+
+#RUN_DEPENDS= ${JAVALIBDIR}/bcmail.jar:java/bouncycastle15 \
+# ${JAVALIBDIR}/commons-logging.jar:java/apache-commons-logging \
+# ${JAVALIBDIR}/commons-io.jar:devel/apache-commons-io
+
+NO_BUILD= yes
+NO_ARCH= yes
+
+PLIST_FILES= bin/${PORTNAME} man/man1/${PORTNAME}.1.gz
+
+do-install:
+ ${INSTALL_SCRIPT} ${DISTDIR}/${PORTNAME}.sh \
+ ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
+ ${INSTALL_MAN} ${WRKDIR}/shrinkpdf.1 ${STAGEDIR}${MANPREFIX}/man/man1
+
+# @${ECHO_MSG} -n ">> Installing JAR files in ${JAVAJARDIR}..."
+# @${MKDIR} ${STAGEDIR}${JAVAJARDIR}
+#.for f in ${JAR_NAMES}
+# ${INSTALL_DATA} ${DISTDIR}/${f}-${PORTVERSION}.jar \
+# ${STAGEDIR}${JAVAJARDIR}/${f}.jar
+#.endfor
+# @${ECHO_MSG} " [ DONE ]"
+
+.include <bsd.port.mk>
diff --git a/print/shrinkpdf/distinfo b/print/shrinkpdf/distinfo
new file mode 100644
index 000000000000..6bd2ff566802
--- /dev/null
+++ b/print/shrinkpdf/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1576932323
+SHA256 (shrinkpdf.sh) = 2aa47759a945165e119b84b99d1042c63fceb1ec2692145e250b4f78ec032662
+SIZE (shrinkpdf.sh) = 3114
diff --git a/print/shrinkpdf/files/shrinkpdf.1.in b/print/shrinkpdf/files/shrinkpdf.1.in
new file mode 100644
index 000000000000..167cf68ee7fb
--- /dev/null
+++ b/print/shrinkpdf/files/shrinkpdf.1.in
@@ -0,0 +1,79 @@
+.\"
+.\" Copyright (c) 2014-2019 Alfred Klomp
+.\" Copyright (c) 2019 Michael Gmelin
+.\"
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
+.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
+.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd December 21, 2019
+.Dt SHRINKPDF 1
+.Os
+.Sh NAME
+.Nm shrinkpdf
+.Nd A simple wrapper around Ghostscript to reduce the file size of PDFs
+.Sh SYNOPSIS
+.Nm
+.Ar infile
+.Op outfile
+.Op resolution_in_dpi
+.Sh DESCRIPTION
+Inspired by some code found in an OpenOffice Python script,
+.Nm
+feeds a PDF through Ghostscript, which performs lossy recompression
+by such methods as downsampling the images to a lower resolution.
+The result should be (but not always is) a much smaller file.
+.Pp
+If invoked without
+.Op outfile ,
+the shrunk file is written to standard output.
+If invoked without
+.Op resolution_in_dpi ,
+a default resolution of 72 dpi is used.
+.Pp
+If both
+.Op infile
+and
+.Op outfile
+are regular files, the script checks if the shrunk output file is actually
+smaller than the input file.
+If it is not, it writes a message to stderr and copies the input to output.
+.Sh EXAMPLES
+Reduce PDF resolution to 72 dpi:
+.Dl $ shrinkpdf myfile.pdf >myfile-72dpi.pdf
+.Pp
+Reduce PDF resolution to 300 dpi:
+.Dl $ shrinkpdf myfile.pdf - 300 >myfile-300dpi.pdf
+.Pp
+Reduce PDF resolution to 150 dpi, specify
+.Op outfile :
+.Dl $ shrinkpdf myfile.pdf myfile-150dpi.pdf 150
+.Sh SEE ALSO
+.Xr gs 1
+.Sh AUTHORS
+.An -nosplit
+.Nm
+was written by Alfred Klomp.
+This manual page was written by
+.An Michael Gmelin Aq Mt grembo@FreeBSD.org
+based on content written by Alfred Klomp.
diff --git a/print/shrinkpdf/pkg-descr b/print/shrinkpdf/pkg-descr
new file mode 100644
index 000000000000..96fdf21a8589
--- /dev/null
+++ b/print/shrinkpdf/pkg-descr
@@ -0,0 +1,6 @@
+A simple wrapper around Ghostscript to shrink PDFs (as in reduce filesize).
+The script feeds a PDF through Ghostscript, which performs lossy
+recompression by such methods as downsampling the images to 72dpi. The
+result should be (but not always is) a much smaller file.
+
+WWW: http://www.alfredklomp.com/programming/shrinkpdf/