• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

cgi-bin/H05-Nov-2021-241122

data/H05-Nov-2021-5,4895,423

desktop/H03-May-2022-156101

doc/H03-May-2022-575486

fonts/H05-Nov-2021-8944

htmldoc/H03-May-2022-58,58640,300

snap/H05-Nov-2021-3125

vcnet/H03-May-2022-2,3712,067

xcode/H05-Nov-2021-1,7171,504

.imgbotconfigH A D05-Nov-202140 43

.lgtm.ymlH A D05-Nov-2021182 65

CHANGES.mdH A D05-Nov-202111.9 KiB294235

COPYINGH A D05-Nov-202117.7 KiB340281

INSTALL.mdH A D05-Nov-20212.2 KiB7650

Makedefs.inH A D05-Nov-20211.8 KiB9380

Makefile.inH A D05-Nov-20211.9 KiB9844

README.mdH A D05-Nov-20215.6 KiB14895

SNAPCRAFT.mdH A D05-Nov-2021319 96

config.guessH A D05-Nov-202144.7 KiB1,5691,356

config.h.inH A D05-Nov-20214 KiB265175

config.subH A D05-Nov-202134.8 KiB1,7941,656

configureH A D05-Nov-2021206 KiB7,7456,400

configure.acH A D05-Nov-202111.8 KiB421354

dmgbuild.pyH A D05-Nov-2021431 1413

install-shH A D05-Nov-20215.4 KiB233145

README.md

1HTMLDOC - HTML Conversion Software
2==================================
3
4![Version](https://img.shields.io/github/v/release/michaelrsweet/htmldoc?include_prereleases)
5![GPL-2.0](https://img.shields.io/github/license/michaelrsweet/htmldoc)
6[![Build](https://github.com/michaelrsweet/pdfio/workflows/Build/badge.svg)](https://github.com/michaelrsweet/htmldoc/actions/workflows/build.yml)
7[![Coverity Scan Status](https://img.shields.io/coverity/scan/22389.svg)](https://scan.coverity.com/projects/michaelrsweet-htmldoc)
8[![LGTM Grade](https://img.shields.io/lgtm/grade/cpp/github/michaelrsweet/htmldoc)](https://lgtm.com/projects/g/michaelrsweet/htmldoc/context:cpp)
9[![LGTM Alerts](https://img.shields.io/lgtm/alerts/github/michaelrsweet/htmldoc)](https://lgtm.com/projects/g/michaelrsweet/htmldoc/)
10
11
12HTMLDOC is a program that reads HTML and Markdown source files or web pages and
13generates corresponding EPUB, HTML, PostScript, or PDF files with an optional
14table of contents.
15
16HTMLDOC was developed in the 1990's as a documentation generator for my previous
17company, and has since seen a lot of usage as a report generator embedded in web
18servers.  However, it does not support many things in "the modern web", such as:
19
20- Cascading Style Sheets (CSS): While I have experimented with adding CSS
21  support to HTMLDOC, proper CSS support is non-trivial especially for paged
22  output (which is not well supported by CSS)
23
24- Encryption: HTMLDOC currently supports the older (and very insecure) PDF 1.4
25  (128-bit RC4) encryption.  I have looked at supporting AES (256-bit)
26  encryption, however it is not widely supported and there are incompatible
27  changes in PDF 2.0, so it is unlikely to be added to HTMLDOC.
28
29- Forms: HTML forms and PDF forms are very different things.  While I have had
30  many requests to add support for PDF forms over the years, I have not found a
31  satisfactory way to do so.
32
33- Tables: HTMLDOC supports HTML 3.2 tables with basic support for TBODY and
34  THEAD.
35
36- Unicode: While HTMLDOC does support UTF-8 for "Western" languages, there is
37  absolutely no support for languages that require dynamic rewriting or
38  right-to-left text formatting.  Basically this means you can't use HTMLDOC
39  to format Arabic, Chinese, Hebrew, Japanese, or other languages that are not
40  based on latin-based alphabets that read left-to-right.
41
42- Emoji: The fonts bundled with HTMLDOC do not include Unicode Emoji characters.
43
44
45Resources
46---------
47
48The following HTMLDOC resources are available online:
49
50- Official web site and online documentation:
51
52    https://www.msweet.org/htmldoc
53
54- Issue tracker and questions:
55
56    https://github.com/michaelrsweet/htmldoc/issues
57
58
59Using HTMLDOC
60-------------
61
62Note: Complete documentation for HTMLDOC is available in the "doc" subdirectory.
63The following provides basic information on using HTMLDOC at the command-line
64and does not discuss the GUI or web server functionality.
65
66HTMLDOC accepts a list of HTML and/or Markdown "source" files and will generate
67EPUB, HTML, PostScript, or PDF output via command-line options.  A summary of
68command-line options can be shown with the "--help" option:
69
70    htmldoc --help
71
72HTMLDOC normally expects "structured" documents, with chapters, etc.  Chapters
73begin with a H1 markup and continue to the end of the listed HTML files or the
74next H1 markup, whichever comes first.  To convert unstructured documents such
75as web pages, use the "--webpage" option to HTMLDOC:
76
77    htmldoc --webpage ...
78
79To generate a Level 2 PostScript file you might use:
80
81    htmldoc -f outfile.ps chapter1.html ... chapterN.html
82
83Similarly you can generate an EPUB or PDF file of the same source files using:
84
85    htmldoc -f outfile.epub chapter1.html ... chapterN.html
86
87    htmldoc -f outfile.pdf chapter1.html ... chapterN.html
88
89Finally, to generate HTML files for viewing (with a linked table-of-contents) do
90the following:
91
92    htmldoc -t html -d outdir chapter1.html ... chapterN.html
93
94or:
95
96    htmldoc -t html -f outfile.html chapter1.html ... chapterN.html
97
98A complete description of all command-line options and HTML guidelines can be
99found in the software users manual in the "doc" directory.
100
101
102Credits
103-------
104
105Many thanks to Leonard Rosenthol for providing the original changes to support
106a macOS (9) version of HTMLDOC.
107
108The original table VALIGN and "HALF PAGE" code was contributed by D. Richard
109Hipp.
110
111The original multiple header/footer image code was contributed by Lynn Pye.
112
113The RC4 encryption code is from librc4 1.1 by the folks at Carnegie Mellon
114University.
115
116The MD5 hash code is from L. Peter Deutsch at Aladdin Enterprises (creators
117of Ghostscript, among other things).
118
119
120Legal Stuff
121-----------
122
123HTMLDOC is copyright © 1997-2021 by Michael R Sweet.  This program is free
124software.  Distribution and use rights are outlined in the file "COPYING".
125
126HTMLDOC includes code to encrypt PDF document files using the RC4 algorithm
127with up to a 128-bit key.  While this software and code may be freely used
128and exported under current US laws, other countries may restrict your use
129and possession of this code and software.
130
131The Adobe Portable Document Format is Copyright 1985-2005 by Adobe Systems
132Incorporated. Adobe, FrameMaker, and PostScript are registered trademarks of
133Adobe Systems, Incorporated.
134
135The Graphics Interchange Format is the copyright and GIF is the service mark
136property of CompuServe Incorporated.
137
138Linux is a registered trademark of Linus Torvalds.
139
140macOS is a registered trademark of Apple Inc.
141
142Microsoft and Windows are registered trademarks of Microsoft Corporation.
143
144UNIX is a registered trademark of the X/Open Company, Ltd.
145
146This software is based in part on the work of the Independent JPEG Group and
147FLTK project.
148