Giter Club home page Giter Club logo

pdf2htmlex's Introduction

pdf2htmlEX

A beautiful demo is worth a thousand words:

Introduction

pdf2htmlEX renders PDF files in HTML, utilizing modern Web technologies, aims to provide an accuracy rendering, while keeping optimized for Web display.

It is optimized for modern web browsers. On Linux/Mac, the generated HTML pages could be as beautiful as PDF files.

This program is designed for scientific papers with complicate formulas and figures, therefore precise rendering is the #1 concern. But of course general PDF files are also supported.

Why HTML ?

HTML, together with CSS and Javascript, is much more open and flexible than PDF. Almost everything can be customized.

  • Embedding documents to web pages with consistent theme and behavior
  • Cross references to other documents are much easier and intuitive
  • More functions to the document with Javascript, e.g. access control, animation, statistics

Readers can also be benefitted

  • Read while downloading
  • Plugin-free

Features

  • Optional single HTML file output
  • Precise rendering
  • Text perserved - you can select & copy & paste
  • Proper styling
    • Font - extracted and reencoded
    • Color
    • Transformation
  • Links
  • [EXPERIMENTAL] Path drawing with CSS
    • Orthogonal lines
    • Rectangles
    • Linear gradients
  • Not fully supported, and rendered as images
    • Type 3 fonts
    • Non-text object

Get started

Ubuntu

PPA, which is not so up-to-date.

ArchLinux

AUR Package, special thanks to Arthur Titeica [email protected]

Gentoo

Install through Overlay gentoo-zh, mrueg or sunrise, thanks to the packagers.

Mac

Homebrew Formula, special thanks to Jamie Ly [email protected]

Macports (local repo), special thanks to Deepak Thukral [email protected]

Windows

The code may be built with Cygwin.

Or with MinGW with some modifications.

More info can be found on the pdf2htmlEX page in TeX Wiki (in Japanese), special thanks to Haruhiko Okumura

Build from source

Dependency

  • CMake, pkg-config
  • GNU Getopt
  • compilers support C++11, for example
  • GCC >= 4.4.6
  • I heard about successful build with Clang
  • poppler with xpdf header >= 0.20.0 (compile with --enable-xpdf-headers)
  • Install libpng (and headers) BEFORE you compile poppler if you want background images generated
  • Install poppler-data if your want CJK support
  • fontforge (with header files)
  • git version is recommended to avoid annoying compilation issues
  • [Optional] ttfautohint
  • run pdf2htmlEX with --external-hint-tool=ttfautohint to enable it

Compiling

git clone --depth 1 git://github.com/coolwanglu/pdf2htmlEX.git
cd pdf2htmlEX
cmake . && make && sudo make install

Usage

pdf2htmlEX /path/to/foobar.pdf

pdf2htmlEX --help

man pdf2htmlEX

FAQ

LICENSE

GPLv2 & GPLv3 Dual licensed

pdf2htmlEX is totally free, please credit pdf2htmlEX if you use it

Please consider sponsoring it if you use it for commercial purpose

Font extraction, conversion or redistribution may be illegal, please check your local laws

Acknowledge

pdf2htmlEX is made possible thanks to the following projects:

pdf2htmlEX is inspired by the following projects:

  • pdftops & pdftohtml from poppler
  • MuPDF
  • PDF.js
  • Crocodoc
  • Google Doc

Contact

  • Mailing list [email protected]

    • Please read FAQ before sending emails. Or your message might be ignored.
    • Please use the latest master branch.
  • Lu Wang [email protected]

    • Please use the mailing list above unless for personal enquiries.
    • Accepting messages in Chinese, English or Japanese.

Special Thanks

pdf2htmlex's People

Contributors

coolwanglu avatar tatetian avatar iapain avatar johnbinwang avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.