pdf2json 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.markdown +9 -0
- data/bin/.gitkeep +0 -0
- data/ext/extconf.rb +30 -0
- data/lib/pdf2json.rb +8 -0
- data/pdf2json-0.52-source/AUTHORS +24 -0
- data/pdf2json-0.52-source/CHANGES +11 -0
- data/pdf2json-0.52-source/Makefile +84 -0
- data/pdf2json-0.52-source/Makefile.in +84 -0
- data/pdf2json-0.52-source/aclocal.m4 +274 -0
- data/pdf2json-0.52-source/aconf-win32.h +86 -0
- data/pdf2json-0.52-source/aconf.h +42 -0
- data/pdf2json-0.52-source/aconf.h.in +41 -0
- data/pdf2json-0.52-source/autom4te.cache/output.0 +6908 -0
- data/pdf2json-0.52-source/autom4te.cache/requests +76 -0
- data/pdf2json-0.52-source/autom4te.cache/traces.0 +466 -0
- data/pdf2json-0.52-source/config.log +1259 -0
- data/pdf2json-0.52-source/config.status +1050 -0
- data/pdf2json-0.52-source/configure +6908 -0
- data/pdf2json-0.52-source/configure.ac +93 -0
- data/pdf2json-0.52-source/doc/pdffonts.1 +130 -0
- data/pdf2json-0.52-source/doc/pdffonts.cat +107 -0
- data/pdf2json-0.52-source/doc/pdffonts.hlp +117 -0
- data/pdf2json-0.52-source/doc/pdfimages.1 +102 -0
- data/pdf2json-0.52-source/doc/pdfimages.cat +92 -0
- data/pdf2json-0.52-source/doc/pdfimages.hlp +101 -0
- data/pdf2json-0.52-source/doc/pdfinfo.1 +158 -0
- data/pdf2json-0.52-source/doc/pdfinfo.cat +119 -0
- data/pdf2json-0.52-source/doc/pdfinfo.hlp +129 -0
- data/pdf2json-0.52-source/doc/pdftoppm.1 +115 -0
- data/pdf2json-0.52-source/doc/pdftoppm.cat +105 -0
- data/pdf2json-0.52-source/doc/pdftoppm.hlp +114 -0
- data/pdf2json-0.52-source/doc/pdftops.1 +229 -0
- data/pdf2json-0.52-source/doc/pdftops.cat +221 -0
- data/pdf2json-0.52-source/doc/pdftops.hlp +231 -0
- data/pdf2json-0.52-source/doc/pdftotext.1 +137 -0
- data/pdf2json-0.52-source/doc/pdftotext.cat +120 -0
- data/pdf2json-0.52-source/doc/pdftotext.hlp +133 -0
- data/pdf2json-0.52-source/doc/sample-xpdfrc +91 -0
- data/pdf2json-0.52-source/doc/xpdf.1 +513 -0
- data/pdf2json-0.52-source/doc/xpdf.cat +476 -0
- data/pdf2json-0.52-source/doc/xpdf.hlp +489 -0
- data/pdf2json-0.52-source/doc/xpdfrc.5 +480 -0
- data/pdf2json-0.52-source/doc/xpdfrc.cat +474 -0
- data/pdf2json-0.52-source/doc/xpdfrc.hlp +479 -0
- data/pdf2json-0.52-source/fofi/.DS_Store +0 -0
- data/pdf2json-0.52-source/fofi/FoFiBase.cc +156 -0
- data/pdf2json-0.52-source/fofi/FoFiBase.h +57 -0
- data/pdf2json-0.52-source/fofi/FoFiBase.o +0 -0
- data/pdf2json-0.52-source/fofi/FoFiEncodings.cc +994 -0
- data/pdf2json-0.52-source/fofi/FoFiEncodings.h +36 -0
- data/pdf2json-0.52-source/fofi/FoFiEncodings.o +0 -0
- data/pdf2json-0.52-source/fofi/FoFiTrueType.cc +2027 -0
- data/pdf2json-0.52-source/fofi/FoFiTrueType.h +174 -0
- data/pdf2json-0.52-source/fofi/FoFiTrueType.o +0 -0
- data/pdf2json-0.52-source/fofi/FoFiType1.cc +252 -0
- data/pdf2json-0.52-source/fofi/FoFiType1.h +59 -0
- data/pdf2json-0.52-source/fofi/FoFiType1.o +0 -0
- data/pdf2json-0.52-source/fofi/FoFiType1C.cc +2603 -0
- data/pdf2json-0.52-source/fofi/FoFiType1C.h +233 -0
- data/pdf2json-0.52-source/fofi/FoFiType1C.o +0 -0
- data/pdf2json-0.52-source/fofi/Makefile +70 -0
- data/pdf2json-0.52-source/fofi/Makefile.dep +0 -0
- data/pdf2json-0.52-source/fofi/Makefile.in +70 -0
- data/pdf2json-0.52-source/fofi/libfofi.a +0 -0
- data/pdf2json-0.52-source/fofi/vms_make.com +0 -0
- data/pdf2json-0.52-source/freetype.win32/.DS_Store +0 -0
- data/pdf2json-0.52-source/freetype.win32/include/.DS_Store +0 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/config/ftconfig.h +528 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/config/ftheader.h +780 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/config/ftmodule.h +32 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/config/ftoption.h +733 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/config/ftstdlib.h +173 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/freetype.h +3919 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftadvanc.h +179 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftbbox.h +94 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftbdf.h +209 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftbitmap.h +227 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftcache.h +1128 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftchapters.h +103 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftcid.h +166 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/fterrdef.h +244 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/fterrors.h +206 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftgasp.h +120 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftglyph.h +613 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftgxval.h +358 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftgzip.h +102 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftimage.h +1313 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftincrem.h +353 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftlcdfil.h +213 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftlist.h +277 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftlzw.h +99 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftmac.h +274 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftmm.h +378 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftmodapi.h +483 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftmoderr.h +155 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftotval.h +203 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftoutln.h +537 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftpfr.h +172 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftrender.h +230 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftsizes.h +159 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftsnames.h +200 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftstroke.h +716 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftsynth.h +80 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftsystem.h +347 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/fttrigon.h +350 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/fttypes.h +588 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftwinfnt.h +274 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ftxf86.h +83 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/autohint.h +231 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/ftcalc.h +179 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/ftdebug.h +250 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/ftdriver.h +422 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/ftgloadr.h +168 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/ftmemory.h +380 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/ftobjs.h +1428 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/ftpic.h +67 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/ftrfork.h +196 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/ftserv.h +620 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/ftstream.h +539 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/fttrace.h +139 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/ftvalid.h +150 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/internal.h +51 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/pcftypes.h +56 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/psaux.h +873 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/pshints.h +712 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svbdf.h +77 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svcid.h +83 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svgldict.h +82 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svgxval.h +72 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svkern.h +51 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svmm.h +104 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svotval.h +55 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svpfr.h +66 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svpostnm.h +79 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svpscmap.h +164 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svpsinfo.h +92 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svsfnt.h +102 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svttcmap.h +106 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svtteng.h +53 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svttglyf.h +67 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svwinfnt.h +50 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/services/svxf86nm.h +55 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/sfnt.h +897 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/t1types.h +270 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/internal/tttypes.h +1543 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/t1tables.h +504 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ttnameid.h +1247 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/tttables.h +759 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/tttags.h +107 -0
- data/pdf2json-0.52-source/freetype.win32/include/freetype/ttunpat.h +59 -0
- data/pdf2json-0.52-source/freetype.win32/include/ft2build.h +39 -0
- data/pdf2json-0.52-source/freetype.win32/lib/freetype_a.lib +0 -0
- data/pdf2json-0.52-source/goo/.DS_Store +0 -0
- data/pdf2json-0.52-source/goo/FixedPoint.cc +118 -0
- data/pdf2json-0.52-source/goo/FixedPoint.h +155 -0
- data/pdf2json-0.52-source/goo/FixedPoint.o +0 -0
- data/pdf2json-0.52-source/goo/GHash.cc +380 -0
- data/pdf2json-0.52-source/goo/GHash.h +78 -0
- data/pdf2json-0.52-source/goo/GHash.o +0 -0
- data/pdf2json-0.52-source/goo/GList.cc +97 -0
- data/pdf2json-0.52-source/goo/GList.h +96 -0
- data/pdf2json-0.52-source/goo/GList.o +0 -0
- data/pdf2json-0.52-source/goo/GMutex.h +49 -0
- data/pdf2json-0.52-source/goo/GString.cc +724 -0
- data/pdf2json-0.52-source/goo/GString.cc.fixed +718 -0
- data/pdf2json-0.52-source/goo/GString.h +136 -0
- data/pdf2json-0.52-source/goo/GString.o +0 -0
- data/pdf2json-0.52-source/goo/ImgWriter.o +0 -0
- data/pdf2json-0.52-source/goo/JpegWriter.o +0 -0
- data/pdf2json-0.52-source/goo/Makefile +72 -0
- data/pdf2json-0.52-source/goo/Makefile.dep +0 -0
- data/pdf2json-0.52-source/goo/Makefile.in +72 -0
- data/pdf2json-0.52-source/goo/PNGWriter.o +0 -0
- data/pdf2json-0.52-source/goo/gfile.cc +731 -0
- data/pdf2json-0.52-source/goo/gfile.h +138 -0
- data/pdf2json-0.52-source/goo/gfile.o +0 -0
- data/pdf2json-0.52-source/goo/gmem.cc +264 -0
- data/pdf2json-0.52-source/goo/gmem.h +79 -0
- data/pdf2json-0.52-source/goo/gmem.o +0 -0
- data/pdf2json-0.52-source/goo/gmempp.cc +32 -0
- data/pdf2json-0.52-source/goo/gmempp.o +0 -0
- data/pdf2json-0.52-source/goo/gtypes.h +29 -0
- data/pdf2json-0.52-source/goo/libGoo.a +0 -0
- data/pdf2json-0.52-source/goo/parseargs.c +190 -0
- data/pdf2json-0.52-source/goo/parseargs.h +71 -0
- data/pdf2json-0.52-source/goo/parseargs.o +0 -0
- data/pdf2json-0.52-source/goo/vms_directory.c +214 -0
- data/pdf2json-0.52-source/goo/vms_dirent.h +67 -0
- data/pdf2json-0.52-source/goo/vms_make.com +82 -0
- data/pdf2json-0.52-source/goo/vms_sys_dirent.h +54 -0
- data/pdf2json-0.52-source/goo/vms_unix_time.h +102 -0
- data/pdf2json-0.52-source/goo/vms_unix_times.c +42 -0
- data/pdf2json-0.52-source/goo/vms_unlink.c +22 -0
- data/pdf2json-0.52-source/ms_make.bat +199 -0
- data/pdf2json-0.52-source/splash/.DS_Store +0 -0
- data/pdf2json-0.52-source/splash/Makefile +103 -0
- data/pdf2json-0.52-source/splash/Makefile.dep +0 -0
- data/pdf2json-0.52-source/splash/Makefile.in +103 -0
- data/pdf2json-0.52-source/splash/Splash.cc +3310 -0
- data/pdf2json-0.52-source/splash/Splash.h +293 -0
- data/pdf2json-0.52-source/splash/Splash.o +0 -0
- data/pdf2json-0.52-source/splash/SplashBitmap.cc +188 -0
- data/pdf2json-0.52-source/splash/SplashBitmap.h +64 -0
- data/pdf2json-0.52-source/splash/SplashBitmap.o +0 -0
- data/pdf2json-0.52-source/splash/SplashClip.cc +382 -0
- data/pdf2json-0.52-source/splash/SplashClip.h +107 -0
- data/pdf2json-0.52-source/splash/SplashClip.o +0 -0
- data/pdf2json-0.52-source/splash/SplashErrorCodes.h +32 -0
- data/pdf2json-0.52-source/splash/SplashFTFont.cc +357 -0
- data/pdf2json-0.52-source/splash/SplashFTFont.h +58 -0
- data/pdf2json-0.52-source/splash/SplashFTFont.o +0 -0
- data/pdf2json-0.52-source/splash/SplashFTFontEngine.cc +179 -0
- data/pdf2json-0.52-source/splash/SplashFTFontEngine.h +65 -0
- data/pdf2json-0.52-source/splash/SplashFTFontEngine.o +0 -0
- data/pdf2json-0.52-source/splash/SplashFTFontFile.cc +114 -0
- data/pdf2json-0.52-source/splash/SplashFTFontFile.h +73 -0
- data/pdf2json-0.52-source/splash/SplashFTFontFile.o +0 -0
- data/pdf2json-0.52-source/splash/SplashFont.cc +176 -0
- data/pdf2json-0.52-source/splash/SplashFont.h +104 -0
- data/pdf2json-0.52-source/splash/SplashFont.o +0 -0
- data/pdf2json-0.52-source/splash/SplashFontEngine.cc +317 -0
- data/pdf2json-0.52-source/splash/SplashFontEngine.h +91 -0
- data/pdf2json-0.52-source/splash/SplashFontEngine.o +0 -0
- data/pdf2json-0.52-source/splash/SplashFontFile.cc +55 -0
- data/pdf2json-0.52-source/splash/SplashFontFile.h +60 -0
- data/pdf2json-0.52-source/splash/SplashFontFile.o +0 -0
- data/pdf2json-0.52-source/splash/SplashFontFileID.cc +23 -0
- data/pdf2json-0.52-source/splash/SplashFontFileID.h +30 -0
- data/pdf2json-0.52-source/splash/SplashFontFileID.o +0 -0
- data/pdf2json-0.52-source/splash/SplashGlyphBitmap.h +26 -0
- data/pdf2json-0.52-source/splash/SplashMath.h +89 -0
- data/pdf2json-0.52-source/splash/SplashPath.cc +184 -0
- data/pdf2json-0.52-source/splash/SplashPath.h +121 -0
- data/pdf2json-0.52-source/splash/SplashPath.o +0 -0
- data/pdf2json-0.52-source/splash/SplashPattern.cc +40 -0
- data/pdf2json-0.52-source/splash/SplashPattern.h +65 -0
- data/pdf2json-0.52-source/splash/SplashPattern.o +0 -0
- data/pdf2json-0.52-source/splash/SplashScreen.cc +383 -0
- data/pdf2json-0.52-source/splash/SplashScreen.h +56 -0
- data/pdf2json-0.52-source/splash/SplashScreen.o +0 -0
- data/pdf2json-0.52-source/splash/SplashState.cc +165 -0
- data/pdf2json-0.52-source/splash/SplashState.h +103 -0
- data/pdf2json-0.52-source/splash/SplashState.o +0 -0
- data/pdf2json-0.52-source/splash/SplashT1Font.cc +287 -0
- data/pdf2json-0.52-source/splash/SplashT1Font.h +57 -0
- data/pdf2json-0.52-source/splash/SplashT1Font.o +0 -0
- data/pdf2json-0.52-source/splash/SplashT1FontEngine.cc +124 -0
- data/pdf2json-0.52-source/splash/SplashT1FontEngine.h +53 -0
- data/pdf2json-0.52-source/splash/SplashT1FontEngine.o +0 -0
- data/pdf2json-0.52-source/splash/SplashT1FontFile.cc +97 -0
- data/pdf2json-0.52-source/splash/SplashT1FontFile.h +58 -0
- data/pdf2json-0.52-source/splash/SplashT1FontFile.o +0 -0
- data/pdf2json-0.52-source/splash/SplashTypes.h +132 -0
- data/pdf2json-0.52-source/splash/SplashXPath.cc +438 -0
- data/pdf2json-0.52-source/splash/SplashXPath.h +100 -0
- data/pdf2json-0.52-source/splash/SplashXPath.o +0 -0
- data/pdf2json-0.52-source/splash/SplashXPathScanner.cc +428 -0
- data/pdf2json-0.52-source/splash/SplashXPathScanner.h +87 -0
- data/pdf2json-0.52-source/splash/SplashXPathScanner.o +0 -0
- data/pdf2json-0.52-source/splash/libsplash.a +0 -0
- data/pdf2json-0.52-source/splash/vms_make.com +0 -0
- data/pdf2json-0.52-source/src/.DS_Store +0 -0
- data/pdf2json-0.52-source/src/GVector.h +101 -0
- data/pdf2json-0.52-source/src/ImgOutputDev.cc +1243 -0
- data/pdf2json-0.52-source/src/ImgOutputDev.h +307 -0
- data/pdf2json-0.52-source/src/ImgOutputDev.o +0 -0
- data/pdf2json-0.52-source/src/Makefile +68 -0
- data/pdf2json-0.52-source/src/Makefile.in +68 -0
- data/pdf2json-0.52-source/src/XmlFonts.cc +367 -0
- data/pdf2json-0.52-source/src/XmlFonts.h +91 -0
- data/pdf2json-0.52-source/src/XmlFonts.o +0 -0
- data/pdf2json-0.52-source/src/XmlLinks.cc +101 -0
- data/pdf2json-0.52-source/src/XmlLinks.h +54 -0
- data/pdf2json-0.52-source/src/XmlLinks.o +0 -0
- data/pdf2json-0.52-source/src/pdf2json +0 -0
- data/pdf2json-0.52-source/src/pdf2json.cc +343 -0
- data/pdf2json-0.52-source/src/pdf2json.o +0 -0
- data/pdf2json-0.52-source/src/pdf2xml.dtd +22 -0
- data/pdf2json-0.52-source/src/pdf2xmljson.dtd +9 -0
- data/pdf2json-0.52-source/xpdf/.DS_Store +0 -0
- data/pdf2json-0.52-source/xpdf/Annot.cc +1556 -0
- data/pdf2json-0.52-source/xpdf/Annot.h +142 -0
- data/pdf2json-0.52-source/xpdf/Annot.o +0 -0
- data/pdf2json-0.52-source/xpdf/Array.cc +73 -0
- data/pdf2json-0.52-source/xpdf/Array.h +58 -0
- data/pdf2json-0.52-source/xpdf/Array.o +0 -0
- data/pdf2json-0.52-source/xpdf/BuiltinFont.cc +65 -0
- data/pdf2json-0.52-source/xpdf/BuiltinFont.h +57 -0
- data/pdf2json-0.52-source/xpdf/BuiltinFont.o +0 -0
- data/pdf2json-0.52-source/xpdf/BuiltinFontTables.cc +4284 -0
- data/pdf2json-0.52-source/xpdf/BuiltinFontTables.h +23 -0
- data/pdf2json-0.52-source/xpdf/BuiltinFontTables.o +0 -0
- data/pdf2json-0.52-source/xpdf/CMap.cc +408 -0
- data/pdf2json-0.52-source/xpdf/CMap.h +102 -0
- data/pdf2json-0.52-source/xpdf/CMap.o +0 -0
- data/pdf2json-0.52-source/xpdf/Catalog.cc +374 -0
- data/pdf2json-0.52-source/xpdf/Catalog.h +97 -0
- data/pdf2json-0.52-source/xpdf/Catalog.o +0 -0
- data/pdf2json-0.52-source/xpdf/CharCodeToUnicode.cc +540 -0
- data/pdf2json-0.52-source/xpdf/CharCodeToUnicode.h +117 -0
- data/pdf2json-0.52-source/xpdf/CharCodeToUnicode.o +0 -0
- data/pdf2json-0.52-source/xpdf/CharTypes.h +24 -0
- data/pdf2json-0.52-source/xpdf/CompactFontTables.h +464 -0
- data/pdf2json-0.52-source/xpdf/CoreOutputDev.cc +61 -0
- data/pdf2json-0.52-source/xpdf/CoreOutputDev.h +61 -0
- data/pdf2json-0.52-source/xpdf/Decrypt.cc +776 -0
- data/pdf2json-0.52-source/xpdf/Decrypt.h +95 -0
- data/pdf2json-0.52-source/xpdf/Decrypt.o +0 -0
- data/pdf2json-0.52-source/xpdf/Dict.cc +95 -0
- data/pdf2json-0.52-source/xpdf/Dict.h +77 -0
- data/pdf2json-0.52-source/xpdf/Dict.o +0 -0
- data/pdf2json-0.52-source/xpdf/Error.cc +38 -0
- data/pdf2json-0.52-source/xpdf/Error.h +23 -0
- data/pdf2json-0.52-source/xpdf/Error.o +0 -0
- data/pdf2json-0.52-source/xpdf/ErrorCodes.h +36 -0
- data/pdf2json-0.52-source/xpdf/FontEncodingTables.cc +1824 -0
- data/pdf2json-0.52-source/xpdf/FontEncodingTables.h +20 -0
- data/pdf2json-0.52-source/xpdf/FontEncodingTables.o +0 -0
- data/pdf2json-0.52-source/xpdf/Function.cc +1573 -0
- data/pdf2json-0.52-source/xpdf/Function.h +229 -0
- data/pdf2json-0.52-source/xpdf/Function.o +0 -0
- data/pdf2json-0.52-source/xpdf/Gfx.cc +4187 -0
- data/pdf2json-0.52-source/xpdf/Gfx.h +312 -0
- data/pdf2json-0.52-source/xpdf/Gfx.o +0 -0
- data/pdf2json-0.52-source/xpdf/GfxFont.cc +1568 -0
- data/pdf2json-0.52-source/xpdf/GfxFont.h +320 -0
- data/pdf2json-0.52-source/xpdf/GfxFont.o +0 -0
- data/pdf2json-0.52-source/xpdf/GfxState.cc +4137 -0
- data/pdf2json-0.52-source/xpdf/GfxState.h +1244 -0
- data/pdf2json-0.52-source/xpdf/GfxState.o +0 -0
- data/pdf2json-0.52-source/xpdf/GlobalParams.cc +2924 -0
- data/pdf2json-0.52-source/xpdf/GlobalParams.cc.old +2908 -0
- data/pdf2json-0.52-source/xpdf/GlobalParams.h +466 -0
- data/pdf2json-0.52-source/xpdf/GlobalParams.h.old +463 -0
- data/pdf2json-0.52-source/xpdf/GlobalParams.o +0 -0
- data/pdf2json-0.52-source/xpdf/ImageOutputDev.cc +195 -0
- data/pdf2json-0.52-source/xpdf/ImageOutputDev.h +76 -0
- data/pdf2json-0.52-source/xpdf/ImageOutputDev.o +0 -0
- data/pdf2json-0.52-source/xpdf/JArithmeticDecoder.cc +322 -0
- data/pdf2json-0.52-source/xpdf/JArithmeticDecoder.h +109 -0
- data/pdf2json-0.52-source/xpdf/JArithmeticDecoder.o +0 -0
- data/pdf2json-0.52-source/xpdf/JBIG2Stream.cc +3413 -0
- data/pdf2json-0.52-source/xpdf/JBIG2Stream.h +145 -0
- data/pdf2json-0.52-source/xpdf/JBIG2Stream.o +0 -0
- data/pdf2json-0.52-source/xpdf/JPXStream.cc +3144 -0
- data/pdf2json-0.52-source/xpdf/JPXStream.h +351 -0
- data/pdf2json-0.52-source/xpdf/JPXStream.o +0 -0
- data/pdf2json-0.52-source/xpdf/Lexer.cc +485 -0
- data/pdf2json-0.52-source/xpdf/Lexer.h +80 -0
- data/pdf2json-0.52-source/xpdf/Lexer.o +0 -0
- data/pdf2json-0.52-source/xpdf/Link.cc +806 -0
- data/pdf2json-0.52-source/xpdf/Link.cc.old +784 -0
- data/pdf2json-0.52-source/xpdf/Link.h +415 -0
- data/pdf2json-0.52-source/xpdf/Link.h.old +369 -0
- data/pdf2json-0.52-source/xpdf/Link.o +0 -0
- data/pdf2json-0.52-source/xpdf/Makefile +232 -0
- data/pdf2json-0.52-source/xpdf/Makefile.dep +0 -0
- data/pdf2json-0.52-source/xpdf/Makefile.in +232 -0
- data/pdf2json-0.52-source/xpdf/NameToCharCode.cc +116 -0
- data/pdf2json-0.52-source/xpdf/NameToCharCode.h +42 -0
- data/pdf2json-0.52-source/xpdf/NameToCharCode.o +0 -0
- data/pdf2json-0.52-source/xpdf/NameToUnicodeTable.h +1097 -0
- data/pdf2json-0.52-source/xpdf/Object.cc +231 -0
- data/pdf2json-0.52-source/xpdf/Object.h +303 -0
- data/pdf2json-0.52-source/xpdf/Object.o +0 -0
- data/pdf2json-0.52-source/xpdf/Outline.cc +151 -0
- data/pdf2json-0.52-source/xpdf/Outline.h +76 -0
- data/pdf2json-0.52-source/xpdf/Outline.o +0 -0
- data/pdf2json-0.52-source/xpdf/OutputDev.cc +131 -0
- data/pdf2json-0.52-source/xpdf/OutputDev.h +253 -0
- data/pdf2json-0.52-source/xpdf/OutputDev.o +0 -0
- data/pdf2json-0.52-source/xpdf/PDFCore.cc +2044 -0
- data/pdf2json-0.52-source/xpdf/PDFCore.h +321 -0
- data/pdf2json-0.52-source/xpdf/PDFDoc.cc +404 -0
- data/pdf2json-0.52-source/xpdf/PDFDoc.h +183 -0
- data/pdf2json-0.52-source/xpdf/PDFDoc.o +0 -0
- data/pdf2json-0.52-source/xpdf/PDFDocEncoding.cc +44 -0
- data/pdf2json-0.52-source/xpdf/PDFDocEncoding.h +16 -0
- data/pdf2json-0.52-source/xpdf/PDFDocEncoding.o +0 -0
- data/pdf2json-0.52-source/xpdf/PSOutputDev.cc +6224 -0
- data/pdf2json-0.52-source/xpdf/PSOutputDev.h +395 -0
- data/pdf2json-0.52-source/xpdf/PSOutputDev.o +0 -0
- data/pdf2json-0.52-source/xpdf/PSTokenizer.cc +135 -0
- data/pdf2json-0.52-source/xpdf/PSTokenizer.h +41 -0
- data/pdf2json-0.52-source/xpdf/PSTokenizer.o +0 -0
- data/pdf2json-0.52-source/xpdf/Page.cc +454 -0
- data/pdf2json-0.52-source/xpdf/Page.h +187 -0
- data/pdf2json-0.52-source/xpdf/Page.o +0 -0
- data/pdf2json-0.52-source/xpdf/Parser.cc +227 -0
- data/pdf2json-0.52-source/xpdf/Parser.h +59 -0
- data/pdf2json-0.52-source/xpdf/Parser.o +0 -0
- data/pdf2json-0.52-source/xpdf/PreScanOutputDev.cc +257 -0
- data/pdf2json-0.52-source/xpdf/PreScanOutputDev.h +130 -0
- data/pdf2json-0.52-source/xpdf/PreScanOutputDev.o +0 -0
- data/pdf2json-0.52-source/xpdf/SecurityHandler.cc +390 -0
- data/pdf2json-0.52-source/xpdf/SecurityHandler.h +160 -0
- data/pdf2json-0.52-source/xpdf/SecurityHandler.o +0 -0
- data/pdf2json-0.52-source/xpdf/SplashOutputDev.cc +2845 -0
- data/pdf2json-0.52-source/xpdf/SplashOutputDev.h +247 -0
- data/pdf2json-0.52-source/xpdf/SplashOutputDev.o +0 -0
- data/pdf2json-0.52-source/xpdf/Stream-CCITT.h +459 -0
- data/pdf2json-0.52-source/xpdf/Stream.cc +4627 -0
- data/pdf2json-0.52-source/xpdf/Stream.h +858 -0
- data/pdf2json-0.52-source/xpdf/Stream.o +0 -0
- data/pdf2json-0.52-source/xpdf/TextOutputDev.cc +4090 -0
- data/pdf2json-0.52-source/xpdf/TextOutputDev.h +661 -0
- data/pdf2json-0.52-source/xpdf/TextOutputDev.o +0 -0
- data/pdf2json-0.52-source/xpdf/UTF8.h +56 -0
- data/pdf2json-0.52-source/xpdf/UnicodeMap.cc +302 -0
- data/pdf2json-0.52-source/xpdf/UnicodeMap.cc.old +293 -0
- data/pdf2json-0.52-source/xpdf/UnicodeMap.h +135 -0
- data/pdf2json-0.52-source/xpdf/UnicodeMap.h.old +123 -0
- data/pdf2json-0.52-source/xpdf/UnicodeMap.o +0 -0
- data/pdf2json-0.52-source/xpdf/UnicodeMapTables.h +361 -0
- data/pdf2json-0.52-source/xpdf/UnicodeTypeTable.cc +949 -0
- data/pdf2json-0.52-source/xpdf/UnicodeTypeTable.h +20 -0
- data/pdf2json-0.52-source/xpdf/UnicodeTypeTable.o +0 -0
- data/pdf2json-0.52-source/xpdf/XPDFApp.cc +447 -0
- data/pdf2json-0.52-source/xpdf/XPDFApp.h +114 -0
- data/pdf2json-0.52-source/xpdf/XPDFCore.cc +1655 -0
- data/pdf2json-0.52-source/xpdf/XPDFCore.h +251 -0
- data/pdf2json-0.52-source/xpdf/XPDFTree.cc +931 -0
- data/pdf2json-0.52-source/xpdf/XPDFTree.h +45 -0
- data/pdf2json-0.52-source/xpdf/XPDFTreeP.h +87 -0
- data/pdf2json-0.52-source/xpdf/XPDFViewer.cc +3488 -0
- data/pdf2json-0.52-source/xpdf/XPDFViewer.h +352 -0
- data/pdf2json-0.52-source/xpdf/XRef.cc +896 -0
- data/pdf2json-0.52-source/xpdf/XRef.h +133 -0
- data/pdf2json-0.52-source/xpdf/XRef.o +0 -0
- data/pdf2json-0.52-source/xpdf/XpdfPluginAPI.cc +262 -0
- data/pdf2json-0.52-source/xpdf/XpdfPluginAPI.h +341 -0
- data/pdf2json-0.52-source/xpdf/XpdfPluginAPI.o +0 -0
- data/pdf2json-0.52-source/xpdf/about-text.h +48 -0
- data/pdf2json-0.52-source/xpdf/about.xbm +6 -0
- data/pdf2json-0.52-source/xpdf/backArrow.xbm +6 -0
- data/pdf2json-0.52-source/xpdf/backArrowDis.xbm +6 -0
- data/pdf2json-0.52-source/xpdf/config.h +112 -0
- data/pdf2json-0.52-source/xpdf/dblLeftArrow.xbm +6 -0
- data/pdf2json-0.52-source/xpdf/dblLeftArrowDis.xbm +6 -0
- data/pdf2json-0.52-source/xpdf/dblRightArrow.xbm +6 -0
- data/pdf2json-0.52-source/xpdf/dblRightArrowDis.xbm +6 -0
- data/pdf2json-0.52-source/xpdf/find.xbm +6 -0
- data/pdf2json-0.52-source/xpdf/findDis.xbm +6 -0
- data/pdf2json-0.52-source/xpdf/forwardArrow.xbm +6 -0
- data/pdf2json-0.52-source/xpdf/forwardArrowDis.xbm +6 -0
- data/pdf2json-0.52-source/xpdf/leftArrow.xbm +5 -0
- data/pdf2json-0.52-source/xpdf/leftArrowDis.xbm +5 -0
- data/pdf2json-0.52-source/xpdf/libXpdf.a +0 -0
- data/pdf2json-0.52-source/xpdf/pdffonts +0 -0
- data/pdf2json-0.52-source/xpdf/pdffonts.cc +298 -0
- data/pdf2json-0.52-source/xpdf/pdffonts.o +0 -0
- data/pdf2json-0.52-source/xpdf/pdfimages +0 -0
- data/pdf2json-0.52-source/xpdf/pdfimages.cc +155 -0
- data/pdf2json-0.52-source/xpdf/pdfimages.o +0 -0
- data/pdf2json-0.52-source/xpdf/pdfinfo +0 -0
- data/pdf2json-0.52-source/xpdf/pdfinfo.cc +387 -0
- data/pdf2json-0.52-source/xpdf/pdfinfo.o +0 -0
- data/pdf2json-0.52-source/xpdf/pdftoppm.cc +203 -0
- data/pdf2json-0.52-source/xpdf/pdftops +0 -0
- data/pdf2json-0.52-source/xpdf/pdftops.cc +344 -0
- data/pdf2json-0.52-source/xpdf/pdftops.o +0 -0
- data/pdf2json-0.52-source/xpdf/pdftotext +0 -0
- data/pdf2json-0.52-source/xpdf/pdftotext.cc +333 -0
- data/pdf2json-0.52-source/xpdf/pdftotext.o +0 -0
- data/pdf2json-0.52-source/xpdf/print.xbm +6 -0
- data/pdf2json-0.52-source/xpdf/printDis.xbm +6 -0
- data/pdf2json-0.52-source/xpdf/rightArrow.xbm +5 -0
- data/pdf2json-0.52-source/xpdf/rightArrowDis.xbm +5 -0
- data/pdf2json-0.52-source/xpdf/vms_make.com +129 -0
- data/pdf2json-0.52-source/xpdf/xpdf.cc +344 -0
- data/pdf2json-0.52-source/xpdf/xpdfIcon.xpm +62 -0
- data/pdf2json.gemspec +29 -0
- metadata +518 -0
@@ -0,0 +1,415 @@
|
|
1
|
+
//========================================================================
|
2
|
+
//
|
3
|
+
// Link.h
|
4
|
+
//
|
5
|
+
// Copyright 1996-2003 Glyph & Cog, LLC
|
6
|
+
//
|
7
|
+
//========================================================================
|
8
|
+
|
9
|
+
#ifndef LINK_H
|
10
|
+
#define LINK_H
|
11
|
+
|
12
|
+
#include <aconf.h>
|
13
|
+
|
14
|
+
#ifdef USE_GCC_PRAGMAS
|
15
|
+
#pragma interface
|
16
|
+
#endif
|
17
|
+
|
18
|
+
#include "Object.h"
|
19
|
+
|
20
|
+
class GString;
|
21
|
+
class Array;
|
22
|
+
class Dict;
|
23
|
+
|
24
|
+
//------------------------------------------------------------------------
|
25
|
+
// LinkAction
|
26
|
+
//------------------------------------------------------------------------
|
27
|
+
|
28
|
+
enum LinkActionKind {
|
29
|
+
actionGoTo, // go to destination
|
30
|
+
actionGoToR, // go to destination in new file
|
31
|
+
actionLaunch, // launch app (or open document)
|
32
|
+
actionURI, // URI
|
33
|
+
actionNamed, // named action
|
34
|
+
actionMovie, // movie action
|
35
|
+
actionUnknown // anything else
|
36
|
+
};
|
37
|
+
|
38
|
+
class LinkAction {
|
39
|
+
public:
|
40
|
+
|
41
|
+
// Destructor.
|
42
|
+
virtual ~LinkAction() {}
|
43
|
+
|
44
|
+
// Was the LinkAction created successfully?
|
45
|
+
virtual GBool isOk() = 0;
|
46
|
+
|
47
|
+
// Check link action type.
|
48
|
+
virtual LinkActionKind getKind() = 0;
|
49
|
+
|
50
|
+
// Parse a destination (old-style action) name, string, or array.
|
51
|
+
static LinkAction *parseDest(Object *obj);
|
52
|
+
|
53
|
+
// Parse an action dictionary.
|
54
|
+
static LinkAction *parseAction(Object *obj, GString *baseURI = NULL);
|
55
|
+
|
56
|
+
// Extract a file name from a file specification (string or
|
57
|
+
// dictionary).
|
58
|
+
static GString *getFileSpecName(Object *fileSpecObj);
|
59
|
+
};
|
60
|
+
|
61
|
+
//------------------------------------------------------------------------
|
62
|
+
// LinkDest
|
63
|
+
//------------------------------------------------------------------------
|
64
|
+
|
65
|
+
enum LinkDestKind {
|
66
|
+
destXYZ,
|
67
|
+
destFit,
|
68
|
+
destFitH,
|
69
|
+
destFitV,
|
70
|
+
destFitR,
|
71
|
+
destFitB,
|
72
|
+
destFitBH,
|
73
|
+
destFitBV
|
74
|
+
};
|
75
|
+
|
76
|
+
class LinkDest {
|
77
|
+
public:
|
78
|
+
|
79
|
+
// Build a LinkDest from the array.
|
80
|
+
LinkDest(Array *a);
|
81
|
+
|
82
|
+
// Copy a LinkDest.
|
83
|
+
LinkDest *copy() { return new LinkDest(this); }
|
84
|
+
|
85
|
+
// Was the LinkDest created successfully?
|
86
|
+
GBool isOk() { return ok; }
|
87
|
+
|
88
|
+
// Accessors.
|
89
|
+
LinkDestKind getKind() { return kind; }
|
90
|
+
GBool isPageRef() { return pageIsRef; }
|
91
|
+
int getPageNum() { return pageNum; }
|
92
|
+
Ref getPageRef() { return pageRef; }
|
93
|
+
double getLeft() { return left; }
|
94
|
+
double getBottom() { return bottom; }
|
95
|
+
double getRight() { return right; }
|
96
|
+
double getTop() { return top; }
|
97
|
+
double getZoom() { return zoom; }
|
98
|
+
GBool getChangeLeft() { return changeLeft; }
|
99
|
+
GBool getChangeTop() { return changeTop; }
|
100
|
+
GBool getChangeZoom() { return changeZoom; }
|
101
|
+
|
102
|
+
private:
|
103
|
+
|
104
|
+
LinkDestKind kind; // destination type
|
105
|
+
GBool pageIsRef; // is the page a reference or number?
|
106
|
+
union {
|
107
|
+
Ref pageRef; // reference to page
|
108
|
+
int pageNum; // one-relative page number
|
109
|
+
};
|
110
|
+
double left, bottom; // position
|
111
|
+
double right, top;
|
112
|
+
double zoom; // zoom factor
|
113
|
+
GBool changeLeft, changeTop; // for destXYZ links, which position
|
114
|
+
GBool changeZoom; // components to change
|
115
|
+
GBool ok; // set if created successfully
|
116
|
+
|
117
|
+
LinkDest(LinkDest *dest);
|
118
|
+
};
|
119
|
+
|
120
|
+
//------------------------------------------------------------------------
|
121
|
+
// LinkGoTo
|
122
|
+
//------------------------------------------------------------------------
|
123
|
+
|
124
|
+
class LinkGoTo: public LinkAction {
|
125
|
+
public:
|
126
|
+
|
127
|
+
// Build a LinkGoTo from a destination (dictionary, name, or string).
|
128
|
+
LinkGoTo(Object *destObj);
|
129
|
+
|
130
|
+
// Destructor.
|
131
|
+
virtual ~LinkGoTo();
|
132
|
+
|
133
|
+
// Was the LinkGoTo created successfully?
|
134
|
+
virtual GBool isOk() { return dest || namedDest; }
|
135
|
+
|
136
|
+
// Accessors.
|
137
|
+
virtual LinkActionKind getKind() { return actionGoTo; }
|
138
|
+
LinkDest *getDest() { return dest; }
|
139
|
+
GString *getNamedDest() { return namedDest; }
|
140
|
+
|
141
|
+
private:
|
142
|
+
|
143
|
+
LinkDest *dest; // regular destination (NULL for remote
|
144
|
+
// link with bad destination)
|
145
|
+
GString *namedDest; // named destination (only one of dest and
|
146
|
+
// and namedDest may be non-NULL)
|
147
|
+
};
|
148
|
+
|
149
|
+
//------------------------------------------------------------------------
|
150
|
+
// LinkGoToR
|
151
|
+
//------------------------------------------------------------------------
|
152
|
+
|
153
|
+
class LinkGoToR: public LinkAction {
|
154
|
+
public:
|
155
|
+
|
156
|
+
// Build a LinkGoToR from a file spec (dictionary) and destination
|
157
|
+
// (dictionary, name, or string).
|
158
|
+
LinkGoToR(Object *fileSpecObj, Object *destObj);
|
159
|
+
|
160
|
+
// Destructor.
|
161
|
+
virtual ~LinkGoToR();
|
162
|
+
|
163
|
+
// Was the LinkGoToR created successfully?
|
164
|
+
virtual GBool isOk() { return fileName && (dest || namedDest); }
|
165
|
+
|
166
|
+
// Accessors.
|
167
|
+
virtual LinkActionKind getKind() { return actionGoToR; }
|
168
|
+
GString *getFileName() { return fileName; }
|
169
|
+
LinkDest *getDest() { return dest; }
|
170
|
+
GString *getNamedDest() { return namedDest; }
|
171
|
+
|
172
|
+
private:
|
173
|
+
|
174
|
+
GString *fileName; // file name
|
175
|
+
LinkDest *dest; // regular destination (NULL for remote
|
176
|
+
// link with bad destination)
|
177
|
+
GString *namedDest; // named destination (only one of dest and
|
178
|
+
// and namedDest may be non-NULL)
|
179
|
+
};
|
180
|
+
|
181
|
+
//------------------------------------------------------------------------
|
182
|
+
// LinkLaunch
|
183
|
+
//------------------------------------------------------------------------
|
184
|
+
|
185
|
+
class LinkLaunch: public LinkAction {
|
186
|
+
public:
|
187
|
+
|
188
|
+
// Build a LinkLaunch from an action dictionary.
|
189
|
+
LinkLaunch(Object *actionObj);
|
190
|
+
|
191
|
+
// Destructor.
|
192
|
+
virtual ~LinkLaunch();
|
193
|
+
|
194
|
+
// Was the LinkLaunch created successfully?
|
195
|
+
virtual GBool isOk() { return fileName != NULL; }
|
196
|
+
|
197
|
+
// Accessors.
|
198
|
+
virtual LinkActionKind getKind() { return actionLaunch; }
|
199
|
+
GString *getFileName() { return fileName; }
|
200
|
+
GString *getParams() { return params; }
|
201
|
+
|
202
|
+
private:
|
203
|
+
|
204
|
+
GString *fileName; // file name
|
205
|
+
GString *params; // parameters
|
206
|
+
};
|
207
|
+
|
208
|
+
//------------------------------------------------------------------------
|
209
|
+
// LinkURI
|
210
|
+
//------------------------------------------------------------------------
|
211
|
+
|
212
|
+
class LinkURI: public LinkAction {
|
213
|
+
public:
|
214
|
+
|
215
|
+
// Build a LinkURI given the URI (string) and base URI.
|
216
|
+
LinkURI(Object *uriObj, GString *baseURI);
|
217
|
+
|
218
|
+
// Destructor.
|
219
|
+
virtual ~LinkURI();
|
220
|
+
|
221
|
+
// Was the LinkURI created successfully?
|
222
|
+
virtual GBool isOk() { return uri != NULL; }
|
223
|
+
|
224
|
+
// Accessors.
|
225
|
+
virtual LinkActionKind getKind() { return actionURI; }
|
226
|
+
GString *getURI() { return uri; }
|
227
|
+
|
228
|
+
private:
|
229
|
+
|
230
|
+
GString *uri; // the URI
|
231
|
+
};
|
232
|
+
|
233
|
+
//------------------------------------------------------------------------
|
234
|
+
// LinkNamed
|
235
|
+
//------------------------------------------------------------------------
|
236
|
+
|
237
|
+
class LinkNamed: public LinkAction {
|
238
|
+
public:
|
239
|
+
|
240
|
+
// Build a LinkNamed given the action name.
|
241
|
+
LinkNamed(Object *nameObj);
|
242
|
+
|
243
|
+
virtual ~LinkNamed();
|
244
|
+
|
245
|
+
virtual GBool isOk() { return name != NULL; }
|
246
|
+
|
247
|
+
virtual LinkActionKind getKind() { return actionNamed; }
|
248
|
+
GString *getName() { return name; }
|
249
|
+
|
250
|
+
private:
|
251
|
+
|
252
|
+
GString *name;
|
253
|
+
};
|
254
|
+
|
255
|
+
//------------------------------------------------------------------------
|
256
|
+
// LinkMovie
|
257
|
+
//------------------------------------------------------------------------
|
258
|
+
|
259
|
+
class LinkMovie: public LinkAction {
|
260
|
+
public:
|
261
|
+
|
262
|
+
LinkMovie(Object *annotObj, Object *titleObj);
|
263
|
+
|
264
|
+
virtual ~LinkMovie();
|
265
|
+
|
266
|
+
virtual GBool isOk() { return annotRef.num >= 0 || title != NULL; }
|
267
|
+
|
268
|
+
virtual LinkActionKind getKind() { return actionMovie; }
|
269
|
+
GBool hasAnnotRef() { return annotRef.num >= 0; }
|
270
|
+
Ref *getAnnotRef() { return &annotRef; }
|
271
|
+
GString *getTitle() { return title; }
|
272
|
+
|
273
|
+
private:
|
274
|
+
|
275
|
+
Ref annotRef;
|
276
|
+
GString *title;
|
277
|
+
};
|
278
|
+
|
279
|
+
//------------------------------------------------------------------------
|
280
|
+
// LinkUnknown
|
281
|
+
//------------------------------------------------------------------------
|
282
|
+
|
283
|
+
class LinkUnknown: public LinkAction {
|
284
|
+
public:
|
285
|
+
|
286
|
+
// Build a LinkUnknown with the specified action type.
|
287
|
+
LinkUnknown(char *actionA);
|
288
|
+
|
289
|
+
// Destructor.
|
290
|
+
virtual ~LinkUnknown();
|
291
|
+
|
292
|
+
// Was the LinkUnknown create successfully?
|
293
|
+
virtual GBool isOk() { return action != NULL; }
|
294
|
+
|
295
|
+
// Accessors.
|
296
|
+
virtual LinkActionKind getKind() { return actionUnknown; }
|
297
|
+
GString *getAction() { return action; }
|
298
|
+
|
299
|
+
private:
|
300
|
+
|
301
|
+
GString *action; // action subtype
|
302
|
+
};
|
303
|
+
|
304
|
+
//------------------------------------------------------------------------
|
305
|
+
// LinkBorderStyle
|
306
|
+
//------------------------------------------------------------------------
|
307
|
+
|
308
|
+
enum LinkBorderType {
|
309
|
+
linkBorderSolid,
|
310
|
+
linkBorderDashed,
|
311
|
+
linkBorderEmbossed,
|
312
|
+
linkBorderEngraved,
|
313
|
+
linkBorderUnderlined
|
314
|
+
};
|
315
|
+
|
316
|
+
class LinkBorderStyle {
|
317
|
+
public:
|
318
|
+
|
319
|
+
LinkBorderStyle(LinkBorderType typeA, double widthA,
|
320
|
+
double *dashA, int dashLengthA,
|
321
|
+
double rA, double gA, double bA);
|
322
|
+
~LinkBorderStyle();
|
323
|
+
|
324
|
+
LinkBorderType getType() { return type; }
|
325
|
+
double getWidth() { return width; }
|
326
|
+
void getDash(double **dashA, int *dashLengthA)
|
327
|
+
{ *dashA = dash; *dashLengthA = dashLength; }
|
328
|
+
void getColor(double *rA, double *gA, double *bA)
|
329
|
+
{ *rA = r; *gA = g; *bA = b; }
|
330
|
+
|
331
|
+
private:
|
332
|
+
|
333
|
+
LinkBorderType type;
|
334
|
+
double width;
|
335
|
+
double *dash;
|
336
|
+
int dashLength;
|
337
|
+
double r, g, b;
|
338
|
+
};
|
339
|
+
|
340
|
+
//------------------------------------------------------------------------
|
341
|
+
// Link
|
342
|
+
//------------------------------------------------------------------------
|
343
|
+
|
344
|
+
class Link {
|
345
|
+
public:
|
346
|
+
|
347
|
+
// Construct a link, given its dictionary.
|
348
|
+
Link(Dict *dict, GString *baseURI);
|
349
|
+
|
350
|
+
// Destructor.
|
351
|
+
~Link();
|
352
|
+
|
353
|
+
// Was the link created successfully?
|
354
|
+
GBool isOk() { return ok; }
|
355
|
+
|
356
|
+
// Check if point is inside the link rectangle.
|
357
|
+
GBool inRect(double x, double y)
|
358
|
+
{ return x1 <= x && x <= x2 && y1 <= y && y <= y2; }
|
359
|
+
|
360
|
+
// Get action.
|
361
|
+
LinkAction *getAction() { return action; }
|
362
|
+
|
363
|
+
// Get the link rectangle.
|
364
|
+
void getRect(double *xa1, double *ya1, double *xa2, double *ya2)
|
365
|
+
{ *xa1 = x1; *ya1 = y1; *xa2 = x2; *ya2 = y2; }
|
366
|
+
|
367
|
+
// Get the border style info.
|
368
|
+
LinkBorderStyle *getBorderStyle() { return borderStyle; }
|
369
|
+
|
370
|
+
// Get border corners and width.
|
371
|
+
void getBorder(double *xa1, double *ya1, double *xa2, double *ya2,
|
372
|
+
double *wa)
|
373
|
+
{ *xa1 = x1; *ya1 = y1; *xa2 = x2; *ya2 = y2; *wa = borderW; }
|
374
|
+
|
375
|
+
private:
|
376
|
+
|
377
|
+
double x1, y1; // lower left corner
|
378
|
+
double x2, y2; // upper right corner
|
379
|
+
double borderW; // border width
|
380
|
+
LinkBorderStyle *borderStyle; // border style
|
381
|
+
LinkAction *action; // action
|
382
|
+
GBool ok; // is link valid?
|
383
|
+
};
|
384
|
+
|
385
|
+
//------------------------------------------------------------------------
|
386
|
+
// Links
|
387
|
+
//------------------------------------------------------------------------
|
388
|
+
|
389
|
+
class Links {
|
390
|
+
public:
|
391
|
+
|
392
|
+
// Extract links from array of annotations.
|
393
|
+
Links(Object *annots, GString *baseURI);
|
394
|
+
|
395
|
+
// Destructor.
|
396
|
+
~Links();
|
397
|
+
|
398
|
+
// Iterate through list of links.
|
399
|
+
int getNumLinks() { return numLinks; }
|
400
|
+
Link *getLink(int i) { return links[i]; }
|
401
|
+
|
402
|
+
// If point <x>,<y> is in a link, return the associated action;
|
403
|
+
// else return NULL.
|
404
|
+
LinkAction *find(double x, double y);
|
405
|
+
|
406
|
+
// Return true if <x>,<y> is in a link.
|
407
|
+
GBool onLink(double x, double y);
|
408
|
+
|
409
|
+
private:
|
410
|
+
|
411
|
+
Link **links;
|
412
|
+
int numLinks;
|
413
|
+
};
|
414
|
+
|
415
|
+
#endif
|
@@ -0,0 +1,369 @@
|
|
1
|
+
//========================================================================
|
2
|
+
//
|
3
|
+
// Link.h
|
4
|
+
//
|
5
|
+
// Copyright 1996-2003 Glyph & Cog, LLC
|
6
|
+
//
|
7
|
+
//========================================================================
|
8
|
+
|
9
|
+
#ifndef LINK_H
|
10
|
+
#define LINK_H
|
11
|
+
|
12
|
+
#include <aconf.h>
|
13
|
+
|
14
|
+
#ifdef USE_GCC_PRAGMAS
|
15
|
+
#pragma interface
|
16
|
+
#endif
|
17
|
+
|
18
|
+
#include "Object.h"
|
19
|
+
|
20
|
+
class GString;
|
21
|
+
class Array;
|
22
|
+
class Dict;
|
23
|
+
|
24
|
+
//------------------------------------------------------------------------
|
25
|
+
// LinkAction
|
26
|
+
//------------------------------------------------------------------------
|
27
|
+
|
28
|
+
enum LinkActionKind {
|
29
|
+
actionGoTo, // go to destination
|
30
|
+
actionGoToR, // go to destination in new file
|
31
|
+
actionLaunch, // launch app (or open document)
|
32
|
+
actionURI, // URI
|
33
|
+
actionNamed, // named action
|
34
|
+
actionMovie, // movie action
|
35
|
+
actionUnknown // anything else
|
36
|
+
};
|
37
|
+
|
38
|
+
class LinkAction {
|
39
|
+
public:
|
40
|
+
|
41
|
+
// Destructor.
|
42
|
+
virtual ~LinkAction() {}
|
43
|
+
|
44
|
+
// Was the LinkAction created successfully?
|
45
|
+
virtual GBool isOk() = 0;
|
46
|
+
|
47
|
+
// Check link action type.
|
48
|
+
virtual LinkActionKind getKind() = 0;
|
49
|
+
|
50
|
+
// Parse a destination (old-style action) name, string, or array.
|
51
|
+
static LinkAction *parseDest(Object *obj);
|
52
|
+
|
53
|
+
// Parse an action dictionary.
|
54
|
+
static LinkAction *parseAction(Object *obj, GString *baseURI = NULL);
|
55
|
+
|
56
|
+
// Extract a file name from a file specification (string or
|
57
|
+
// dictionary).
|
58
|
+
static GString *getFileSpecName(Object *fileSpecObj);
|
59
|
+
};
|
60
|
+
|
61
|
+
//------------------------------------------------------------------------
|
62
|
+
// LinkDest
|
63
|
+
//------------------------------------------------------------------------
|
64
|
+
|
65
|
+
enum LinkDestKind {
|
66
|
+
destXYZ,
|
67
|
+
destFit,
|
68
|
+
destFitH,
|
69
|
+
destFitV,
|
70
|
+
destFitR,
|
71
|
+
destFitB,
|
72
|
+
destFitBH,
|
73
|
+
destFitBV
|
74
|
+
};
|
75
|
+
|
76
|
+
class LinkDest {
|
77
|
+
public:
|
78
|
+
|
79
|
+
// Build a LinkDest from the array.
|
80
|
+
LinkDest(Array *a);
|
81
|
+
|
82
|
+
// Copy a LinkDest.
|
83
|
+
LinkDest *copy() { return new LinkDest(this); }
|
84
|
+
|
85
|
+
// Was the LinkDest created successfully?
|
86
|
+
GBool isOk() { return ok; }
|
87
|
+
|
88
|
+
// Accessors.
|
89
|
+
LinkDestKind getKind() { return kind; }
|
90
|
+
GBool isPageRef() { return pageIsRef; }
|
91
|
+
int getPageNum() { return pageNum; }
|
92
|
+
Ref getPageRef() { return pageRef; }
|
93
|
+
double getLeft() { return left; }
|
94
|
+
double getBottom() { return bottom; }
|
95
|
+
double getRight() { return right; }
|
96
|
+
double getTop() { return top; }
|
97
|
+
double getZoom() { return zoom; }
|
98
|
+
GBool getChangeLeft() { return changeLeft; }
|
99
|
+
GBool getChangeTop() { return changeTop; }
|
100
|
+
GBool getChangeZoom() { return changeZoom; }
|
101
|
+
|
102
|
+
private:
|
103
|
+
|
104
|
+
LinkDestKind kind; // destination type
|
105
|
+
GBool pageIsRef; // is the page a reference or number?
|
106
|
+
union {
|
107
|
+
Ref pageRef; // reference to page
|
108
|
+
int pageNum; // one-relative page number
|
109
|
+
};
|
110
|
+
double left, bottom; // position
|
111
|
+
double right, top;
|
112
|
+
double zoom; // zoom factor
|
113
|
+
GBool changeLeft, changeTop; // for destXYZ links, which position
|
114
|
+
GBool changeZoom; // components to change
|
115
|
+
GBool ok; // set if created successfully
|
116
|
+
|
117
|
+
LinkDest(LinkDest *dest);
|
118
|
+
};
|
119
|
+
|
120
|
+
//------------------------------------------------------------------------
|
121
|
+
// LinkGoTo
|
122
|
+
//------------------------------------------------------------------------
|
123
|
+
|
124
|
+
class LinkGoTo: public LinkAction {
|
125
|
+
public:
|
126
|
+
|
127
|
+
// Build a LinkGoTo from a destination (dictionary, name, or string).
|
128
|
+
LinkGoTo(Object *destObj);
|
129
|
+
|
130
|
+
// Destructor.
|
131
|
+
virtual ~LinkGoTo();
|
132
|
+
|
133
|
+
// Was the LinkGoTo created successfully?
|
134
|
+
virtual GBool isOk() { return dest || namedDest; }
|
135
|
+
|
136
|
+
// Accessors.
|
137
|
+
virtual LinkActionKind getKind() { return actionGoTo; }
|
138
|
+
LinkDest *getDest() { return dest; }
|
139
|
+
GString *getNamedDest() { return namedDest; }
|
140
|
+
|
141
|
+
private:
|
142
|
+
|
143
|
+
LinkDest *dest; // regular destination (NULL for remote
|
144
|
+
// link with bad destination)
|
145
|
+
GString *namedDest; // named destination (only one of dest and
|
146
|
+
// and namedDest may be non-NULL)
|
147
|
+
};
|
148
|
+
|
149
|
+
//------------------------------------------------------------------------
|
150
|
+
// LinkGoToR
|
151
|
+
//------------------------------------------------------------------------
|
152
|
+
|
153
|
+
class LinkGoToR: public LinkAction {
|
154
|
+
public:
|
155
|
+
|
156
|
+
// Build a LinkGoToR from a file spec (dictionary) and destination
|
157
|
+
// (dictionary, name, or string).
|
158
|
+
LinkGoToR(Object *fileSpecObj, Object *destObj);
|
159
|
+
|
160
|
+
// Destructor.
|
161
|
+
virtual ~LinkGoToR();
|
162
|
+
|
163
|
+
// Was the LinkGoToR created successfully?
|
164
|
+
virtual GBool isOk() { return fileName && (dest || namedDest); }
|
165
|
+
|
166
|
+
// Accessors.
|
167
|
+
virtual LinkActionKind getKind() { return actionGoToR; }
|
168
|
+
GString *getFileName() { return fileName; }
|
169
|
+
LinkDest *getDest() { return dest; }
|
170
|
+
GString *getNamedDest() { return namedDest; }
|
171
|
+
|
172
|
+
private:
|
173
|
+
|
174
|
+
GString *fileName; // file name
|
175
|
+
LinkDest *dest; // regular destination (NULL for remote
|
176
|
+
// link with bad destination)
|
177
|
+
GString *namedDest; // named destination (only one of dest and
|
178
|
+
// and namedDest may be non-NULL)
|
179
|
+
};
|
180
|
+
|
181
|
+
//------------------------------------------------------------------------
|
182
|
+
// LinkLaunch
|
183
|
+
//------------------------------------------------------------------------
|
184
|
+
|
185
|
+
class LinkLaunch: public LinkAction {
|
186
|
+
public:
|
187
|
+
|
188
|
+
// Build a LinkLaunch from an action dictionary.
|
189
|
+
LinkLaunch(Object *actionObj);
|
190
|
+
|
191
|
+
// Destructor.
|
192
|
+
virtual ~LinkLaunch();
|
193
|
+
|
194
|
+
// Was the LinkLaunch created successfully?
|
195
|
+
virtual GBool isOk() { return fileName != NULL; }
|
196
|
+
|
197
|
+
// Accessors.
|
198
|
+
virtual LinkActionKind getKind() { return actionLaunch; }
|
199
|
+
GString *getFileName() { return fileName; }
|
200
|
+
GString *getParams() { return params; }
|
201
|
+
|
202
|
+
private:
|
203
|
+
|
204
|
+
GString *fileName; // file name
|
205
|
+
GString *params; // parameters
|
206
|
+
};
|
207
|
+
|
208
|
+
//------------------------------------------------------------------------
|
209
|
+
// LinkURI
|
210
|
+
//------------------------------------------------------------------------
|
211
|
+
|
212
|
+
class LinkURI: public LinkAction {
|
213
|
+
public:
|
214
|
+
|
215
|
+
// Build a LinkURI given the URI (string) and base URI.
|
216
|
+
LinkURI(Object *uriObj, GString *baseURI);
|
217
|
+
|
218
|
+
// Destructor.
|
219
|
+
virtual ~LinkURI();
|
220
|
+
|
221
|
+
// Was the LinkURI created successfully?
|
222
|
+
virtual GBool isOk() { return uri != NULL; }
|
223
|
+
|
224
|
+
// Accessors.
|
225
|
+
virtual LinkActionKind getKind() { return actionURI; }
|
226
|
+
GString *getURI() { return uri; }
|
227
|
+
|
228
|
+
private:
|
229
|
+
|
230
|
+
GString *uri; // the URI
|
231
|
+
};
|
232
|
+
|
233
|
+
//------------------------------------------------------------------------
|
234
|
+
// LinkNamed
|
235
|
+
//------------------------------------------------------------------------
|
236
|
+
|
237
|
+
class LinkNamed: public LinkAction {
|
238
|
+
public:
|
239
|
+
|
240
|
+
// Build a LinkNamed given the action name.
|
241
|
+
LinkNamed(Object *nameObj);
|
242
|
+
|
243
|
+
virtual ~LinkNamed();
|
244
|
+
|
245
|
+
virtual GBool isOk() { return name != NULL; }
|
246
|
+
|
247
|
+
virtual LinkActionKind getKind() { return actionNamed; }
|
248
|
+
GString *getName() { return name; }
|
249
|
+
|
250
|
+
private:
|
251
|
+
|
252
|
+
GString *name;
|
253
|
+
};
|
254
|
+
|
255
|
+
//------------------------------------------------------------------------
|
256
|
+
// LinkMovie
|
257
|
+
//------------------------------------------------------------------------
|
258
|
+
|
259
|
+
class LinkMovie: public LinkAction {
|
260
|
+
public:
|
261
|
+
|
262
|
+
LinkMovie(Object *annotObj, Object *titleObj);
|
263
|
+
|
264
|
+
virtual ~LinkMovie();
|
265
|
+
|
266
|
+
virtual GBool isOk() { return annotRef.num >= 0 || title != NULL; }
|
267
|
+
|
268
|
+
virtual LinkActionKind getKind() { return actionMovie; }
|
269
|
+
GBool hasAnnotRef() { return annotRef.num >= 0; }
|
270
|
+
Ref *getAnnotRef() { return &annotRef; }
|
271
|
+
GString *getTitle() { return title; }
|
272
|
+
|
273
|
+
private:
|
274
|
+
|
275
|
+
Ref annotRef;
|
276
|
+
GString *title;
|
277
|
+
};
|
278
|
+
|
279
|
+
//------------------------------------------------------------------------
|
280
|
+
// LinkUnknown
|
281
|
+
//------------------------------------------------------------------------
|
282
|
+
|
283
|
+
class LinkUnknown: public LinkAction {
|
284
|
+
public:
|
285
|
+
|
286
|
+
// Build a LinkUnknown with the specified action type.
|
287
|
+
LinkUnknown(char *actionA);
|
288
|
+
|
289
|
+
// Destructor.
|
290
|
+
virtual ~LinkUnknown();
|
291
|
+
|
292
|
+
// Was the LinkUnknown create successfully?
|
293
|
+
virtual GBool isOk() { return action != NULL; }
|
294
|
+
|
295
|
+
// Accessors.
|
296
|
+
virtual LinkActionKind getKind() { return actionUnknown; }
|
297
|
+
GString *getAction() { return action; }
|
298
|
+
|
299
|
+
private:
|
300
|
+
|
301
|
+
GString *action; // action subtype
|
302
|
+
};
|
303
|
+
|
304
|
+
//------------------------------------------------------------------------
|
305
|
+
// Link
|
306
|
+
//------------------------------------------------------------------------
|
307
|
+
|
308
|
+
class Link {
|
309
|
+
public:
|
310
|
+
|
311
|
+
// Construct a link, given its dictionary.
|
312
|
+
Link(Dict *dict, GString *baseURI);
|
313
|
+
|
314
|
+
// Destructor.
|
315
|
+
~Link();
|
316
|
+
|
317
|
+
// Was the link created successfully?
|
318
|
+
GBool isOk() { return ok; }
|
319
|
+
|
320
|
+
// Check if point is inside the link rectangle.
|
321
|
+
GBool inRect(double x, double y)
|
322
|
+
{ return x1 <= x && x <= x2 && y1 <= y && y <= y2; }
|
323
|
+
|
324
|
+
// Get action.
|
325
|
+
LinkAction *getAction() { return action; }
|
326
|
+
|
327
|
+
// Get the link rectangle.
|
328
|
+
void getRect(double *xa1, double *ya1, double *xa2, double *ya2)
|
329
|
+
{ *xa1 = x1; *ya1 = y1; *xa2 = x2; *ya2 = y2; }
|
330
|
+
|
331
|
+
private:
|
332
|
+
|
333
|
+
double x1, y1; // lower left corner
|
334
|
+
double x2, y2; // upper right corner
|
335
|
+
LinkAction *action; // action
|
336
|
+
GBool ok; // is link valid?
|
337
|
+
};
|
338
|
+
|
339
|
+
//------------------------------------------------------------------------
|
340
|
+
// Links
|
341
|
+
//------------------------------------------------------------------------
|
342
|
+
|
343
|
+
class Links {
|
344
|
+
public:
|
345
|
+
|
346
|
+
// Extract links from array of annotations.
|
347
|
+
Links(Object *annots, GString *baseURI);
|
348
|
+
|
349
|
+
// Destructor.
|
350
|
+
~Links();
|
351
|
+
|
352
|
+
// Iterate through list of links.
|
353
|
+
int getNumLinks() { return numLinks; }
|
354
|
+
Link *getLink(int i) { return links[i]; }
|
355
|
+
|
356
|
+
// If point <x>,<y> is in a link, return the associated action;
|
357
|
+
// else return NULL.
|
358
|
+
LinkAction *find(double x, double y);
|
359
|
+
|
360
|
+
// Return true if <x>,<y> is in a link.
|
361
|
+
GBool onLink(double x, double y);
|
362
|
+
|
363
|
+
private:
|
364
|
+
|
365
|
+
Link **links;
|
366
|
+
int numLinks;
|
367
|
+
};
|
368
|
+
|
369
|
+
#endif
|