From b185a26d00bb64de398242b339ffaccd5c652052 Mon Sep 17 00:00:00 2001 From: Nick Burch Date: Sun, 17 Aug 2008 20:15:51 +0000 Subject: [PATCH] Further HPBF documentation, and some more sample files used git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@686640 13f79535-47bb-0310-9956-ffa450edef68 --- src/documentation/content/xdocs/book.xml | 1 + .../content/xdocs/hpbf/file-format.xml | 14 ++++---- .../content/xdocs/hpbf/index.xml | 2 +- src/documentation/content/xdocs/index.xml | 28 ++++++++------- .../org/apache/poi/hpbf/dev/HPBFDumper.java | 22 ++++++++++++ .../org/apache/poi/hpbf/data/Sample2.pub | Bin 0 -> 72704 bytes .../org/apache/poi/hpbf/data/Sample2.txt | 34 ++++++++++++++++++ .../org/apache/poi/hpbf/data/Sample3.pub | Bin 0 -> 72192 bytes .../org/apache/poi/hpbf/data/Sample3.txt | 29 +++++++++++++++ .../org/apache/poi/hpbf/data/Sample4.pub | Bin 0 -> 72192 bytes .../org/apache/poi/hpbf/data/Sample4.txt | 29 +++++++++++++++ 11 files changed, 140 insertions(+), 19 deletions(-) create mode 100755 src/scratchpad/testcases/org/apache/poi/hpbf/data/Sample2.pub create mode 100644 src/scratchpad/testcases/org/apache/poi/hpbf/data/Sample2.txt create mode 100755 src/scratchpad/testcases/org/apache/poi/hpbf/data/Sample3.pub create mode 100644 src/scratchpad/testcases/org/apache/poi/hpbf/data/Sample3.txt create mode 100755 src/scratchpad/testcases/org/apache/poi/hpbf/data/Sample4.pub create mode 100644 src/scratchpad/testcases/org/apache/poi/hpbf/data/Sample4.txt diff --git a/src/documentation/content/xdocs/book.xml b/src/documentation/content/xdocs/book.xml index ab1af452e..39424524f 100644 --- a/src/documentation/content/xdocs/book.xml +++ b/src/documentation/content/xdocs/book.xml @@ -41,6 +41,7 @@ + diff --git a/src/documentation/content/xdocs/hpbf/file-format.xml b/src/documentation/content/xdocs/hpbf/file-format.xml index 591204951..97d5a33d7 100644 --- a/src/documentation/content/xdocs/hpbf/file-format.xml +++ b/src/documentation/content/xdocs/hpbf/file-format.xml @@ -38,19 +38,19 @@ Root Entry - Objects - (no children) - SummaryInformation <(0x05)SummaryInformation> - DocumentSummaryInformation <(0x05)DocumentSummaryInformation> + SummaryInformation <(0x05)SummaryInformation> + DocumentSummaryInformation <(0x05)DocumentSummaryInformation> Escher - EscherStm EscherDelayStm Quill - QuillSub - CONTENTS - CompObj <(0x01)CompObj> + CompObj <(0x01)CompObj> Envelope Contents - Internal <(0x03)Internal> - CompObj <(0x01)CompObj> + Internal <(0x03)Internal> + CompObj <(0x01)CompObj> VBA - (no children) @@ -69,7 +69,7 @@ Root Entry - then both Contents and CONTENTS streams change. There are no changes to the Escher streams.

If you set the background colour of a textbox, but make - no changes to the text, + no changes to the text, (to finish off)

Structure of CONTENTS

First we have "CHNKINK ", followed by 24 bytes.

@@ -162,6 +162,8 @@ PL 62 1a 00 00 48 00 00 00 // PL from: 1a62 (6754), len: 48 (72) 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + +(the text will then start)
diff --git a/src/documentation/content/xdocs/hpbf/index.xml b/src/documentation/content/xdocs/hpbf/index.xml index 2601a4174..c74dc2362 100755 --- a/src/documentation/content/xdocs/hpbf/index.xml +++ b/src/documentation/content/xdocs/hpbf/index.xml @@ -39,7 +39,7 @@ after that if demand and developer interest warrant it.

At this time, there is no usermodel api or similar.

Our current understanding of the file format is documented - here.

+ here.

This code currently lives the scratchpad area diff --git a/src/documentation/content/xdocs/index.xml b/src/documentation/content/xdocs/index.xml index 3cf305954..17e4336d0 100644 --- a/src/documentation/content/xdocs/index.xml +++ b/src/documentation/content/xdocs/index.xml @@ -146,6 +146,16 @@ href="./hslf/index.html">the HSLF project page for more information.

+
HPSF for Document Properties +

HPSF is our port of the OLE 2 property set format to pure + Java. Property sets are mostly use to store a document's properties + (title, author, date of last modification etc.), but they can be used + for application-specific purposes as well.

+ +

HPSF supports both reading and writing of properties.

+

Please see the HPSF project + page for more information.

+
HDGF for Visio Documents

HDGF is our port of the Microsoft Viso 97(-2003) file format to pure Java. It currently only supports reading at a very low level, and @@ -153,19 +163,13 @@ href="./hdgf/index.html">the HDGF project page for more information.

-
HPSF for Document Properties -

HPSF is our port of the OLE 2 property set format to pure - Java. Property sets are mostly use to store a document's properties - (title, author, date of last modification etc.), but they can be used - for application-specific purposes as well.

- -

HPSF supports reading and writing of properties. However, you will - need to be using version 3.0 of POI to utilise the write support.

- -

Please see the HPSF project - page for more information.

+
HPBF for Publisher Documents +

HPBF is our port of the Microsoft Publisher 98(-2007) file format to pure + Java. At the moment, we are still figuring out the file format, but we hope + to have simple text extraction shortly. Please see the HPBF project page for more + information.

-
Contributing diff --git a/src/scratchpad/src/org/apache/poi/hpbf/dev/HPBFDumper.java b/src/scratchpad/src/org/apache/poi/hpbf/dev/HPBFDumper.java index ae3cb56d5..6c52bbb04 100644 --- a/src/scratchpad/src/org/apache/poi/hpbf/dev/HPBFDumper.java +++ b/src/scratchpad/src/org/apache/poi/hpbf/dev/HPBFDumper.java @@ -310,8 +310,30 @@ public class HPBFDumper { ); } } + + // Text System.out.println(""); + System.out.println("TEXT:"); System.out.println(text); + System.out.println(""); + + // All the others + for(int i=0; i<20; i++) { + if(startType[i] == null) { + continue; + } + int start = from[i]; + + System.out.println( + startType[i] + " -> " + endType[i] + + " @ " + Integer.toHexString(start) + + " (" + start + ")" + ); + System.out.println("\t" + dumpBytes(data, start, 4)); + System.out.println("\t" + dumpBytes(data, start+4, 4)); + System.out.println("\t" + dumpBytes(data, start+8, 4)); + System.out.println("\t(etc)"); + } } protected void dump001CompObj(DirectoryNode dir) { diff --git a/src/scratchpad/testcases/org/apache/poi/hpbf/data/Sample2.pub b/src/scratchpad/testcases/org/apache/poi/hpbf/data/Sample2.pub new file mode 100755 index 0000000000000000000000000000000000000000..610362c471b81bac36e46166ae98d5f3033a7e5f GIT binary patch literal 72704 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 literal 0 HcmV?d00001 diff --git a/src/scratchpad/testcases/org/apache/poi/hpbf/data/Sample3.txt b/src/scratchpad/testcases/org/apache/poi/hpbf/data/Sample3.txt new file mode 100644 index 000000000..c2d791b9a --- /dev/null +++ b/src/scratchpad/testcases/org/apache/poi/hpbf/data/Sample3.txt @@ -0,0 +1,29 @@ +This is some text on the first page +It’s in times new roman, font size 10, all normal + + +This is in bold and italic +It’s Arial, 20 point font +It’s in the second textbox on the first page + + +This is the second page12345678 + +It is also times new roman, 10 point + + +Table on page 2 Top right +P2 table left P2 table right +Bottom Left Bottom Right + + +This text is on page two +This is a link to Apache POI +More normal text +Link to a file + + +More text, more hyperlinks +email link +Final hyperlink +Within doc to page 1 diff --git a/src/scratchpad/testcases/org/apache/poi/hpbf/data/Sample4.pub b/src/scratchpad/testcases/org/apache/poi/hpbf/data/Sample4.pub new file mode 100755 index 0000000000000000000000000000000000000000..445df85f092970c36d4b3003d375331a707d6b3c GIT binary patch literal 72192 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 literal 0 HcmV?d00001 diff --git a/src/scratchpad/testcases/org/apache/poi/hpbf/data/Sample4.txt b/src/scratchpad/testcases/org/apache/poi/hpbf/data/Sample4.txt new file mode 100644 index 000000000..279395e5d --- /dev/null +++ b/src/scratchpad/testcases/org/apache/poi/hpbf/data/Sample4.txt @@ -0,0 +1,29 @@ +This is some text on the first page +It’s in times new roman, font size 10, all normal + + +This is in bold and italic +It’s Arial, 20 point font +It’s in the second textbox on the first page + + +This is the second page + +It is also times new roman, 10 point + + +Table on page 2 Top right +P2 table left P2 table right +Bottom Left Bottom Right + + +This text is on page two +This is a link to Apache POI +More normal text +Link to a file + + +More text, more hyperlinks +email link +Final hyperlink +Within doc to page 1