Example usage for org.apache.poi.hpsf.wellknown SectionIDMap SUMMARY_INFORMATION_ID

List of usage examples for org.apache.poi.hpsf.wellknown SectionIDMap SUMMARY_INFORMATION_ID

Introduction

In this page you can find the example usage for org.apache.poi.hpsf.wellknown SectionIDMap SUMMARY_INFORMATION_ID.

Prototype

ClassID SUMMARY_INFORMATION_ID

To view the source code for org.apache.poi.hpsf.wellknown SectionIDMap SUMMARY_INFORMATION_ID.

Click Source Link

Document

The SummaryInformation's section's format ID.

Usage

From source file:poi.hpsf.examples.WriteTitle.java

License:Apache License

/**
 * <p>Runs the example program.</p>
 *
 * @param args Command-line arguments. The first and only command-line 
 * argument is the name of the POI file system to create.
 * @throws java.io.IOException if any I/O exception occurs.
 * @throws WritingNotSupportedException if HPSF does not (yet) support 
 * writing a certain property type./*from w ww .ja  v a2 s .  c  o  m*/
 */
public static void main(final String[] args) throws WritingNotSupportedException, IOException {
    /* Check whether we have exactly one command-line argument. */
    if (args.length != 1) {
        System.err.println("Usage: " + WriteTitle.class.getName() + "destinationPOIFS");
        System.exit(1);
    }

    final String fileName = args[0];

    /* Create a mutable property set. Initially it contains a single section
     * with no properties. */
    final MutablePropertySet mps = new MutablePropertySet();

    /* Retrieve the section the property set already contains. */
    final MutableSection ms = (MutableSection) mps.getSections().get(0);

    /* Turn the property set into a summary information property. This is
     * done by setting the format ID of its first section to
     * SectionIDMap.SUMMARY_INFORMATION_ID. */
    ms.setFormatID(SectionIDMap.SUMMARY_INFORMATION_ID);

    /* Create an empty property. */
    final MutableProperty p = new MutableProperty();

    /* Fill the property with appropriate settings so that it specifies the
     * document's title. */
    p.setID(PropertyIDMap.PID_TITLE);
    p.setType(Variant.VT_LPWSTR);
    p.setValue("Sample title");

    /* Place the property into the section. */
    ms.setProperty(p);

    /* Create the POI file system the property set is to be written to. */
    final POIFSFileSystem poiFs = new POIFSFileSystem();

    /* For writing the property set into a POI file system it has to be
     * handed over to the POIFS.createDocument() method as an input stream
     * which produces the bytes making out the property set stream. */
    final InputStream is = mps.toInputStream();

    /* Create the summary information property set in the POI file
     * system. It is given the default name most (if not all) summary
     * information property sets have. */
    poiFs.createDocument(is, SummaryInformation.DEFAULT_STREAM_NAME);

    /* Write the whole POI file system to a disk file. */
    poiFs.writeFilesystem(new FileOutputStream(fileName));
}