packages feed

pdf-toolbox-core-0.1.3: pdf-toolbox-core.cabal

name:                pdf-toolbox-core
version:             0.1.3
synopsis:            A collection of tools for processing PDF files.
license:             BSD3
license-file:        LICENSE
author:              Yuras Shumovich
maintainer:          Yuras Shumovich <shumovichy@gmail.com>
copyright:           Copyright (c) Yuras Shumovich 2012-2016
category:            PDF
build-type:          Simple
cabal-version:       >=1.10
homepage:            https://github.com/Yuras/pdf-toolbox
extra-source-files:  changelog.md
description:
  Low level tools for processing PDF files.
  .
  Level of abstraction: cross reference, trailer, indirect object, object
  .
  The API is based on random access input streams, and is designed to be memory efficient.
  We don't need to parse the entire PDF file and store it in memory when you need just one page or two.
  Usually it is also leads to time efficiency, but we don't try optimize performance
  by e.g. maintaining xref or object cache. Higher level layers should take care of it.
  .
  The library is low level. It may mean that you need to be familiar with PDF file internals to
  actually use it.

source-repository head
  type:                git
  location:            git://github.com/Yuras/pdf-toolbox.git

flag zlib
  description: Enable deflate support via zlib; requires that the Zlib flag be set on io-streams
  default:             True
  manual:              True

library
  hs-source-dirs:      lib
                       compat
  if flag(zlib)
    hs-source-dirs:    zlib
  else
    hs-source-dirs:    no-zlib
  exposed-modules:     Pdf.Core
                       Pdf.Core.File
                       Pdf.Core.IO.Buffer
                       Pdf.Core.Encryption
                       Pdf.Core.Exception
                       Pdf.Core.Name
                       Pdf.Core.Object
                       Pdf.Core.Object.Builder
                       Pdf.Core.Object.Util
                       Pdf.Core.Parsers.Object
                       Pdf.Core.Parsers.XRef
                       Pdf.Core.Parsers.Util
                       Pdf.Core.Stream
                       Pdf.Core.Stream.Filter.Type
                       Pdf.Core.Stream.Filter.FlateDecode
                       Pdf.Core.Types
                       Pdf.Core.XRef
                       Pdf.Core.Util
                       Pdf.Core.Writer
  other-modules:       Prelude
  build-depends:       base >= 4.9 && < 5,
                       bytestring >= 0.10.4 && < 0.13,
                       base16-bytestring >= 1,
                       io-streams,
                       attoparsec >= 0.12,
                       scientific,
                       vector,
                       hashable,
                       unordered-containers,
                       containers,
                       cipher-rc4,
                       cipher-aes,
                       crypto-api,
                       cryptohash
  if impl(ghc >= 8.10)
    ghc-options:       -Wunused-packages
  default-language:    Haskell2010

test-suite test
  type:                exitcode-stdio-1.0
  hs-source-dirs:      test
                       compat
  main-is:             test.hs
  other-modules:       Test.XRef
                       Test.Stream
                       Test.Parsers.Object
                       Test.Object.Builder
                       Test.Object.Util
                       Test.Name
                       Prelude
  build-depends:       base,
                       pdf-toolbox-core,
                       bytestring,
                       vector,
                       unordered-containers,
                       attoparsec,
                       io-streams,
                       hspec
  if impl(ghc >= 8.10)
    ghc-options:       -Wunused-packages
  default-language:    Haskell2010