Skip to content
Snippets Groups Projects
Volker Schukai's avatar
Volker Schukai authored
4b5d06d4
History
Name Last commit Last update
.config/chglog
.gitlab/issue_templates
.idea
assets
documentation/manual/de
nix
.envrc
.gitignore
.gitlab-ci.yml
CHANGELOG.md
CONTRIBUTING.md
LICENSE
README.md
characterSet.go
characterSet_test.go
constants.go
document.go
document_test.go
error.go
file.go
flake.lock
flake.nix
go.mod
objects.go
objects_test.go
pageTree.go
parser.go
parser_test.go
pdf.go
pdf_test.go
release.json
state.go
stateBeforeDictionaryValue.go
stateBeforeKey.go
stateByteOffsetOflastCrossreferenceSection.go
stateByteOffsetOflastCrossreferenceSection_test.go
stateComment.go
stateComment_test.go
stateDictionary.go
stateDictionaryKey.go
stateEndArrayObject.go
stateEndArrayObject_test.go
stateEndOfFile.go
stateEndOfFile_test.go
stateEndOfLine.go
stateEndOfLine_test.go
stateFileHeader.go
stateFileHeader_test.go
stateIdentifyLineType.go
stateIdentifyLineType_test.go
stateInitial.go
stateInitial_test.go
stateMaschiine.puml
stateNewline.go
stateNewline_test.go
statePDFVersion.go
statePDFVersion_test.go
stateReadBooleanObject.go
stateReadBooleanObject_test.go
stateReadNameObject.go
stateReadNameObject_test.go
stateReadNullObject.go
stateReadNullObject_test.go
stateReadNumberObject.go
stateReadNumberObject_test.go
stateReadStringObject.go
stateReadStringObject_test.go
stateRunBody.go
stateRunBody_test.go
stateStartArrayObject.go
stateStartArrayObject_test.go
stateStartDictionary.go
stateStartDictionary_test.go
stateStartValue.go
stateStartValue_test.go
stateTest.go
stateTrailer.go
stateTrailer_test.go
stateWhitespace.go
stateWhitespace_test.go
stateXref.go
stateXref_test.go
token.go
tokenizer.go
tokenizer_test.go

PDF

What does this library?

This library provides a simple way to work with PDF files in Go.

It supports:

  • Boolean objects
  • Number objects
  • String literals
  • String hexadecimals
  • Name objects
  • Array objects
  • Dictionary objects
  • Stream objects
  • Indirect objects
  • Null objects

Not supported:

  • Encrypted PDFs

Installation

go get gitlab.schukai.com/oss/libraries/go/documents/pdf

Contributing

Merge requests are welcome. For major changes, please open an issue first to discuss what you would like to change. Please make sure to update tests as appropriate.

Versioning is done with SemVer. Changelog is generated with git-chglog

Commit messages should follow the Conventional Commits specification. Messages are started with a type, which is one of the following:

  • feat: A new feature
  • fix: A bug fix
  • doc: Documentation only changes
  • refactor: A code change that neither fixes a bug nor adds a feature
  • perf: A code change that improves performance
  • test: Adding missing or correcting existing tests
  • chore: Other changes that don't modify src or test files

The footer would be used for a reference to an issue or a breaking change.

A commit that has a footer BREAKING CHANGE:, or appends a ! after the type/scope, introduces a breaking API change (correlating with MAJOR in semantic versioning). A BREAKING CHANGE can be part of commits of any type.

the following is an example of a commit message:

feat: add 'extras' field

License

This library is available under the AGPL-3.0 license for open-source projects. For commercial use, please reach out to us at sales@schukai.com.