forked from josch/img2pdf
replace --without-pdfrw by --engine=internal or --engine=pdfrw
This commit is contained in:
parent
997fe8efd8
commit
e4dece1c9f
2 changed files with 228 additions and 103 deletions
111
src/img2pdf.py
111
src/img2pdf.py
|
@ -34,13 +34,11 @@ import logging
|
||||||
import struct
|
import struct
|
||||||
import platform
|
import platform
|
||||||
|
|
||||||
with_pdfrw = False
|
have_pdfrw = True
|
||||||
try:
|
try:
|
||||||
import pdfrw
|
import pdfrw
|
||||||
|
|
||||||
with_pdfrw = True
|
|
||||||
except ImportError:
|
except ImportError:
|
||||||
pass
|
have_pdfrw = False
|
||||||
|
|
||||||
__version__ = "0.3.6"
|
__version__ = "0.3.6"
|
||||||
default_dpi = 96.0
|
default_dpi = 96.0
|
||||||
|
@ -69,6 +67,7 @@ papernames = {
|
||||||
"tabloid": "Tabloid",
|
"tabloid": "Tabloid",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Engine = Enum("Engine", "internal pdfrw pikepdf")
|
||||||
|
|
||||||
FitMode = Enum("FitMode", "into fill exact shrink enlarge")
|
FitMode = Enum("FitMode", "into fill exact shrink enlarge")
|
||||||
|
|
||||||
|
@ -597,6 +596,7 @@ class MyPdfString:
|
||||||
class pdfdoc(object):
|
class pdfdoc(object):
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
|
engine=Engine.internal,
|
||||||
version="1.3",
|
version="1.3",
|
||||||
title=None,
|
title=None,
|
||||||
author=None,
|
author=None,
|
||||||
|
@ -615,13 +615,21 @@ class pdfdoc(object):
|
||||||
center_window=False,
|
center_window=False,
|
||||||
fullscreen=False,
|
fullscreen=False,
|
||||||
):
|
):
|
||||||
if with_pdfrw:
|
if engine is None:
|
||||||
from pdfrw import PdfWriter, PdfDict, PdfName, PdfString
|
if have_pdfrw:
|
||||||
|
engine = Engine.pdfrw
|
||||||
else:
|
else:
|
||||||
|
engine = Engine.internal
|
||||||
|
|
||||||
|
if engine == Engine.pdfrw:
|
||||||
|
from pdfrw import PdfWriter, PdfDict, PdfName, PdfString
|
||||||
|
elif engine == Engine.internal:
|
||||||
PdfWriter = MyPdfWriter
|
PdfWriter = MyPdfWriter
|
||||||
PdfDict = MyPdfDict
|
PdfDict = MyPdfDict
|
||||||
PdfName = MyPdfName
|
PdfName = MyPdfName
|
||||||
PdfString = MyPdfString
|
PdfString = MyPdfString
|
||||||
|
else:
|
||||||
|
raise ValueError("unknown engine: %s" % engine)
|
||||||
|
|
||||||
now = datetime.now()
|
now = datetime.now()
|
||||||
self.info = PdfDict(indirect=True)
|
self.info = PdfDict(indirect=True)
|
||||||
|
@ -662,7 +670,7 @@ class pdfdoc(object):
|
||||||
self.writer.version = version
|
self.writer.version = version
|
||||||
# this is done because pdfrw adds info, catalog and pages as the first
|
# this is done because pdfrw adds info, catalog and pages as the first
|
||||||
# three objects in this order
|
# three objects in this order
|
||||||
if not with_pdfrw:
|
if engine == Engine.internal:
|
||||||
self.writer.addobj(self.info)
|
self.writer.addobj(self.info)
|
||||||
self.writer.addobj(self.writer.catalog)
|
self.writer.addobj(self.writer.catalog)
|
||||||
self.writer.addobj(self.writer.pages)
|
self.writer.addobj(self.writer.pages)
|
||||||
|
@ -674,6 +682,7 @@ class pdfdoc(object):
|
||||||
self.fit_window = fit_window
|
self.fit_window = fit_window
|
||||||
self.center_window = center_window
|
self.center_window = center_window
|
||||||
self.fullscreen = fullscreen
|
self.fullscreen = fullscreen
|
||||||
|
self.engine = engine
|
||||||
|
|
||||||
def add_imagepage(
|
def add_imagepage(
|
||||||
self,
|
self,
|
||||||
|
@ -698,15 +707,17 @@ class pdfdoc(object):
|
||||||
trimborder=None,
|
trimborder=None,
|
||||||
artborder=None,
|
artborder=None,
|
||||||
):
|
):
|
||||||
if with_pdfrw:
|
if self.engine == Engine.pdfrw:
|
||||||
from pdfrw import PdfDict, PdfName, PdfObject, PdfString
|
from pdfrw import PdfDict, PdfName, PdfObject, PdfString
|
||||||
from pdfrw.py23_diffs import convert_load
|
from pdfrw.py23_diffs import convert_load
|
||||||
else:
|
elif self.engine == Engine.internal:
|
||||||
PdfDict = MyPdfDict
|
PdfDict = MyPdfDict
|
||||||
PdfName = MyPdfName
|
PdfName = MyPdfName
|
||||||
PdfObject = MyPdfObject
|
PdfObject = MyPdfObject
|
||||||
PdfString = MyPdfString
|
PdfString = MyPdfString
|
||||||
convert_load = my_convert_load
|
convert_load = my_convert_load
|
||||||
|
else:
|
||||||
|
raise ValueError("unknown engine: %s" % self.engine)
|
||||||
|
|
||||||
if color == Colorspace["1"] or color == Colorspace.L:
|
if color == Colorspace["1"] or color == Colorspace.L:
|
||||||
colorspace = PdfName.DeviceGray
|
colorspace = PdfName.DeviceGray
|
||||||
|
@ -715,11 +726,11 @@ class pdfdoc(object):
|
||||||
elif color == Colorspace.CMYK or color == Colorspace["CMYK;I"]:
|
elif color == Colorspace.CMYK or color == Colorspace["CMYK;I"]:
|
||||||
colorspace = PdfName.DeviceCMYK
|
colorspace = PdfName.DeviceCMYK
|
||||||
elif color == Colorspace.P:
|
elif color == Colorspace.P:
|
||||||
if with_pdfrw:
|
if self.engine == Engine.pdfrw:
|
||||||
raise Exception(
|
raise Exception(
|
||||||
"pdfrw does not support hex strings for "
|
"pdfrw does not support hex strings for "
|
||||||
"palette image input, re-run with "
|
"palette image input, re-run with "
|
||||||
"--without-pdfrw"
|
"--engine=internal"
|
||||||
)
|
)
|
||||||
colorspace = [
|
colorspace = [
|
||||||
PdfName.Indexed,
|
PdfName.Indexed,
|
||||||
|
@ -843,7 +854,7 @@ class pdfdoc(object):
|
||||||
|
|
||||||
self.writer.addpage(page)
|
self.writer.addpage(page)
|
||||||
|
|
||||||
if not with_pdfrw:
|
if self.engine == Engine.internal:
|
||||||
self.writer.addobj(content)
|
self.writer.addobj(content)
|
||||||
self.writer.addobj(image)
|
self.writer.addobj(image)
|
||||||
|
|
||||||
|
@ -853,13 +864,15 @@ class pdfdoc(object):
|
||||||
return stream.getvalue()
|
return stream.getvalue()
|
||||||
|
|
||||||
def tostream(self, outputstream):
|
def tostream(self, outputstream):
|
||||||
if with_pdfrw:
|
if self.engine == Engine.pdfrw:
|
||||||
from pdfrw import PdfDict, PdfName, PdfArray, PdfObject
|
from pdfrw import PdfDict, PdfName, PdfArray, PdfObject
|
||||||
else:
|
elif self.engine == Engine.internal:
|
||||||
PdfDict = MyPdfDict
|
PdfDict = MyPdfDict
|
||||||
PdfName = MyPdfName
|
PdfName = MyPdfName
|
||||||
PdfObject = MyPdfObject
|
PdfObject = MyPdfObject
|
||||||
PdfArray = MyPdfArray
|
PdfArray = MyPdfArray
|
||||||
|
else:
|
||||||
|
raise ValueError("unknown engine: %s" % self.engine)
|
||||||
NullObject = PdfObject("null")
|
NullObject = PdfObject("null")
|
||||||
TrueObject = PdfObject("true")
|
TrueObject = PdfObject("true")
|
||||||
|
|
||||||
|
@ -871,10 +884,12 @@ class pdfdoc(object):
|
||||||
# is added, so we can only start using it after all pages have been
|
# is added, so we can only start using it after all pages have been
|
||||||
# written.
|
# written.
|
||||||
|
|
||||||
if with_pdfrw:
|
if self.engine == Engine.pdfrw:
|
||||||
catalog = self.writer.trailer.Root
|
catalog = self.writer.trailer.Root
|
||||||
else:
|
elif self.engine == Engine.internal:
|
||||||
catalog = self.writer.catalog
|
catalog = self.writer.catalog
|
||||||
|
else:
|
||||||
|
raise ValueError("unknown engine: %s" % self.engine)
|
||||||
|
|
||||||
if (
|
if (
|
||||||
self.fullscreen
|
self.fullscreen
|
||||||
|
@ -977,11 +992,13 @@ class pdfdoc(object):
|
||||||
raise ValueError("unknown page layout: %s" % self.page_layout)
|
raise ValueError("unknown page layout: %s" % self.page_layout)
|
||||||
|
|
||||||
# now write out the PDF
|
# now write out the PDF
|
||||||
if with_pdfrw:
|
if self.engine == Engine.pdfrw:
|
||||||
self.writer.trailer.Info = self.info
|
self.writer.trailer.Info = self.info
|
||||||
self.writer.write(outputstream)
|
self.writer.write(outputstream)
|
||||||
else:
|
elif self.engine == Engine.internal:
|
||||||
self.writer.tostream(self.info, outputstream)
|
self.writer.tostream(self.info, outputstream)
|
||||||
|
else:
|
||||||
|
raise ValueError("unknown engine: %s" % self.engine)
|
||||||
|
|
||||||
|
|
||||||
def get_imgmetadata(imgdata, imgformat, default_dpi, colorspace, rawdata=None):
|
def get_imgmetadata(imgdata, imgformat, default_dpi, colorspace, rawdata=None):
|
||||||
|
@ -1763,6 +1780,7 @@ def find_scale(pagewidth, pageheight):
|
||||||
def convert(*images, **kwargs):
|
def convert(*images, **kwargs):
|
||||||
|
|
||||||
_default_kwargs = dict(
|
_default_kwargs = dict(
|
||||||
|
engine=None,
|
||||||
title=None,
|
title=None,
|
||||||
author=None,
|
author=None,
|
||||||
creator=None,
|
creator=None,
|
||||||
|
@ -1792,11 +1810,9 @@ def convert(*images, **kwargs):
|
||||||
for kwname, default in _default_kwargs.items():
|
for kwname, default in _default_kwargs.items():
|
||||||
if kwname not in kwargs:
|
if kwname not in kwargs:
|
||||||
kwargs[kwname] = default
|
kwargs[kwname] = default
|
||||||
if "with_pdfrw" in kwargs:
|
|
||||||
global with_pdfrw
|
|
||||||
with_pdfrw = kwargs["with_pdfrw"]
|
|
||||||
|
|
||||||
pdf = pdfdoc(
|
pdf = pdfdoc(
|
||||||
|
kwargs["engine"],
|
||||||
"1.3",
|
"1.3",
|
||||||
kwargs["title"],
|
kwargs["title"],
|
||||||
kwargs["author"],
|
kwargs["author"],
|
||||||
|
@ -2064,6 +2080,16 @@ def parse_colorspacearg(string):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def parse_enginearg(string):
|
||||||
|
for c in Engine:
|
||||||
|
if c.name == string:
|
||||||
|
return c
|
||||||
|
allowed = ", ".join([c.name for c in Engine])
|
||||||
|
raise argparse.ArgumentTypeError(
|
||||||
|
"Unsupported engine: %s. Must be one of: %s." % (string, allowed)
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def parse_borderarg(string):
|
def parse_borderarg(string):
|
||||||
if ":" in string:
|
if ":" in string:
|
||||||
h, v = string.split(":", 1)
|
h, v = string.split(":", 1)
|
||||||
|
@ -2315,7 +2341,7 @@ def gui():
|
||||||
doc = None
|
doc = None
|
||||||
|
|
||||||
args = {
|
args = {
|
||||||
"without_pdfrw": tkinter.BooleanVar(),
|
"engine": tkinter.StringVar(),
|
||||||
"first_frame_only": tkinter.BooleanVar(),
|
"first_frame_only": tkinter.BooleanVar(),
|
||||||
"auto_orient": tkinter.BooleanVar(),
|
"auto_orient": tkinter.BooleanVar(),
|
||||||
"fit": tkinter.StringVar(),
|
"fit": tkinter.StringVar(),
|
||||||
|
@ -2344,6 +2370,7 @@ def gui():
|
||||||
"colorspace": tkinter.StringVar(),
|
"colorspace": tkinter.StringVar(),
|
||||||
"first_frame_only": tkinter.BooleanVar(),
|
"first_frame_only": tkinter.BooleanVar(),
|
||||||
}
|
}
|
||||||
|
args["engine"].set("auto")
|
||||||
args["title"].set("")
|
args["title"].set("")
|
||||||
args["auto_orient"].set(False)
|
args["auto_orient"].set(False)
|
||||||
args["fit"].set("into")
|
args["fit"].set("into")
|
||||||
|
@ -2448,12 +2475,13 @@ def gui():
|
||||||
colorspacearg = next(
|
colorspacearg = next(
|
||||||
v for v in Colorspace if v.name == args["colorspace"].get()
|
v for v in Colorspace if v.name == args["colorspace"].get()
|
||||||
)
|
)
|
||||||
|
enginearg = None
|
||||||
|
if args["engine"].get() != "auto":
|
||||||
|
enginearg = next(v for v in Engine if v.name == args["engine"].get())
|
||||||
|
|
||||||
global with_pdfrw
|
|
||||||
if with_pdfrw:
|
|
||||||
with_pdfrw = not args["without_pdfrw"].get()
|
|
||||||
convert(
|
convert(
|
||||||
*infiles,
|
*infiles,
|
||||||
|
engine=enginearg,
|
||||||
title=args["title"].get() if args["title"].get() else None,
|
title=args["title"].get() if args["title"].get() else None,
|
||||||
author=args["author"].get() if args["author"].get() else None,
|
author=args["author"].get() if args["author"].get() else None,
|
||||||
creator=args["creator"].get() if args["creator"].get() else None,
|
creator=args["creator"].get() if args["creator"].get() else None,
|
||||||
|
@ -2584,18 +2612,15 @@ def gui():
|
||||||
OptionMenu(output_options, args["colorspace"], "auto", state=tkinter.DISABLED).grid(
|
OptionMenu(output_options, args["colorspace"], "auto", state=tkinter.DISABLED).grid(
|
||||||
row=0, column=1, sticky=tkinter.W
|
row=0, column=1, sticky=tkinter.W
|
||||||
)
|
)
|
||||||
|
tkinter.Label(output_options, text="engine").grid(row=1, column=0, sticky=tkinter.W)
|
||||||
|
OptionMenu(output_options, args["engine"], "auto", state=tkinter.DISABLED).grid(
|
||||||
|
row=1, column=1, sticky=tkinter.W
|
||||||
|
)
|
||||||
tkinter.Checkbutton(
|
tkinter.Checkbutton(
|
||||||
output_options,
|
output_options,
|
||||||
text="Suppress timestamp",
|
text="Suppress timestamp",
|
||||||
variable=args["nodate"],
|
variable=args["nodate"],
|
||||||
state=tkinter.DISABLED,
|
state=tkinter.DISABLED,
|
||||||
).grid(row=1, column=0, columnspan=2, sticky=tkinter.W)
|
|
||||||
# TODO: only have this checkbox enabled if pdfrw is installed
|
|
||||||
tkinter.Checkbutton(
|
|
||||||
output_options,
|
|
||||||
text="without pdfrw",
|
|
||||||
variable=args["without_pdfrw"],
|
|
||||||
state=tkinter.DISABLED,
|
|
||||||
).grid(row=2, column=0, columnspan=2, sticky=tkinter.W)
|
).grid(row=2, column=0, columnspan=2, sticky=tkinter.W)
|
||||||
tkinter.Checkbutton(
|
tkinter.Checkbutton(
|
||||||
output_options,
|
output_options,
|
||||||
|
@ -3091,15 +3116,15 @@ RGB.""",
|
||||||
)
|
)
|
||||||
|
|
||||||
outargs.add_argument(
|
outargs.add_argument(
|
||||||
"--without-pdfrw",
|
"--engine",
|
||||||
action="store_true",
|
metavar="engine",
|
||||||
help="By default, img2pdf uses the pdfrw library to create the output "
|
type=parse_enginearg,
|
||||||
"PDF if pdfrw is available. If you want to use the internal PDF "
|
help="Choose PDF engine. Can be either internal or pdfrw. The "
|
||||||
"generator of img2pdf even if pdfrw is present, then pass this "
|
"internal engine does not have additional requirements and writes out "
|
||||||
"option. This can be useful if you want to have unicode metadata "
|
"a human readable PDF. The pdfrw engine requires the pdfrw Python "
|
||||||
"values which pdfrw does not yet support (See "
|
"module but does not support unicode metadata (See "
|
||||||
"https://github.com/pmaupin/pdfrw/issues/39) or if you want the "
|
"https://github.com/pmaupin/pdfrw/issues/39) or palette data (See "
|
||||||
"PDF code to be more human readable.",
|
"https://github.com/pmaupin/pdfrw/issues/128).",
|
||||||
)
|
)
|
||||||
|
|
||||||
outargs.add_argument(
|
outargs.add_argument(
|
||||||
|
@ -3433,12 +3458,10 @@ and left/right, respectively. It is not possible to specify asymmetric borders.
|
||||||
)
|
)
|
||||||
exit(2)
|
exit(2)
|
||||||
|
|
||||||
global with_pdfrw
|
|
||||||
if with_pdfrw:
|
|
||||||
with_pdfrw = not args.without_pdfrw
|
|
||||||
try:
|
try:
|
||||||
convert(
|
convert(
|
||||||
*args.images,
|
*args.images,
|
||||||
|
engine=args.engine,
|
||||||
title=args.title,
|
title=args.title,
|
||||||
author=args.author,
|
author=args.author,
|
||||||
creator=args.creator,
|
creator=args.creator,
|
||||||
|
|
220
test.sh
220
test.sh
|
@ -122,11 +122,15 @@ if [ -z ${img2pdfprog+x} ]; then
|
||||||
img2pdfprog=src/img2pdf.py
|
img2pdfprog=src/img2pdf.py
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
available_engines="internal"
|
||||||
|
|
||||||
|
if python3 -c "import pdfrw" 2>/dev/null; then
|
||||||
|
available_engines="$available_engines pdfrw"
|
||||||
|
fi
|
||||||
|
|
||||||
img2pdf()
|
img2pdf()
|
||||||
{
|
{
|
||||||
# we use --without-pdfrw to better "grep" the result and because we
|
$img2pdfprog --producer="" --nodate --engine="$1" "$2" > "$3" 2>/dev/null
|
||||||
# cannot write palette based images otherwise
|
|
||||||
$img2pdfprog --without-pdfrw --producer="" --nodate "$1" > "$2" 2>/dev/null
|
|
||||||
}
|
}
|
||||||
|
|
||||||
tests=51 # number of tests
|
tests=51 # number of tests
|
||||||
|
@ -146,7 +150,8 @@ identify -verbose "$tempdir/normal.jpg" | grep --quiet '^ Depth: 8-bit$'
|
||||||
identify -verbose "$tempdir/normal.jpg" | grep --quiet '^ Page geometry: 60x60+0+0$'
|
identify -verbose "$tempdir/normal.jpg" | grep --quiet '^ Page geometry: 60x60+0+0$'
|
||||||
identify -verbose "$tempdir/normal.jpg" | grep --quiet '^ Compression: JPEG$'
|
identify -verbose "$tempdir/normal.jpg" | grep --quiet '^ Compression: JPEG$'
|
||||||
|
|
||||||
img2pdf "$tempdir/normal.jpg" "$tempdir/out.pdf"
|
for engine in $available_engines; do
|
||||||
|
img2pdf $engine "$tempdir/normal.jpg" "$tempdir/out.pdf"
|
||||||
|
|
||||||
# We have to use jpegtopnm with the original JPG before being able to compare
|
# We have to use jpegtopnm with the original JPG before being able to compare
|
||||||
# it with imagemagick because imagemagick will decode the JPG slightly
|
# it with imagemagick because imagemagick will decode the JPG slightly
|
||||||
|
@ -173,8 +178,10 @@ Resources.XObject.Im0.Filter == "/DCTDecode"
|
||||||
Resources.XObject.Im0.Height == 60
|
Resources.XObject.Im0.Height == 60
|
||||||
Resources.XObject.Im0.Width == 60
|
Resources.XObject.Im0.Width == 60
|
||||||
END
|
END
|
||||||
|
rm "$tempdir/out.pdf"
|
||||||
|
done
|
||||||
|
|
||||||
rm "$tempdir/normal.jpg" "$tempdir/normal.pnm" "$tempdir/out.pdf"
|
rm "$tempdir/normal.jpg" "$tempdir/normal.pnm"
|
||||||
j=$((j+1))
|
j=$((j+1))
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
@ -196,7 +203,8 @@ identify -verbose "$tempdir/normal.jpg" | grep --quiet '^ Page geometry: 60x60+
|
||||||
identify -verbose "$tempdir/normal.jpg" | grep --quiet '^ Compression: JPEG$'
|
identify -verbose "$tempdir/normal.jpg" | grep --quiet '^ Compression: JPEG$'
|
||||||
identify -verbose "$tempdir/normal.jpg" | grep --quiet '^ Orientation: RightTop$'
|
identify -verbose "$tempdir/normal.jpg" | grep --quiet '^ Orientation: RightTop$'
|
||||||
|
|
||||||
img2pdf "$tempdir/normal.jpg" "$tempdir/out.pdf"
|
for engine in $available_engines; do
|
||||||
|
img2pdf $engine "$tempdir/normal.jpg" "$tempdir/out.pdf"
|
||||||
|
|
||||||
# We have to use jpegtopnm with the original JPG before being able to compare
|
# We have to use jpegtopnm with the original JPG before being able to compare
|
||||||
# it with imagemagick because imagemagick will decode the JPG slightly
|
# it with imagemagick because imagemagick will decode the JPG slightly
|
||||||
|
@ -226,8 +234,10 @@ Resources.XObject.Im0.Height == 60
|
||||||
Resources.XObject.Im0.Width == 60
|
Resources.XObject.Im0.Width == 60
|
||||||
Rotate == 90
|
Rotate == 90
|
||||||
END
|
END
|
||||||
|
rm "$tempdir/out.pdf"
|
||||||
|
done
|
||||||
|
|
||||||
rm "$tempdir/normal.jpg" "$tempdir/normal.pnm" "$tempdir/out.pdf" "$tempdir/normal_rotated.png"
|
rm "$tempdir/normal.jpg" "$tempdir/normal.pnm" "$tempdir/normal_rotated.png"
|
||||||
j=$((j+1))
|
j=$((j+1))
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
@ -244,7 +254,8 @@ identify -verbose "$tempdir/normal.jpg" | grep --quiet '^ Depth: 8-bit$'
|
||||||
identify -verbose "$tempdir/normal.jpg" | grep --quiet '^ Page geometry: 60x60+0+0$'
|
identify -verbose "$tempdir/normal.jpg" | grep --quiet '^ Page geometry: 60x60+0+0$'
|
||||||
identify -verbose "$tempdir/normal.jpg" | grep --quiet '^ Compression: JPEG$'
|
identify -verbose "$tempdir/normal.jpg" | grep --quiet '^ Compression: JPEG$'
|
||||||
|
|
||||||
img2pdf "$tempdir/normal.jpg" "$tempdir/out.pdf"
|
for engine in $available_engines; do
|
||||||
|
img2pdf $engine "$tempdir/normal.jpg" "$tempdir/out.pdf"
|
||||||
|
|
||||||
gs -dQUIET -dNOPAUSE -dBATCH -sDEVICE=tiff32nc -r96 -sOutputFile="$tempdir/gs-%00d.tiff" "$tempdir/out.pdf"
|
gs -dQUIET -dNOPAUSE -dBATCH -sDEVICE=tiff32nc -r96 -sOutputFile="$tempdir/gs-%00d.tiff" "$tempdir/out.pdf"
|
||||||
similar "$tempdir/normal.jpg" "$tempdir/gs-1.tiff"
|
similar "$tempdir/normal.jpg" "$tempdir/gs-1.tiff"
|
||||||
|
@ -269,8 +280,10 @@ Resources.XObject.Im0.Filter == "/DCTDecode"
|
||||||
Resources.XObject.Im0.Height == 60
|
Resources.XObject.Im0.Height == 60
|
||||||
Resources.XObject.Im0.Width == 60
|
Resources.XObject.Im0.Width == 60
|
||||||
END
|
END
|
||||||
|
rm "$tempdir/out.pdf"
|
||||||
|
done
|
||||||
|
|
||||||
rm "$tempdir/normal.jpg" "$tempdir/out.pdf"
|
rm "$tempdir/normal.jpg"
|
||||||
j=$((j+1))
|
j=$((j+1))
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
@ -287,7 +300,8 @@ identify -verbose "$tempdir/normal.jp2" | grep --quiet '^ Depth: 8-bit$'
|
||||||
identify -verbose "$tempdir/normal.jp2" | grep --quiet '^ Page geometry: 60x60+0+0$'
|
identify -verbose "$tempdir/normal.jp2" | grep --quiet '^ Page geometry: 60x60+0+0$'
|
||||||
identify -verbose "$tempdir/normal.jp2" | grep --quiet '^ Compression: JPEG2000$'
|
identify -verbose "$tempdir/normal.jp2" | grep --quiet '^ Compression: JPEG2000$'
|
||||||
|
|
||||||
img2pdf "$tempdir/normal.jp2" "$tempdir/out.pdf"
|
for engine in $available_engines; do
|
||||||
|
img2pdf $engine "$tempdir/normal.jp2" "$tempdir/out.pdf"
|
||||||
|
|
||||||
compare_rendered "$tempdir/out.pdf" "$tempdir/normal.jp2"
|
compare_rendered "$tempdir/out.pdf" "$tempdir/normal.jp2"
|
||||||
|
|
||||||
|
@ -303,8 +317,10 @@ Resources.XObject.Im0.Filter == "/JPXDecode"
|
||||||
Resources.XObject.Im0.Height == 60
|
Resources.XObject.Im0.Height == 60
|
||||||
Resources.XObject.Im0.Width == 60
|
Resources.XObject.Im0.Width == 60
|
||||||
END
|
END
|
||||||
|
rm "$tempdir/out.pdf"
|
||||||
|
done
|
||||||
|
|
||||||
rm "$tempdir/normal.jp2" "$tempdir/out.pdf"
|
rm "$tempdir/normal.jp2"
|
||||||
j=$((j+1))
|
j=$((j+1))
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
@ -329,7 +345,8 @@ identify -verbose "$tempdir/normal.png" | grep --quiet '^ png:IHDR.color-type
|
||||||
identify -verbose "$tempdir/normal.png" | grep --quiet '^ png:IHDR.color_type: 2 (Truecolor)$'
|
identify -verbose "$tempdir/normal.png" | grep --quiet '^ png:IHDR.color_type: 2 (Truecolor)$'
|
||||||
identify -verbose "$tempdir/normal.png" | grep --quiet '^ png:IHDR.interlace_method: 0 (Not interlaced)$'
|
identify -verbose "$tempdir/normal.png" | grep --quiet '^ png:IHDR.interlace_method: 0 (Not interlaced)$'
|
||||||
|
|
||||||
img2pdf "$tempdir/normal.png" "$tempdir/out.pdf"
|
for engine in $available_engines; do
|
||||||
|
img2pdf $engine "$tempdir/normal.png" "$tempdir/out.pdf"
|
||||||
|
|
||||||
compare_rendered "$tempdir/out.pdf" "$tempdir/normal.png"
|
compare_rendered "$tempdir/out.pdf" "$tempdir/normal.png"
|
||||||
|
|
||||||
|
@ -346,8 +363,9 @@ Resources.XObject.Im0.Filter == "/FlateDecode"
|
||||||
Resources.XObject.Im0.Height == 60
|
Resources.XObject.Im0.Height == 60
|
||||||
Resources.XObject.Im0.Width == 60
|
Resources.XObject.Im0.Width == 60
|
||||||
END
|
END
|
||||||
|
|
||||||
rm "$tempdir/out.pdf"
|
rm "$tempdir/out.pdf"
|
||||||
|
done
|
||||||
|
|
||||||
j=$((j+1))
|
j=$((j+1))
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
@ -367,7 +385,8 @@ identify -verbose "$tempdir/normal16.png" | grep --quiet '^ png:IHDR.color-ty
|
||||||
identify -verbose "$tempdir/normal16.png" | grep --quiet '^ png:IHDR.color_type: 2 (Truecolor)$'
|
identify -verbose "$tempdir/normal16.png" | grep --quiet '^ png:IHDR.color_type: 2 (Truecolor)$'
|
||||||
identify -verbose "$tempdir/normal16.png" | grep --quiet '^ png:IHDR.interlace_method: 0 (Not interlaced)$'
|
identify -verbose "$tempdir/normal16.png" | grep --quiet '^ png:IHDR.interlace_method: 0 (Not interlaced)$'
|
||||||
|
|
||||||
img2pdf "$tempdir/normal16.png" "$tempdir/out.pdf"
|
for engine in $available_engines; do
|
||||||
|
img2pdf $engine "$tempdir/normal16.png" "$tempdir/out.pdf"
|
||||||
|
|
||||||
compare_ghostscript "$tempdir/out.pdf" "$tempdir/normal16.png" tiff48nc
|
compare_ghostscript "$tempdir/out.pdf" "$tempdir/normal16.png" tiff48nc
|
||||||
|
|
||||||
|
@ -389,8 +408,9 @@ Resources.XObject.Im0.Filter == "/FlateDecode"
|
||||||
Resources.XObject.Im0.Height == 60
|
Resources.XObject.Im0.Height == 60
|
||||||
Resources.XObject.Im0.Width == 60
|
Resources.XObject.Im0.Width == 60
|
||||||
END
|
END
|
||||||
|
|
||||||
rm "$tempdir/out.pdf"
|
rm "$tempdir/out.pdf"
|
||||||
|
done
|
||||||
|
|
||||||
j=$((j+1))
|
j=$((j+1))
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
@ -412,11 +432,13 @@ identify -verbose "$tempdir/alpha8.png" | grep --quiet '^ png:IHDR.color-type
|
||||||
identify -verbose "$tempdir/alpha8.png" | grep --quiet '^ png:IHDR.color_type: 6 (RGBA)$'
|
identify -verbose "$tempdir/alpha8.png" | grep --quiet '^ png:IHDR.color_type: 6 (RGBA)$'
|
||||||
identify -verbose "$tempdir/alpha8.png" | grep --quiet '^ png:IHDR.interlace_method: 0 (Not interlaced)$'
|
identify -verbose "$tempdir/alpha8.png" | grep --quiet '^ png:IHDR.interlace_method: 0 (Not interlaced)$'
|
||||||
|
|
||||||
img2pdf "$tempdir/alpha8.png" /dev/null && rc=$? || rc=$?
|
for engine in $available_engines; do
|
||||||
|
img2pdf $engine "$tempdir/alpha8.png" /dev/null && rc=$? || rc=$?
|
||||||
if [ "$rc" -eq 0 ]; then
|
if [ "$rc" -eq 0 ]; then
|
||||||
echo needs to fail here
|
echo needs to fail here
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
rm "$tempdir/alpha8.png"
|
rm "$tempdir/alpha8.png"
|
||||||
j=$((j+1))
|
j=$((j+1))
|
||||||
|
@ -438,11 +460,13 @@ identify -verbose "$tempdir/alpha.png" | grep --quiet '^ png:IHDR.color-type-
|
||||||
identify -verbose "$tempdir/alpha.png" | grep --quiet '^ png:IHDR.color_type: 6 (RGBA)$'
|
identify -verbose "$tempdir/alpha.png" | grep --quiet '^ png:IHDR.color_type: 6 (RGBA)$'
|
||||||
identify -verbose "$tempdir/alpha.png" | grep --quiet '^ png:IHDR.interlace_method: 0 (Not interlaced)$'
|
identify -verbose "$tempdir/alpha.png" | grep --quiet '^ png:IHDR.interlace_method: 0 (Not interlaced)$'
|
||||||
|
|
||||||
img2pdf "$tempdir/alpha.png" /dev/null && rc=$? || rc=$?
|
for engine in $available_engines; do
|
||||||
|
img2pdf $engine "$tempdir/alpha.png" /dev/null && rc=$? || rc=$?
|
||||||
if [ "$rc" -eq 0 ]; then
|
if [ "$rc" -eq 0 ]; then
|
||||||
echo needs to fail here
|
echo needs to fail here
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
j=$((j+1))
|
j=$((j+1))
|
||||||
|
|
||||||
|
@ -465,11 +489,13 @@ identify -verbose "$tempdir/alpha_gray8.png" | grep --quiet '^ png:IHDR.color
|
||||||
identify -verbose "$tempdir/alpha_gray8.png" | grep --quiet '^ png:IHDR.color_type: 4 (GrayAlpha)$'
|
identify -verbose "$tempdir/alpha_gray8.png" | grep --quiet '^ png:IHDR.color_type: 4 (GrayAlpha)$'
|
||||||
identify -verbose "$tempdir/alpha_gray8.png" | grep --quiet '^ png:IHDR.interlace_method: 0 (Not interlaced)$'
|
identify -verbose "$tempdir/alpha_gray8.png" | grep --quiet '^ png:IHDR.interlace_method: 0 (Not interlaced)$'
|
||||||
|
|
||||||
img2pdf "$tempdir/alpha_gray8.png" /dev/null && rc=$? || rc=$?
|
for engine in $available_engines; do
|
||||||
|
img2pdf $engine "$tempdir/alpha_gray8.png" /dev/null && rc=$? || rc=$?
|
||||||
if [ "$rc" -eq 0 ]; then
|
if [ "$rc" -eq 0 ]; then
|
||||||
echo needs to fail here
|
echo needs to fail here
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
rm "$tempdir/alpha_gray8.png"
|
rm "$tempdir/alpha_gray8.png"
|
||||||
j=$((j+1))
|
j=$((j+1))
|
||||||
|
@ -493,11 +519,13 @@ identify -verbose "$tempdir/alpha_gray16.png" | grep --quiet '^ png:IHDR.colo
|
||||||
identify -verbose "$tempdir/alpha_gray16.png" | grep --quiet '^ png:IHDR.color_type: 4 (GrayAlpha)$'
|
identify -verbose "$tempdir/alpha_gray16.png" | grep --quiet '^ png:IHDR.color_type: 4 (GrayAlpha)$'
|
||||||
identify -verbose "$tempdir/alpha_gray16.png" | grep --quiet '^ png:IHDR.interlace_method: 0 (Not interlaced)$'
|
identify -verbose "$tempdir/alpha_gray16.png" | grep --quiet '^ png:IHDR.interlace_method: 0 (Not interlaced)$'
|
||||||
|
|
||||||
img2pdf "$tempdir/alpha_gray16.png" /dev/null && rc=$? || rc=$?
|
for engine in $available_engines; do
|
||||||
|
img2pdf $engine "$tempdir/alpha_gray16.png" /dev/null && rc=$? || rc=$?
|
||||||
if [ "$rc" -eq 0 ]; then
|
if [ "$rc" -eq 0 ]; then
|
||||||
echo needs to fail here
|
echo needs to fail here
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
rm "$tempdir/alpha_gray16.png"
|
rm "$tempdir/alpha_gray16.png"
|
||||||
j=$((j+1))
|
j=$((j+1))
|
||||||
|
@ -521,7 +549,8 @@ identify -verbose "$tempdir/interlace.png" | grep --quiet '^ png:IHDR.color-t
|
||||||
identify -verbose "$tempdir/interlace.png" | grep --quiet '^ png:IHDR.color_type: 2 (Truecolor)$'
|
identify -verbose "$tempdir/interlace.png" | grep --quiet '^ png:IHDR.color_type: 2 (Truecolor)$'
|
||||||
identify -verbose "$tempdir/interlace.png" | grep --quiet '^ png:IHDR.interlace_method: 1 (Adam7 method)$'
|
identify -verbose "$tempdir/interlace.png" | grep --quiet '^ png:IHDR.interlace_method: 1 (Adam7 method)$'
|
||||||
|
|
||||||
img2pdf "$tempdir/interlace.png" "$tempdir/out.pdf"
|
for engine in $available_engines; do
|
||||||
|
img2pdf $engine "$tempdir/interlace.png" "$tempdir/out.pdf"
|
||||||
|
|
||||||
compare_rendered "$tempdir/out.pdf" "$tempdir/normal.png"
|
compare_rendered "$tempdir/out.pdf" "$tempdir/normal.png"
|
||||||
|
|
||||||
|
@ -538,8 +567,10 @@ Resources.XObject.Im0.Filter == "/FlateDecode"
|
||||||
Resources.XObject.Im0.Height == 60
|
Resources.XObject.Im0.Height == 60
|
||||||
Resources.XObject.Im0.Width == 60
|
Resources.XObject.Im0.Width == 60
|
||||||
END
|
END
|
||||||
|
rm "$tempdir/out.pdf"
|
||||||
|
done
|
||||||
|
|
||||||
rm "$tempdir/interlace.png" "$tempdir/out.pdf"
|
rm "$tempdir/interlace.png"
|
||||||
j=$((j+1))
|
j=$((j+1))
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
@ -568,7 +599,8 @@ for i in 1 2 4 8; do
|
||||||
identify -verbose "$tempdir/gray$i.png" | grep --quiet '^ png:IHDR.color_type: 0 (Grayscale)$'
|
identify -verbose "$tempdir/gray$i.png" | grep --quiet '^ png:IHDR.color_type: 0 (Grayscale)$'
|
||||||
identify -verbose "$tempdir/gray$i.png" | grep --quiet '^ png:IHDR.interlace_method: 0 (Not interlaced)$'
|
identify -verbose "$tempdir/gray$i.png" | grep --quiet '^ png:IHDR.interlace_method: 0 (Not interlaced)$'
|
||||||
|
|
||||||
img2pdf "$tempdir/gray$i.png" "$tempdir/out.pdf"
|
for engine in $available_engines; do
|
||||||
|
img2pdf $engine "$tempdir/gray$i.png" "$tempdir/out.pdf"
|
||||||
|
|
||||||
compare_rendered "$tempdir/out.pdf" "$tempdir/gray$i.png" pnggray
|
compare_rendered "$tempdir/out.pdf" "$tempdir/gray$i.png" pnggray
|
||||||
|
|
||||||
|
@ -586,8 +618,9 @@ Resources.XObject.Im0.Filter == "/FlateDecode"
|
||||||
Resources.XObject.Im0.Height == 60
|
Resources.XObject.Im0.Height == 60
|
||||||
Resources.XObject.Im0.Width == 60
|
Resources.XObject.Im0.Width == 60
|
||||||
END
|
END
|
||||||
|
|
||||||
rm "$tempdir/out.pdf"
|
rm "$tempdir/out.pdf"
|
||||||
|
done
|
||||||
|
|
||||||
j=$((j+1))
|
j=$((j+1))
|
||||||
done
|
done
|
||||||
|
|
||||||
|
@ -608,7 +641,8 @@ identify -verbose "$tempdir/gray16.png" | grep --quiet '^ png:IHDR.color-type
|
||||||
identify -verbose "$tempdir/gray16.png" | grep --quiet '^ png:IHDR.color_type: 0 (Grayscale)$'
|
identify -verbose "$tempdir/gray16.png" | grep --quiet '^ png:IHDR.color_type: 0 (Grayscale)$'
|
||||||
identify -verbose "$tempdir/gray16.png" | grep --quiet '^ png:IHDR.interlace_method: 0 (Not interlaced)$'
|
identify -verbose "$tempdir/gray16.png" | grep --quiet '^ png:IHDR.interlace_method: 0 (Not interlaced)$'
|
||||||
|
|
||||||
img2pdf "$tempdir/gray16.png" "$tempdir/out.pdf"
|
for engine in $available_engines; do
|
||||||
|
img2pdf $engine "$tempdir/gray16.png" "$tempdir/out.pdf"
|
||||||
|
|
||||||
# ghostscript outputs 8-bit grayscale, so the comparison will not be exact
|
# ghostscript outputs 8-bit grayscale, so the comparison will not be exact
|
||||||
gs -dQUIET -dNOPAUSE -dBATCH -sDEVICE=pnggray -r96 -sOutputFile="$tempdir/gs-%00d.png" "$tempdir/out.pdf"
|
gs -dQUIET -dNOPAUSE -dBATCH -sDEVICE=pnggray -r96 -sOutputFile="$tempdir/gs-%00d.png" "$tempdir/out.pdf"
|
||||||
|
@ -636,8 +670,9 @@ Resources.XObject.Im0.Filter == "/FlateDecode"
|
||||||
Resources.XObject.Im0.Height == 60
|
Resources.XObject.Im0.Height == 60
|
||||||
Resources.XObject.Im0.Width == 60
|
Resources.XObject.Im0.Width == 60
|
||||||
END
|
END
|
||||||
|
|
||||||
rm "$tempdir/out.pdf"
|
rm "$tempdir/out.pdf"
|
||||||
|
done
|
||||||
|
|
||||||
j=$((j+1))
|
j=$((j+1))
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
@ -658,7 +693,11 @@ for i in 1 2 4 8; do
|
||||||
identify -verbose "$tempdir/palette$i.png" | grep --quiet '^ png:IHDR.color_type: 3 (Indexed)$'
|
identify -verbose "$tempdir/palette$i.png" | grep --quiet '^ png:IHDR.color_type: 3 (Indexed)$'
|
||||||
identify -verbose "$tempdir/palette$i.png" | grep --quiet '^ png:IHDR.interlace_method: 0 (Not interlaced)$'
|
identify -verbose "$tempdir/palette$i.png" | grep --quiet '^ png:IHDR.interlace_method: 0 (Not interlaced)$'
|
||||||
|
|
||||||
img2pdf "$tempdir/palette$i.png" "$tempdir/out.pdf"
|
for engine in $available_engines; do
|
||||||
|
if [ $engine = "pdfrw" ]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
img2pdf $engine "$tempdir/palette$i.png" "$tempdir/out.pdf"
|
||||||
|
|
||||||
compare_rendered "$tempdir/out.pdf" "$tempdir/palette$i.png"
|
compare_rendered "$tempdir/out.pdf" "$tempdir/palette$i.png"
|
||||||
|
|
||||||
|
@ -676,8 +715,9 @@ Resources.XObject.Im0.Filter == "/FlateDecode"
|
||||||
Resources.XObject.Im0.Height == 60
|
Resources.XObject.Im0.Height == 60
|
||||||
Resources.XObject.Im0.Width == 60
|
Resources.XObject.Im0.Width == 60
|
||||||
END
|
END
|
||||||
|
|
||||||
rm "$tempdir/out.pdf"
|
rm "$tempdir/out.pdf"
|
||||||
|
done
|
||||||
|
|
||||||
j=$((j+1))
|
j=$((j+1))
|
||||||
done
|
done
|
||||||
|
|
||||||
|
@ -696,11 +736,13 @@ identify -verbose "$tempdir/alpha.gif" | grep --quiet '^ Colormap entries: 256$
|
||||||
identify -verbose "$tempdir/alpha.gif" | grep --quiet '^ Page geometry: 60x60+0+0$'
|
identify -verbose "$tempdir/alpha.gif" | grep --quiet '^ Page geometry: 60x60+0+0$'
|
||||||
identify -verbose "$tempdir/alpha.gif" | grep --quiet '^ Compression: LZW$'
|
identify -verbose "$tempdir/alpha.gif" | grep --quiet '^ Compression: LZW$'
|
||||||
|
|
||||||
img2pdf "$tempdir/alpha.gif" /dev/null && rc=$? || rc=$?
|
for engine in $available_engines; do
|
||||||
|
img2pdf $engine "$tempdir/alpha.gif" /dev/null && rc=$? || rc=$?
|
||||||
if [ "$rc" -eq 0 ]; then
|
if [ "$rc" -eq 0 ]; then
|
||||||
echo needs to fail here
|
echo needs to fail here
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
rm "$tempdir/alpha.gif"
|
rm "$tempdir/alpha.gif"
|
||||||
j=$((j+1))
|
j=$((j+1))
|
||||||
|
@ -726,7 +768,11 @@ for i in 1 2 4 8; do
|
||||||
identify -verbose "$tempdir/palette$i.gif" | grep --quiet '^ Page geometry: 60x60+0+0$'
|
identify -verbose "$tempdir/palette$i.gif" | grep --quiet '^ Page geometry: 60x60+0+0$'
|
||||||
identify -verbose "$tempdir/palette$i.gif" | grep --quiet '^ Compression: LZW$'
|
identify -verbose "$tempdir/palette$i.gif" | grep --quiet '^ Compression: LZW$'
|
||||||
|
|
||||||
img2pdf "$tempdir/palette$i.gif" "$tempdir/out.pdf"
|
for engine in $available_engines; do
|
||||||
|
if [ $engine = "pdfrw" ]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
img2pdf $engine "$tempdir/palette$i.gif" "$tempdir/out.pdf"
|
||||||
|
|
||||||
compare_rendered "$tempdir/out.pdf" "$tempdir/palette$i.png"
|
compare_rendered "$tempdir/out.pdf" "$tempdir/palette$i.png"
|
||||||
|
|
||||||
|
@ -744,8 +790,10 @@ Resources.XObject.Im0.Filter == "/FlateDecode"
|
||||||
Resources.XObject.Im0.Height == 60
|
Resources.XObject.Im0.Height == 60
|
||||||
Resources.XObject.Im0.Width == 60
|
Resources.XObject.Im0.Width == 60
|
||||||
END
|
END
|
||||||
|
rm "$tempdir/out.pdf"
|
||||||
|
done
|
||||||
|
|
||||||
rm "$tempdir/out.pdf" "$tempdir/palette$i.gif"
|
rm "$tempdir/palette$i.gif"
|
||||||
j=$((j+1))
|
j=$((j+1))
|
||||||
done
|
done
|
||||||
|
|
||||||
|
@ -775,7 +823,11 @@ identify -verbose "$tempdir/animation.gif[1]" | grep --quiet '^ Page geometry:
|
||||||
identify -verbose "$tempdir/animation.gif[1]" | grep --quiet '^ Compression: LZW$'
|
identify -verbose "$tempdir/animation.gif[1]" | grep --quiet '^ Compression: LZW$'
|
||||||
identify -verbose "$tempdir/animation.gif[1]" | grep --quiet '^ Scene: 1$'
|
identify -verbose "$tempdir/animation.gif[1]" | grep --quiet '^ Scene: 1$'
|
||||||
|
|
||||||
img2pdf "$tempdir/animation.gif" "$tempdir/out.pdf"
|
for engine in $available_engines; do
|
||||||
|
if [ $engine = "pdfrw" ]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
img2pdf $engine "$tempdir/animation.gif" "$tempdir/out.pdf"
|
||||||
|
|
||||||
if [ "$(pdfinfo "$tempdir/out.pdf" | awk '/Pages:/ {print $2}')" != 2 ]; then
|
if [ "$(pdfinfo "$tempdir/out.pdf" | awk '/Pages:/ {print $2}')" != 2 ]; then
|
||||||
echo "pdf does not have 2 pages"
|
echo "pdf does not have 2 pages"
|
||||||
|
@ -805,6 +857,7 @@ END
|
||||||
|
|
||||||
rm "$tempdir/page-$page.pdf"
|
rm "$tempdir/page-$page.pdf"
|
||||||
done
|
done
|
||||||
|
done
|
||||||
|
|
||||||
rm "$tempdir/animation.gif"
|
rm "$tempdir/animation.gif"
|
||||||
j=$((j+1))
|
j=$((j+1))
|
||||||
|
@ -828,11 +881,13 @@ identify -verbose "$tempdir/float.tiff" | grep --quiet '^ tiff:alpha: unspeci
|
||||||
identify -verbose "$tempdir/float.tiff" | grep --quiet '^ tiff:endian: lsb$'
|
identify -verbose "$tempdir/float.tiff" | grep --quiet '^ tiff:endian: lsb$'
|
||||||
identify -verbose "$tempdir/float.tiff" | grep --quiet '^ tiff:photometric: RGB$'
|
identify -verbose "$tempdir/float.tiff" | grep --quiet '^ tiff:photometric: RGB$'
|
||||||
|
|
||||||
img2pdf "$tempdir/float.tiff" /dev/null && rc=$? || rc=$?
|
for engine in $available_engines; do
|
||||||
|
img2pdf $engine "$tempdir/float.tiff" /dev/null && rc=$? || rc=$?
|
||||||
if [ "$rc" -eq 0 ]; then
|
if [ "$rc" -eq 0 ]; then
|
||||||
echo needs to fail here
|
echo needs to fail here
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
rm "$tempdir/float.tiff"
|
rm "$tempdir/float.tiff"
|
||||||
j=$((j+1))
|
j=$((j+1))
|
||||||
|
@ -855,7 +910,8 @@ identify -verbose "$tempdir/cmyk8.tiff" | grep --quiet '^ tiff:alpha: unspeci
|
||||||
identify -verbose "$tempdir/cmyk8.tiff" | grep --quiet '^ tiff:endian: lsb$'
|
identify -verbose "$tempdir/cmyk8.tiff" | grep --quiet '^ tiff:endian: lsb$'
|
||||||
identify -verbose "$tempdir/cmyk8.tiff" | grep --quiet '^ tiff:photometric: separated$'
|
identify -verbose "$tempdir/cmyk8.tiff" | grep --quiet '^ tiff:photometric: separated$'
|
||||||
|
|
||||||
img2pdf "$tempdir/cmyk8.tiff" "$tempdir/out.pdf"
|
for engine in $available_engines; do
|
||||||
|
img2pdf $engine "$tempdir/cmyk8.tiff" "$tempdir/out.pdf"
|
||||||
|
|
||||||
compare_ghostscript "$tempdir/out.pdf" "$tempdir/cmyk8.tiff" tiff32nc
|
compare_ghostscript "$tempdir/out.pdf" "$tempdir/cmyk8.tiff" tiff32nc
|
||||||
|
|
||||||
|
@ -877,8 +933,10 @@ Resources.XObject.Im0.Filter == "/FlateDecode"
|
||||||
Resources.XObject.Im0.Height == 60
|
Resources.XObject.Im0.Height == 60
|
||||||
Resources.XObject.Im0.Width == 60
|
Resources.XObject.Im0.Width == 60
|
||||||
END
|
END
|
||||||
|
rm "$tempdir/out.pdf"
|
||||||
|
done
|
||||||
|
|
||||||
rm "$tempdir/cmyk8.tiff" "$tempdir/out.pdf"
|
rm "$tempdir/cmyk8.tiff"
|
||||||
j=$((j+1))
|
j=$((j+1))
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
@ -900,11 +958,13 @@ identify -verbose "$tempdir/cmyk16.tiff" | grep --quiet '^ tiff:endian: lsb$'
|
||||||
identify -verbose "$tempdir/cmyk16.tiff" | grep --quiet '^ tiff:photometric: separated$'
|
identify -verbose "$tempdir/cmyk16.tiff" | grep --quiet '^ tiff:photometric: separated$'
|
||||||
|
|
||||||
# PIL is unable to read 16 bit CMYK images
|
# PIL is unable to read 16 bit CMYK images
|
||||||
img2pdf "$tempdir/cmyk16.gif" /dev/null && rc=$? || rc=$?
|
for engine in $available_engines; do
|
||||||
|
img2pdf $engine "$tempdir/cmyk16.gif" /dev/null && rc=$? || rc=$?
|
||||||
if [ "$rc" -eq 0 ]; then
|
if [ "$rc" -eq 0 ]; then
|
||||||
echo needs to fail here
|
echo needs to fail here
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
rm "$tempdir/cmyk16.tiff"
|
rm "$tempdir/cmyk16.tiff"
|
||||||
j=$((j+1))
|
j=$((j+1))
|
||||||
|
@ -927,7 +987,8 @@ identify -verbose "$tempdir/normal.tiff" | grep --quiet '^ tiff:alpha: unspec
|
||||||
identify -verbose "$tempdir/normal.tiff" | grep --quiet '^ tiff:endian: lsb$'
|
identify -verbose "$tempdir/normal.tiff" | grep --quiet '^ tiff:endian: lsb$'
|
||||||
identify -verbose "$tempdir/normal.tiff" | grep --quiet '^ tiff:photometric: RGB$'
|
identify -verbose "$tempdir/normal.tiff" | grep --quiet '^ tiff:photometric: RGB$'
|
||||||
|
|
||||||
img2pdf "$tempdir/normal.tiff" "$tempdir/out.pdf"
|
for engine in $available_engines; do
|
||||||
|
img2pdf $engine "$tempdir/normal.tiff" "$tempdir/out.pdf"
|
||||||
|
|
||||||
compare_rendered "$tempdir/out.pdf" "$tempdir/normal.tiff" tiff24nc
|
compare_rendered "$tempdir/out.pdf" "$tempdir/normal.tiff" tiff24nc
|
||||||
|
|
||||||
|
@ -944,8 +1005,10 @@ Resources.XObject.Im0.Filter == "/FlateDecode"
|
||||||
Resources.XObject.Im0.Height == 60
|
Resources.XObject.Im0.Height == 60
|
||||||
Resources.XObject.Im0.Width == 60
|
Resources.XObject.Im0.Width == 60
|
||||||
END
|
END
|
||||||
|
rm "$tempdir/out.pdf"
|
||||||
|
done
|
||||||
|
|
||||||
rm "$tempdir/normal.tiff" "$tempdir/out.pdf"
|
rm "$tempdir/normal.tiff"
|
||||||
j=$((j+1))
|
j=$((j+1))
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
@ -966,11 +1029,13 @@ identify -verbose "$tempdir/alpha8.tiff" | grep --quiet '^ tiff:alpha: unasso
|
||||||
identify -verbose "$tempdir/alpha8.tiff" | grep --quiet '^ tiff:endian: lsb$'
|
identify -verbose "$tempdir/alpha8.tiff" | grep --quiet '^ tiff:endian: lsb$'
|
||||||
identify -verbose "$tempdir/alpha8.tiff" | grep --quiet '^ tiff:photometric: RGB$'
|
identify -verbose "$tempdir/alpha8.tiff" | grep --quiet '^ tiff:photometric: RGB$'
|
||||||
|
|
||||||
img2pdf "$tempdir/alpha8.tiff" /dev/null && rc=$? || rc=$?
|
for engine in $available_engines; do
|
||||||
|
img2pdf $engine "$tempdir/alpha8.tiff" /dev/null && rc=$? || rc=$?
|
||||||
if [ "$rc" -eq 0 ]; then
|
if [ "$rc" -eq 0 ]; then
|
||||||
echo needs to fail here
|
echo needs to fail here
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
rm "$tempdir/alpha8.tiff"
|
rm "$tempdir/alpha8.tiff"
|
||||||
j=$((j+1))
|
j=$((j+1))
|
||||||
|
@ -993,11 +1058,13 @@ identify -verbose "$tempdir/alpha16.tiff" | grep --quiet '^ tiff:alpha: unass
|
||||||
identify -verbose "$tempdir/alpha16.tiff" | grep --quiet '^ tiff:endian: lsb$'
|
identify -verbose "$tempdir/alpha16.tiff" | grep --quiet '^ tiff:endian: lsb$'
|
||||||
identify -verbose "$tempdir/alpha16.tiff" | grep --quiet '^ tiff:photometric: RGB$'
|
identify -verbose "$tempdir/alpha16.tiff" | grep --quiet '^ tiff:photometric: RGB$'
|
||||||
|
|
||||||
img2pdf "$tempdir/alpha16.tiff" /dev/null && rc=$? || rc=$?
|
for engine in $available_engines; do
|
||||||
|
img2pdf $engine "$tempdir/alpha16.tiff" /dev/null && rc=$? || rc=$?
|
||||||
if [ "$rc" -eq 0 ]; then
|
if [ "$rc" -eq 0 ]; then
|
||||||
echo needs to fail here
|
echo needs to fail here
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
rm "$tempdir/alpha16.tiff"
|
rm "$tempdir/alpha16.tiff"
|
||||||
j=$((j+1))
|
j=$((j+1))
|
||||||
|
@ -1020,7 +1087,8 @@ identify -verbose "$tempdir/gray1.tiff" | grep --quiet '^ tiff:alpha: unspeci
|
||||||
identify -verbose "$tempdir/gray1.tiff" | grep --quiet '^ tiff:endian: lsb$'
|
identify -verbose "$tempdir/gray1.tiff" | grep --quiet '^ tiff:endian: lsb$'
|
||||||
identify -verbose "$tempdir/gray1.tiff" | grep --quiet '^ tiff:photometric: min-is-black$'
|
identify -verbose "$tempdir/gray1.tiff" | grep --quiet '^ tiff:photometric: min-is-black$'
|
||||||
|
|
||||||
img2pdf "$tempdir/gray1.tiff" "$tempdir/out.pdf"
|
for engine in $available_engines; do
|
||||||
|
img2pdf $engine "$tempdir/gray1.tiff" "$tempdir/out.pdf"
|
||||||
|
|
||||||
compare_rendered "$tempdir/out.pdf" "$tempdir/gray1.png" pnggray
|
compare_rendered "$tempdir/out.pdf" "$tempdir/gray1.png" pnggray
|
||||||
|
|
||||||
|
@ -1038,8 +1106,10 @@ Resources.XObject.Im0.Filter[0] == "/CCITTFaxDecode"
|
||||||
Resources.XObject.Im0.Height == 60
|
Resources.XObject.Im0.Height == 60
|
||||||
Resources.XObject.Im0.Width == 60
|
Resources.XObject.Im0.Width == 60
|
||||||
END
|
END
|
||||||
|
rm "$tempdir/out.pdf"
|
||||||
|
done
|
||||||
|
|
||||||
rm "$tempdir/gray1.tiff" "$tempdir/out.pdf"
|
rm "$tempdir/gray1.tiff"
|
||||||
j=$((j+1))
|
j=$((j+1))
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
@ -1061,7 +1131,8 @@ for i in 2 4 8; do
|
||||||
identify -verbose "$tempdir/gray$i.tiff" | grep --quiet '^ tiff:endian: lsb$'
|
identify -verbose "$tempdir/gray$i.tiff" | grep --quiet '^ tiff:endian: lsb$'
|
||||||
identify -verbose "$tempdir/gray$i.tiff" | grep --quiet '^ tiff:photometric: min-is-black$'
|
identify -verbose "$tempdir/gray$i.tiff" | grep --quiet '^ tiff:photometric: min-is-black$'
|
||||||
|
|
||||||
img2pdf "$tempdir/gray$i.tiff" "$tempdir/out.pdf"
|
for engine in $available_engines; do
|
||||||
|
img2pdf $engine "$tempdir/gray$i.tiff" "$tempdir/out.pdf"
|
||||||
|
|
||||||
compare_rendered "$tempdir/out.pdf" "$tempdir/gray$i.png" pnggray
|
compare_rendered "$tempdir/out.pdf" "$tempdir/gray$i.png" pnggray
|
||||||
|
|
||||||
|
@ -1079,8 +1150,10 @@ Resources.XObject.Im0.Filter == "/FlateDecode"
|
||||||
Resources.XObject.Im0.Height == 60
|
Resources.XObject.Im0.Height == 60
|
||||||
Resources.XObject.Im0.Width == 60
|
Resources.XObject.Im0.Width == 60
|
||||||
END
|
END
|
||||||
|
rm "$tempdir/out.pdf"
|
||||||
|
done
|
||||||
|
|
||||||
rm "$tempdir/gray$i.tiff" "$tempdir/out.pdf"
|
rm "$tempdir/gray$i.tiff"
|
||||||
j=$((j+1))
|
j=$((j+1))
|
||||||
done
|
done
|
||||||
|
|
||||||
|
@ -1102,11 +1175,13 @@ identify -verbose "$tempdir/gray16.tiff" | grep --quiet '^ tiff:alpha: unspec
|
||||||
identify -verbose "$tempdir/gray16.tiff" | grep --quiet '^ tiff:endian: lsb$'
|
identify -verbose "$tempdir/gray16.tiff" | grep --quiet '^ tiff:endian: lsb$'
|
||||||
identify -verbose "$tempdir/gray16.tiff" | grep --quiet '^ tiff:photometric: min-is-black$'
|
identify -verbose "$tempdir/gray16.tiff" | grep --quiet '^ tiff:photometric: min-is-black$'
|
||||||
|
|
||||||
img2pdf "$tempdir/gray16.tiff" /dev/null && rc=$? || rc=$?
|
for engine in $available_engines; do
|
||||||
|
img2pdf $engine "$tempdir/gray16.tiff" /dev/null && rc=$? || rc=$?
|
||||||
if [ "$rc" -eq 0 ]; then
|
if [ "$rc" -eq 0 ]; then
|
||||||
echo needs to fail here
|
echo needs to fail here
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
rm "$tempdir/gray16.tiff"
|
rm "$tempdir/gray16.tiff"
|
||||||
j=$((j+1))
|
j=$((j+1))
|
||||||
|
@ -1143,7 +1218,8 @@ identify -verbose "$tempdir/multipage.tiff[1]" | grep --quiet '^ tiff:endian:
|
||||||
identify -verbose "$tempdir/multipage.tiff[1]" | grep --quiet '^ tiff:photometric: RGB$'
|
identify -verbose "$tempdir/multipage.tiff[1]" | grep --quiet '^ tiff:photometric: RGB$'
|
||||||
identify -verbose "$tempdir/multipage.tiff[1]" | grep --quiet '^ Scene: 1$'
|
identify -verbose "$tempdir/multipage.tiff[1]" | grep --quiet '^ Scene: 1$'
|
||||||
|
|
||||||
img2pdf "$tempdir/multipage.tiff" "$tempdir/out.pdf"
|
for engine in $available_engines; do
|
||||||
|
img2pdf $engine "$tempdir/multipage.tiff" "$tempdir/out.pdf"
|
||||||
|
|
||||||
if [ "$(pdfinfo "$tempdir/out.pdf" | awk '/Pages:/ {print $2}')" != 2 ]; then
|
if [ "$(pdfinfo "$tempdir/out.pdf" | awk '/Pages:/ {print $2}')" != 2 ]; then
|
||||||
echo "pdf does not have 2 pages"
|
echo "pdf does not have 2 pages"
|
||||||
|
@ -1172,6 +1248,7 @@ END
|
||||||
|
|
||||||
rm "$tempdir/page-$page.pdf"
|
rm "$tempdir/page-$page.pdf"
|
||||||
done
|
done
|
||||||
|
done
|
||||||
|
|
||||||
rm "$tempdir/multipage.tiff"
|
rm "$tempdir/multipage.tiff"
|
||||||
j=$((j+1))
|
j=$((j+1))
|
||||||
|
@ -1205,7 +1282,11 @@ for i in 1 2 4 8; do
|
||||||
identify -verbose "$tempdir/palette$i.tiff" | grep --quiet '^ tiff:endian: lsb$'
|
identify -verbose "$tempdir/palette$i.tiff" | grep --quiet '^ tiff:endian: lsb$'
|
||||||
identify -verbose "$tempdir/palette$i.tiff" | grep --quiet '^ tiff:photometric: palette$'
|
identify -verbose "$tempdir/palette$i.tiff" | grep --quiet '^ tiff:photometric: palette$'
|
||||||
|
|
||||||
img2pdf "$tempdir/palette$i.tiff" "$tempdir/out.pdf"
|
for engine in $available_engines; do
|
||||||
|
if [ $engine = "pdfrw" ]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
img2pdf $engine "$tempdir/palette$i.tiff" "$tempdir/out.pdf"
|
||||||
|
|
||||||
compare_rendered "$tempdir/out.pdf" "$tempdir/palette$i.png"
|
compare_rendered "$tempdir/out.pdf" "$tempdir/palette$i.png"
|
||||||
|
|
||||||
|
@ -1225,6 +1306,7 @@ Resources.XObject.Im0.Width == 60
|
||||||
END
|
END
|
||||||
|
|
||||||
rm "$tempdir/out.pdf"
|
rm "$tempdir/out.pdf"
|
||||||
|
done
|
||||||
|
|
||||||
rm "$tempdir/palette$i.tiff"
|
rm "$tempdir/palette$i.tiff"
|
||||||
j=$((j+1))
|
j=$((j+1))
|
||||||
|
@ -1253,11 +1335,13 @@ for i in 12 14 16; do
|
||||||
identify -verbose "$tempdir/normal$i.tiff" | grep --quiet '^ tiff:endian: lsb$'
|
identify -verbose "$tempdir/normal$i.tiff" | grep --quiet '^ tiff:endian: lsb$'
|
||||||
identify -verbose "$tempdir/normal$i.tiff" | grep --quiet '^ tiff:photometric: RGB$'
|
identify -verbose "$tempdir/normal$i.tiff" | grep --quiet '^ tiff:photometric: RGB$'
|
||||||
|
|
||||||
img2pdf "$tempdir/normal$i.tiff" /dev/null && rc=$? || rc=$?
|
for engine in $available_engines; do
|
||||||
|
img2pdf $engine "$tempdir/normal$i.tiff" /dev/null && rc=$? || rc=$?
|
||||||
if [ "$rc" -eq 0 ]; then
|
if [ "$rc" -eq 0 ]; then
|
||||||
echo needs to fail here
|
echo needs to fail here
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
rm "$tempdir/normal$i.tiff"
|
rm "$tempdir/normal$i.tiff"
|
||||||
j=$((j+1))
|
j=$((j+1))
|
||||||
|
@ -1280,7 +1364,8 @@ identify -verbose "$tempdir/group4.tiff" | grep --quiet 'Compression: Group4'
|
||||||
identify -verbose "$tempdir/group4.tiff" | grep --quiet 'tiff:endian: lsb'
|
identify -verbose "$tempdir/group4.tiff" | grep --quiet 'tiff:endian: lsb'
|
||||||
identify -verbose "$tempdir/group4.tiff" | grep --quiet 'tiff:photometric: min-is-white'
|
identify -verbose "$tempdir/group4.tiff" | grep --quiet 'tiff:photometric: min-is-white'
|
||||||
|
|
||||||
img2pdf "$tempdir/group4.tiff" "$tempdir/out.pdf"
|
for engine in $available_engines; do
|
||||||
|
img2pdf $engine "$tempdir/group4.tiff" "$tempdir/out.pdf"
|
||||||
|
|
||||||
compare_rendered "$tempdir/out.pdf" "$tempdir/group4.tiff" pnggray
|
compare_rendered "$tempdir/out.pdf" "$tempdir/group4.tiff" pnggray
|
||||||
|
|
||||||
|
@ -1298,8 +1383,10 @@ Resources.XObject.Im0.Filter[0] == "/CCITTFaxDecode"
|
||||||
Resources.XObject.Im0.Height == 60
|
Resources.XObject.Im0.Height == 60
|
||||||
Resources.XObject.Im0.Width == 60
|
Resources.XObject.Im0.Width == 60
|
||||||
END
|
END
|
||||||
|
rm "$tempdir/out.pdf"
|
||||||
|
done
|
||||||
|
|
||||||
rm "$tempdir/group4.tiff" "$tempdir/out.pdf"
|
rm "$tempdir/group4.tiff"
|
||||||
j=$((j+1))
|
j=$((j+1))
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
@ -1319,7 +1406,8 @@ identify -verbose "$tempdir/group4.tiff" | grep --quiet 'Compression: Group4'
|
||||||
identify -verbose "$tempdir/group4.tiff" | grep --quiet 'tiff:endian: msb'
|
identify -verbose "$tempdir/group4.tiff" | grep --quiet 'tiff:endian: msb'
|
||||||
identify -verbose "$tempdir/group4.tiff" | grep --quiet 'tiff:photometric: min-is-white'
|
identify -verbose "$tempdir/group4.tiff" | grep --quiet 'tiff:photometric: min-is-white'
|
||||||
|
|
||||||
img2pdf "$tempdir/group4.tiff" "$tempdir/out.pdf"
|
for engine in $available_engines; do
|
||||||
|
img2pdf $engine "$tempdir/group4.tiff" "$tempdir/out.pdf"
|
||||||
|
|
||||||
compare_rendered "$tempdir/out.pdf" "$tempdir/group4.tiff" pnggray
|
compare_rendered "$tempdir/out.pdf" "$tempdir/group4.tiff" pnggray
|
||||||
|
|
||||||
|
@ -1337,8 +1425,10 @@ Resources.XObject.Im0.Filter[0] == "/CCITTFaxDecode"
|
||||||
Resources.XObject.Im0.Height == 60
|
Resources.XObject.Im0.Height == 60
|
||||||
Resources.XObject.Im0.Width == 60
|
Resources.XObject.Im0.Width == 60
|
||||||
END
|
END
|
||||||
|
rm "$tempdir/out.pdf"
|
||||||
|
done
|
||||||
|
|
||||||
rm "$tempdir/group4.tiff" "$tempdir/out.pdf"
|
rm "$tempdir/group4.tiff"
|
||||||
j=$((j+1))
|
j=$((j+1))
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
@ -1358,7 +1448,8 @@ identify -verbose "$tempdir/group4.tiff" | grep --quiet 'Compression: Group4'
|
||||||
identify -verbose "$tempdir/group4.tiff" | grep --quiet 'tiff:endian: msb'
|
identify -verbose "$tempdir/group4.tiff" | grep --quiet 'tiff:endian: msb'
|
||||||
identify -verbose "$tempdir/group4.tiff" | grep --quiet 'tiff:photometric: min-is-white'
|
identify -verbose "$tempdir/group4.tiff" | grep --quiet 'tiff:photometric: min-is-white'
|
||||||
|
|
||||||
img2pdf "$tempdir/group4.tiff" "$tempdir/out.pdf"
|
for engine in $available_engines; do
|
||||||
|
img2pdf $engine "$tempdir/group4.tiff" "$tempdir/out.pdf"
|
||||||
|
|
||||||
compare_rendered "$tempdir/out.pdf" "$tempdir/group4.tiff" pnggray
|
compare_rendered "$tempdir/out.pdf" "$tempdir/group4.tiff" pnggray
|
||||||
|
|
||||||
|
@ -1376,8 +1467,10 @@ Resources.XObject.Im0.Filter[0] == "/CCITTFaxDecode"
|
||||||
Resources.XObject.Im0.Height == 60
|
Resources.XObject.Im0.Height == 60
|
||||||
Resources.XObject.Im0.Width == 60
|
Resources.XObject.Im0.Width == 60
|
||||||
END
|
END
|
||||||
|
rm "$tempdir/out.pdf"
|
||||||
|
done
|
||||||
|
|
||||||
rm "$tempdir/group4.tiff" "$tempdir/out.pdf"
|
rm "$tempdir/group4.tiff"
|
||||||
j=$((j+1))
|
j=$((j+1))
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
@ -1402,7 +1495,8 @@ identify -verbose "$tempdir/group4.tiff" | grep --quiet 'Compression: Group4'
|
||||||
identify -verbose "$tempdir/group4.tiff" | grep --quiet 'tiff:endian: lsb'
|
identify -verbose "$tempdir/group4.tiff" | grep --quiet 'tiff:endian: lsb'
|
||||||
identify -verbose "$tempdir/group4.tiff" | grep --quiet 'tiff:photometric: min-is-black'
|
identify -verbose "$tempdir/group4.tiff" | grep --quiet 'tiff:photometric: min-is-black'
|
||||||
|
|
||||||
img2pdf "$tempdir/group4.tiff" "$tempdir/out.pdf"
|
for engine in $available_engines; do
|
||||||
|
img2pdf $engine "$tempdir/group4.tiff" "$tempdir/out.pdf"
|
||||||
|
|
||||||
compare_rendered "$tempdir/out.pdf" "$tempdir/group4.tiff" pnggray
|
compare_rendered "$tempdir/out.pdf" "$tempdir/group4.tiff" pnggray
|
||||||
|
|
||||||
|
@ -1420,8 +1514,10 @@ Resources.XObject.Im0.Filter[0] == "/CCITTFaxDecode"
|
||||||
Resources.XObject.Im0.Height == 60
|
Resources.XObject.Im0.Height == 60
|
||||||
Resources.XObject.Im0.Width == 60
|
Resources.XObject.Im0.Width == 60
|
||||||
END
|
END
|
||||||
|
rm "$tempdir/out.pdf"
|
||||||
|
done
|
||||||
|
|
||||||
rm "$tempdir/group4.tiff" "$tempdir/out.pdf"
|
rm "$tempdir/group4.tiff"
|
||||||
j=$((j+1))
|
j=$((j+1))
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
@ -1447,7 +1543,8 @@ identify -verbose "$tempdir/group4.tiff" | grep --quiet 'Compression: Group4'
|
||||||
identify -verbose "$tempdir/group4.tiff" | grep --quiet 'tiff:endian: lsb'
|
identify -verbose "$tempdir/group4.tiff" | grep --quiet 'tiff:endian: lsb'
|
||||||
identify -verbose "$tempdir/group4.tiff" | grep --quiet 'tiff:photometric: min-is-white'
|
identify -verbose "$tempdir/group4.tiff" | grep --quiet 'tiff:photometric: min-is-white'
|
||||||
|
|
||||||
img2pdf "$tempdir/group4.tiff" "$tempdir/out.pdf"
|
for engine in $available_engines; do
|
||||||
|
img2pdf $engine "$tempdir/group4.tiff" "$tempdir/out.pdf"
|
||||||
|
|
||||||
compare_rendered "$tempdir/out.pdf" "$tempdir/group4.tiff" pnggray
|
compare_rendered "$tempdir/out.pdf" "$tempdir/group4.tiff" pnggray
|
||||||
|
|
||||||
|
@ -1465,8 +1562,10 @@ Resources.XObject.Im0.Filter[0] == "/CCITTFaxDecode"
|
||||||
Resources.XObject.Im0.Height == 60
|
Resources.XObject.Im0.Height == 60
|
||||||
Resources.XObject.Im0.Width == 60
|
Resources.XObject.Im0.Width == 60
|
||||||
END
|
END
|
||||||
|
rm "$tempdir/out.pdf"
|
||||||
|
done
|
||||||
|
|
||||||
rm "$tempdir/group4.tiff" "$tempdir/out.pdf"
|
rm "$tempdir/group4.tiff"
|
||||||
j=$((j+1))
|
j=$((j+1))
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
@ -1489,7 +1588,8 @@ identify -verbose "$tempdir/group4.tiff" | grep --quiet 'Compression: Group4'
|
||||||
identify -verbose "$tempdir/group4.tiff" | grep --quiet 'tiff:endian: lsb'
|
identify -verbose "$tempdir/group4.tiff" | grep --quiet 'tiff:endian: lsb'
|
||||||
identify -verbose "$tempdir/group4.tiff" | grep --quiet 'tiff:photometric: min-is-white'
|
identify -verbose "$tempdir/group4.tiff" | grep --quiet 'tiff:photometric: min-is-white'
|
||||||
|
|
||||||
img2pdf "$tempdir/group4.tiff" "$tempdir/out.pdf"
|
for engine in $available_engines; do
|
||||||
|
img2pdf $engine "$tempdir/group4.tiff" "$tempdir/out.pdf"
|
||||||
|
|
||||||
compare_rendered "$tempdir/out.pdf" "$tempdir/group4.tiff" pnggray
|
compare_rendered "$tempdir/out.pdf" "$tempdir/group4.tiff" pnggray
|
||||||
|
|
||||||
|
@ -1507,8 +1607,10 @@ Resources.XObject.Im0.Filter[0] == "/CCITTFaxDecode"
|
||||||
Resources.XObject.Im0.Height == 60
|
Resources.XObject.Im0.Height == 60
|
||||||
Resources.XObject.Im0.Width == 60
|
Resources.XObject.Im0.Width == 60
|
||||||
END
|
END
|
||||||
|
rm "$tempdir/out.pdf"
|
||||||
|
done
|
||||||
|
|
||||||
rm "$tempdir/group4.tiff" "$tempdir/out.pdf"
|
rm "$tempdir/group4.tiff"
|
||||||
j=$((j+1))
|
j=$((j+1))
|
||||||
|
|
||||||
rm "$tempdir/alpha.png" "$tempdir/normal.png" "$tempdir/inverse.png" "$tempdir/palette1.png" "$tempdir/palette2.png" "$tempdir/palette4.png" "$tempdir/palette8.png" "$tempdir/gray8.png" "$tempdir/normal16.png" "$tempdir/gray16.png" "$tempdir/gray4.png" "$tempdir/gray2.png" "$tempdir/gray1.png"
|
rm "$tempdir/alpha.png" "$tempdir/normal.png" "$tempdir/inverse.png" "$tempdir/palette1.png" "$tempdir/palette2.png" "$tempdir/palette4.png" "$tempdir/palette8.png" "$tempdir/gray8.png" "$tempdir/normal16.png" "$tempdir/gray16.png" "$tempdir/gray4.png" "$tempdir/gray2.png" "$tempdir/gray1.png"
|
||||||
|
|
Loading…
Reference in a new issue