Example usage for com.lowagie.text.pdf PdfWriter PageModeUseThumbs

List of usage examples for com.lowagie.text.pdf PdfWriter PageModeUseThumbs

Introduction

In this page you can find the example usage for com.lowagie.text.pdf PdfWriter PageModeUseThumbs.

Prototype

int PageModeUseThumbs

To view the source code for com.lowagie.text.pdf PdfWriter PageModeUseThumbs.

Click Source Link

Document

A viewer preference

Usage

From source file:ambit.data.qmrf.Qmrf_Xml_Pdf.java

License:Open Source License

public void xml2pdf(InputSource xml, OutputStream pdf) {

    try {//w w w .  j ava  2  s .c  o  m
        Document document = new Document(PageSize.A4, 80, 50, 30, 65);

        PdfWriter writer = PdfWriter.getInstance(document, pdf);
        //writer.setViewerPreferences(PdfWriter.HideMenubar| PdfWriter.HideToolbar);
        writer.setViewerPreferences(PdfWriter.PageModeUseThumbs | PdfWriter.PageModeUseOutlines);
        //PdfOutline root = writer.getDirectContent().getRootOutline();
        //new PdfOutline(root, new PDFAction("http://nina.acad.bg/qmrf"), "a bookmark");

        //writer.addFileAttachment(arg0, arg1, arg2, arg3)

        if (docBuilder == null)
            docBuilder = docBuilderFactory.newDocumentBuilder();
        docBuilder.setErrorHandler(new SimpleErrorHandler(getClass().getName()));
        QMRFSchemaResolver resolver = new QMRFSchemaResolver("http://ambit.acad.bg/qmrf/qmrf.dtd", null);
        resolver.setIgnoreSystemID(true);
        docBuilder.setEntityResolver(resolver);

        org.w3c.dom.Document doc = null;
        try {
            doc = docBuilder.parse(xml);
        } catch (Exception x) {
            document.addCreationDate();
            document.addCreator(getClass().getName());
            document.open();
            document.add(new Paragraph(new Chunk(x.getMessage())));
            document.close();
            return;
        }

        document.addCreationDate();
        document.addCreator(getClass().getName());
        document.addKeywords(replaceTags(findNodeValue("keywords", doc)));
        document.addTitle(replaceTags(findNodeValue("QSAR_title", doc)));

        try {
            NodeList info = doc.getElementsByTagName("QMRF");
            for (int i = 0; i < info.getLength(); i++)
                document.addSubject(findAttributeValue("name", info.item(i)) + '.'
                        + findAttributeValue("version", info.item(i)));
        } catch (Exception x) {
            document.addSubject("QMRF");
        }
        try {
            document.addAuthor(listNodeAttributes(doc, "qmrf_authors", "author_ref", "author", att_author,
                    new Boolean(true)));
        } catch (Exception x) {
            document.addAuthor(getClass().getName());
        }

        document.open();
        PdfContentByte cb = writer.getDirectContent();

        try {
            headerTable(document, doc);
        } catch (Exception x) {
            document.add(new Paragraph(new Chunk(x.getMessage())));
            document.close();
            return;
        }

        PdfOutline root = writer.getDirectContent().getRootOutline();

        for (int i = 0; i < subchapters.length; i++)

            try {
                int align = Paragraph.ALIGN_LEFT;
                if (Mode.chapter == (Mode) subchapters[i][2]) {
                    document.add(new Paragraph(new Chunk('\n')));
                    PdfPTable table = new PdfPTable(1);

                    table.setWidthPercentage(100);

                    StringBuffer b = new StringBuffer();
                    b.append(findAttributeValue(subchapters[i][0].toString(), xml_attribute_chapter, doc));
                    b.append('.');
                    b.append(findAttributeValue(subchapters[i][0].toString(), xml_attribute_name, doc));

                    String bookmark = b.toString();

                    Chunk title = new Chunk(bookmark);
                    title.setLocalDestination(bookmark);
                    title.setFont(bfont);

                    PdfDestination destination = new PdfDestination(PdfDestination.FITH);
                    PdfOutline outline = new PdfOutline(root, destination, bookmark);

                    Paragraph p = new Paragraph(title);

                    PdfPCell cell = new PdfPCell(p);
                    cell.setBackgroundColor(chapterColor);
                    table.addCell(cell);
                    document.add(table);
                    float pos = writer.getVerticalPosition(false);
                    if (pos < 90)
                        document.newPage();
                } else {
                    Phrase phrase = new Phrase();
                    switch ((Mode) subchapters[i][2]) {
                    case title: {
                        StringBuffer b = new StringBuffer();
                        String cn = findAttributeValue(subchapters[i][0].toString(), xml_attribute_chapter,
                                doc);
                        if (cn == null)
                            break;

                        b.append(findAttributeValue(subchapters[i][0].toString(), xml_attribute_chapter, doc));
                        b.append('.');
                        b.append(findAttributeValue(subchapters[i][0].toString(), xml_attribute_name, doc));

                        String subchapterBookmark = b.toString();
                        b.append(':');

                        Chunk title = new Chunk(b.toString());
                        title.setLocalDestination(subchapterBookmark);
                        title.setFont(bfont);
                        phrase.add(title);

                        PdfDestination destination = new PdfDestination(PdfDestination.FITBH);
                        PdfOutline outline = new PdfOutline(root, destination, subchapterBookmark);

                        break;

                    }
                    case text: {
                        createNodePhrase(subchapters[i][0].toString(), doc, phrase, font);
                        align = Paragraph.ALIGN_JUSTIFIED;
                        break;
                    }
                    case answer: {
                        String a = findAnswer(subchapters[i][0].toString(), doc);
                        if (a != null) {
                            Chunk answer = new Chunk(a);
                            answer.setFont(font);
                            phrase.add(answer);
                        }
                        break;
                    }
                    case dataset: {
                        StringBuffer b = new StringBuffer();
                        b.append(findDataAvailable(subchapters[i][0].toString(), doc));
                        Chunk dataset = new Chunk(b.toString());
                        dataset.setFont(font);
                        phrase.add(dataset);
                        break;
                    }
                    case attachments: {
                        PdfPTable table = getAttachmentsAsTable(doc, "attachment_training_data");
                        if (table != null) {
                            phrase.add(new Paragraph("Training set(s)"));
                            phrase.add(table);
                        }
                        table = getAttachmentsAsTable(doc, "attachment_validation_data");
                        if (table != null) {
                            phrase.add(new Paragraph("Test set(s)"));
                            phrase.add(table);
                        }
                        table = getAttachmentsAsTable(doc, "attachment_documents");
                        if (table != null) {
                            phrase.add(new Paragraph("Supporting information"));
                            phrase.add(table);
                        }
                        break;
                        /*
                        StringBuffer b = new StringBuffer();
                        b.append("Training set(s)\n");
                         b.append(listAttachments(doc,"attachment_training_data"));
                         b.append("Test set(s)\n");
                         b.append(listAttachments(doc,"attachment_validation_data"));
                         b.append("Supporting information\n");
                         b.append(listAttachments(doc,"attachment_documents"));
                        Chunk attachments = new Chunk(b.toString());
                        attachments.setFont(font);
                        phrase.add(attachments);
                                
                        break;
                        */
                    }
                    case reference: {
                        try {
                            String value = listNodeAttributes(doc, subchapters[i][0].toString(),
                                    subchapters[i][3].toString(), subchapters[i][4].toString(),
                                    (String[]) subchapters[i][5], (Boolean) subchapters[i][6]);

                            Chunk reference = new Chunk(value);
                            reference.setFont(font);
                            align = Paragraph.ALIGN_JUSTIFIED;
                            phrase.add(reference);
                        } catch (Exception x) {

                        }
                        break;

                    }
                    }

                    Paragraph p = new Paragraph(phrase);
                    p.setAlignment(align);
                    document.add(p);
                    float pos = writer.getVerticalPosition(false);
                    /*
                    cb.moveTo(0, pos);
                    cb.lineTo(PageSize.A4.width(), pos);
                    cb.stroke();
                    */
                    if (pos < 90)
                        document.newPage();
                }
            } catch (Exception x) {
                x.printStackTrace();
            }

        document.close();

    } catch (Exception e) {
        e.printStackTrace();
        System.err.println(e.getMessage());
    }
}

From source file:ambit2.data.qmrf.Qmrf_Xml_Pdf.java

License:Open Source License

public void xml2pdf(InputSource xml, OutputStream pdf) {

    try {/*from   www .jav a  2  s .  c o  m*/
        Document document = new Document(PageSize.A4, 80, 50, 30, 65);

        PdfWriter writer = PdfWriter.getInstance(document, pdf);
        //writer.setViewerPreferences(PdfWriter.HideMenubar| PdfWriter.HideToolbar);
        writer.setViewerPreferences(PdfWriter.PageModeUseThumbs | PdfWriter.PageModeUseOutlines);
        //PdfOutline root = writer.getDirectContent().getRootOutline();
        //new PdfOutline(root, new PDFAction("http://nina.acad.bg/qmrf"), "a bookmark");

        //writer.addFileAttachment(arg0, arg1, arg2, arg3)

        if (docBuilder == null)
            docBuilder = docBuilderFactory.newDocumentBuilder();
        docBuilder.setErrorHandler(new SimpleErrorHandler(getClass().getName()));
        QMRFSchemaResolver resolver = new QMRFSchemaResolver("http://ambit2.acad.bg/qmrf/qmrf.dtd", null);
        resolver.setIgnoreSystemID(true);
        docBuilder.setEntityResolver(resolver);

        org.w3c.dom.Document doc = null;
        try {
            doc = docBuilder.parse(xml);
        } catch (Exception x) {
            document.addCreationDate();
            document.addCreator(getClass().getName());
            document.open();
            document.add(new Paragraph(new Chunk(x.getMessage())));
            document.close();
            return;
        }

        document.addCreationDate();
        document.addCreator(getClass().getName());
        document.addKeywords(replaceTags(findNodeValue("keywords", doc)));
        document.addTitle(replaceTags(findNodeValue("QSAR_title", doc)));

        try {
            NodeList info = doc.getElementsByTagName("QMRF");
            for (int i = 0; i < info.getLength(); i++)
                document.addSubject(findAttributeValue("name", info.item(i)) + '.'
                        + findAttributeValue("version", info.item(i)));
        } catch (Exception x) {
            document.addSubject("QMRF");
        }
        try {
            document.addAuthor(listNodeAttributes(doc, "qmrf_authors", "author_ref", "author", att_author,
                    new Boolean(true)));
        } catch (Exception x) {
            document.addAuthor(getClass().getName());
        }

        document.open();
        PdfContentByte cb = writer.getDirectContent();

        try {
            headerTable(document, doc);
        } catch (Exception x) {
            document.add(new Paragraph(new Chunk(x.getMessage())));
            document.close();
            return;
        }

        PdfOutline root = writer.getDirectContent().getRootOutline();

        for (int i = 0; i < subchapters.length; i++)

            try {
                int align = Paragraph.ALIGN_LEFT;
                if (Mode.chapter == (Mode) subchapters[i][2]) {
                    document.add(new Paragraph(new Chunk('\n')));
                    PdfPTable table = new PdfPTable(1);

                    table.setWidthPercentage(100);

                    StringBuffer b = new StringBuffer();
                    b.append(findAttributeValue(subchapters[i][0].toString(), xml_attribute_chapter, doc));
                    b.append('.');
                    b.append(findAttributeValue(subchapters[i][0].toString(), xml_attribute_name, doc));

                    String bookmark = b.toString();

                    Chunk title = new Chunk(bookmark);
                    title.setLocalDestination(bookmark);
                    title.setFont(bfont);

                    PdfDestination destination = new PdfDestination(PdfDestination.FITH);
                    PdfOutline outline = new PdfOutline(root, destination, bookmark);

                    Paragraph p = new Paragraph(title);

                    PdfPCell cell = new PdfPCell(p);
                    cell.setBackgroundColor(chapterColor);
                    table.addCell(cell);
                    document.add(table);
                    float pos = writer.getVerticalPosition(false);
                    if (pos < 90)
                        document.newPage();
                } else {
                    Phrase phrase = new Phrase();
                    switch ((Mode) subchapters[i][2]) {
                    case title: {
                        StringBuffer b = new StringBuffer();
                        String cn = findAttributeValue(subchapters[i][0].toString(), xml_attribute_chapter,
                                doc);
                        if (cn == null)
                            break;

                        b.append(findAttributeValue(subchapters[i][0].toString(), xml_attribute_chapter, doc));
                        b.append('.');
                        b.append(findAttributeValue(subchapters[i][0].toString(), xml_attribute_name, doc));

                        String subchapterBookmark = b.toString();
                        b.append(':');

                        Chunk title = new Chunk(b.toString());
                        title.setLocalDestination(subchapterBookmark);
                        title.setFont(bfont);
                        phrase.add(title);

                        PdfDestination destination = new PdfDestination(PdfDestination.FITBH);
                        PdfOutline outline = new PdfOutline(root, destination, subchapterBookmark);

                        break;

                    }
                    case text: {
                        createNodePhrase(subchapters[i][0].toString(), doc, phrase, font);
                        align = Paragraph.ALIGN_JUSTIFIED;
                        break;
                    }
                    case answer: {
                        String a = findAnswer(subchapters[i][0].toString(), doc);
                        if (a != null) {
                            Chunk answer = new Chunk(a);
                            answer.setFont(font);
                            phrase.add(answer);
                        }
                        break;
                    }
                    case dataset: {
                        StringBuffer b = new StringBuffer();
                        b.append(findDataAvailable(subchapters[i][0].toString(), doc));
                        Chunk dataset = new Chunk(b.toString());
                        dataset.setFont(font);
                        phrase.add(dataset);
                        break;
                    }
                    case attachments: {
                        PdfPTable table = getAttachmentsAsTable(doc, "attachment_training_data");
                        if (table != null) {
                            phrase.add(new Paragraph("Training set(s)"));
                            phrase.add(table);
                        }
                        table = getAttachmentsAsTable(doc, "attachment_validation_data");
                        if (table != null) {
                            phrase.add(new Paragraph("Test set(s)"));
                            phrase.add(table);
                        }
                        table = getAttachmentsAsTable(doc, "attachment_documents");
                        if (table != null) {
                            phrase.add(new Paragraph("Supporting information"));
                            phrase.add(table);
                        }
                        break;
                        /*
                        StringBuffer b = new StringBuffer();
                        b.append("Training set(s)\n");
                         b.append(listAttachments(doc,"attachment_training_data"));
                         b.append("Test set(s)\n");
                         b.append(listAttachments(doc,"attachment_validation_data"));
                         b.append("Supporting information\n");
                         b.append(listAttachments(doc,"attachment_documents"));
                        Chunk attachments = new Chunk(b.toString());
                        attachments.setFont(font);
                        phrase.add(attachments);
                                
                        break;
                        */
                    }
                    case reference: {
                        try {
                            String value = listNodeAttributes(doc, subchapters[i][0].toString(),
                                    subchapters[i][3].toString(), subchapters[i][4].toString(),
                                    (String[]) subchapters[i][5], (Boolean) subchapters[i][6]);

                            Chunk reference = new Chunk(value);
                            reference.setFont(font);
                            align = Paragraph.ALIGN_JUSTIFIED;
                            phrase.add(reference);
                        } catch (Exception x) {

                        }
                        break;

                    }
                    }

                    Paragraph p = new Paragraph(phrase);
                    p.setAlignment(align);
                    document.add(p);
                    float pos = writer.getVerticalPosition(false);
                    /*
                    cb.moveTo(0, pos);
                    cb.lineTo(PageSize.A4.width(), pos);
                    cb.stroke();
                    */
                    if (pos < 90)
                        document.newPage();
                }
            } catch (Exception x) {
                x.printStackTrace();
            }

        document.close();

    } catch (Exception e) {
        e.printStackTrace();
        System.err.println(e.getMessage());
    }
}

From source file:jPDFmelange.MelangeJFrame.java

License:Open Source License

/**
 * This method initializes <code>this</code>.
 * /*  w  ww . j av a2 s  . com*/
 */
private void initialize() {

    // Initialize the Mode and Layout Maps
    //PageMode.put(messages.getString("PAGE_MODE_USE_OUTLINES"), PdfWriter.PageModeUseOutlines);
    PageMode.put("PAGE_MODE_USE_NONE", PdfWriter.PageModeUseNone);
    PageMode.put("PAGE_MODE_FULL_SCREEN", PdfWriter.PageModeFullScreen);
    PageMode.put("PAGE_MODE_USE_THUMBS", PdfWriter.PageModeUseThumbs);
    PageMode.put("PAGE_MODE_USE_OC", PdfWriter.PageModeUseOC);
    PageMode.put("PAGE_MODE_USE_ATTACHMENTS", PdfWriter.PageModeUseAttachments);
    prefPageMode = "PAGE_MODE_USE_NONE";

    PageLayout.put("PAGE_LAYOUT_SINGLE_PAGE", PdfWriter.PageLayoutSinglePage);
    PageLayout.put("PAGE_LAYOUT_ONE_COLUMN", PdfWriter.PageLayoutOneColumn);
    PageLayout.put("PAGE_LAYOUT_TWO_COLUMN_LEFT", PdfWriter.PageLayoutTwoColumnLeft);
    PageLayout.put("PAGE_LAYOUT_TWO_COLUMN_RIGHT", PdfWriter.PageLayoutTwoColumnRight);
    PageLayout.put("PAGE_LAYOUT_TWO_PAGE_LEFT", PdfWriter.PageLayoutTwoPageLeft);
    PageLayout.put("PAGE_LAYOUT_TWO_PAGE_RIGHT", PdfWriter.PageLayoutTwoColumnRight);
    prefPageLayout = "PAGE_LAYOUT_SINGLE_PAGE";

    // Initialize the locale
    localeTable.add(new Locale("de"));
    localeTable.add(new Locale("en"));

    System.out.println("-- supported locals --");
    for (int i = 0; i < localeTable.size(); i++) {
        System.out.println(((Locale) localeTable.get(i)).getDisplayName());
    }

    //
    // Load the properties File if is exists.
    //
    File pfile = new File(propertiesFileName);
    if (pfile.exists())
        getProperties();

    //
    //  Load the local properties.
    //
    messages = ResourceBundle.getBundle("resources/MelangeMessages", MelangeJFrame.locale);
    System.out.println("-- using locale " + messages.getLocale().getDisplayName() + " --\n");

    arrayListHandler = new ArrayListTransferHandler();

    //
    // Initailize the main window.
    //
    this.setJMenuBar(getJJMenuBar());
    this.setContentPane(getJContentPane());
    this.setSize(700, 485);
    this.setLocationRelativeTo(null);
    this.setTitle(projectName);
    this.addWindowListener(new java.awt.event.WindowAdapter() {
        public void windowClosing(java.awt.event.WindowEvent e) {
            MelangeJFrame.this.dispose();
        }
    });

    //
    // Initialize PDF Document properties
    //
    jPanelViewPrefs.setEnablePDFViewerPrefs(enablePDFPreferences);

}

From source file:jPDFmelange.MelangeJFrame.java

License:Open Source License

/**
 * This method reads the properties file "melange.rc" located in "user.dir".    
 *///from w  ww.j  ava 2s. c o m
private void getProperties() {
    String propertyStr = null;
    int propertyInt = -1;
    try {
        Properties melangeProperties = new Properties();
        // Java > java 1.4 we can use a FileReader
        //Reader propInFile = new FileReader(propertiesFileName);
        // for Java == java 1.4 we need a InputStream
        FileInputStream propInFile = new FileInputStream(propertiesFileName);
        melangeProperties.load(propInFile);
        melangeProperties.list(System.out);

        // Get property ShowMoveButtons
        propertyStr = melangeProperties.getProperty("ShowButtonsPanel", String.valueOf(showButtonsPanel));
        // OK, for Java <= 1.4 there is no Boolean.parseBoolean(String)
        //showButtonsPanel = Boolean.parseBoolean(propertyStr);
        showButtonsPanel = propertyStr.equalsIgnoreCase("true");

        // Get the property IconHeight, check limits.
        propertyStr = melangeProperties.getProperty("IconHeight", String.valueOf(iconHeight));
        propertyInt = Integer.parseInt(propertyStr);
        if (propertyInt < 500 || propertyInt > 0)
            iconHeight = propertyInt;

        // Get the property ImageScalingAlgorithm, check limits.
        propertyStr = melangeProperties.getProperty("ImageScalingAlgorithm",
                String.valueOf(imageScalingAlgorithm));
        propertyInt = Integer.parseInt(propertyStr);
        if (propertyInt == BufferedImage.SCALE_FAST || propertyInt == BufferedImage.SCALE_SMOOTH
                || propertyInt == BufferedImage.SCALE_REPLICATE
                || propertyInt == BufferedImage.SCALE_AREA_AVERAGING)
            imageScalingAlgorithm = propertyInt;

        // Get the property local.
        String languageStr = melangeProperties.getProperty("LocaleLanguage", locale.getLanguage());
        String countryStr = melangeProperties.getProperty("LocaleCountry", locale.getCountry());
        String variantStr = melangeProperties.getProperty("LocaleVariant", locale.getVariant());
        locale = new Locale(languageStr, countryStr, variantStr);

        // Get the property enablePDFPreferences
        propertyStr = melangeProperties.getProperty("enablePDFPreferences",
                String.valueOf(enablePDFPreferences));
        enablePDFPreferences = propertyStr.equalsIgnoreCase("true");

        // Get the property prefPageMode, check limits.
        propertyStr = melangeProperties.getProperty("prefPageMode", prefPageMode);
        if (MelangeJFrame.PageMode.containsKey(propertyStr)) {
            propertyInt = MelangeJFrame.PageMode.get(propertyStr);
            if (propertyInt == PdfWriter.PageModeFullScreen || propertyInt == PdfWriter.PageModeUseAttachments
                    || propertyInt == PdfWriter.PageModeUseNone || propertyInt == PdfWriter.PageModeUseOC
                    || propertyInt == PdfWriter.PageModeUseOutlines
                    || propertyInt == PdfWriter.PageModeUseThumbs)
                prefPageMode = propertyStr;
        }

        // Get the property prefPageLayout, check limits.
        propertyStr = melangeProperties.getProperty("prefPageLayout", prefPageLayout);
        if (MelangeJFrame.PageLayout.containsKey(propertyStr)) {
            propertyInt = MelangeJFrame.PageLayout.get(propertyStr);
            if (propertyInt == PdfWriter.PageLayoutOneColumn || propertyInt == PdfWriter.PageLayoutSinglePage
                    || propertyInt == PdfWriter.PageLayoutTwoColumnLeft
                    || propertyInt == PdfWriter.PageLayoutTwoColumnRight
                    || propertyInt == PdfWriter.PageLayoutTwoPageLeft
                    || propertyInt == PdfWriter.PageLayoutTwoPageRight)
                prefPageLayout = propertyStr;
        }

        // Get the property prefHideToolbar
        propertyStr = melangeProperties.getProperty("prefHideToolbar", String.valueOf(prefHideToolbar));
        prefHideToolbar = propertyStr.equalsIgnoreCase("true");

        // Get the property prefHideMenubar
        propertyStr = melangeProperties.getProperty("prefHideMenubar", String.valueOf(prefHideMenubar));
        prefHideMenubar = propertyStr.equalsIgnoreCase("true");

        // Get the property prefHideWindowUI
        propertyStr = melangeProperties.getProperty("prefHideWindowUI", String.valueOf(prefHideWindowUI));
        prefHideWindowUI = propertyStr.equalsIgnoreCase("true");

        // Get the property prefFitWindow
        propertyStr = melangeProperties.getProperty("prefFitWindow", String.valueOf(prefFitWindow));
        prefFitWindow = propertyStr.equalsIgnoreCase("true");

        // Get the property prefCenterWindow
        propertyStr = melangeProperties.getProperty("prefCenterWindow", String.valueOf(prefCenterWindow));
        prefCenterWindow = propertyStr.equalsIgnoreCase("true");

        // Get the property prefDisplayDocTitle
        propertyStr = melangeProperties.getProperty("prefDisplayDocTitle", String.valueOf(prefDisplayDocTitle));
        prefDisplayDocTitle = propertyStr.equalsIgnoreCase("true");

    } catch (NumberFormatException e) {
        System.err.println("Incorrect formatting in " + propertiesFileName);
    } catch (FileNotFoundException e) {
        System.err.println("Can't find " + propertiesFileName);
    } catch (IOException e) {
        System.err.println("I/O failed.");
    }

}

From source file:org.pdfsam.console.business.parser.validators.SetViewerCmdValidator.java

License:Open Source License

/**
 * /*from w  w  w  .  ja  va 2s.  c o  m*/
 * @param mode
 * @return The mode to iText
 */
private int getMode(String mode) {
    int retVal = PdfWriter.PageModeUseNone;
    if (SetViewerParsedCommand.M_ATTACHMENTS.equals(mode)) {
        retVal = PdfWriter.PageModeUseAttachments;
    } else if (SetViewerParsedCommand.M_FULLSCREEN.equals(mode)) {
        retVal = PdfWriter.PageModeFullScreen;
    } else if (SetViewerParsedCommand.M_OCONTENT.equals(mode)) {
        retVal = PdfWriter.PageModeUseOC;
    } else if (SetViewerParsedCommand.M_OUTLINES.equals(mode)) {
        retVal = PdfWriter.PageModeUseOutlines;
    } else if (SetViewerParsedCommand.M_THUMBS.equals(mode)) {
        retVal = PdfWriter.PageModeUseThumbs;
    }
    return retVal;
}

From source file:org.pentaho.reporting.engine.classic.core.modules.output.pageable.pdf.internal.PdfDocumentWriter.java

License:Open Source License

/**
 * Extracts the Page Layout and page mode settings for this PDF (ViewerPreferences). All preferences are defined as
 * properties which have to be set before the target is opened.
 *
 * @return the ViewerPreferences./*  www . j  a  va  2s. c  om*/
 */
private int getViewerPreferences() {
    final String pageLayout = config.getConfigProperty(
            "org.pentaho.reporting.engine.classic.core.modules.output.pageable.pdf.PageLayout");
    final String pageMode = config.getConfigProperty(
            "org.pentaho.reporting.engine.classic.core.modules.output.pageable.pdf.PageMode");
    final String fullScreenMode = config.getConfigProperty(
            "org.pentaho.reporting.engine.classic.core.modules.output.pageable.pdf.FullScreenMode");
    final boolean hideToolBar = "true".equals(config.getConfigProperty(
            "org.pentaho.reporting.engine.classic.core.modules.output.pageable.pdf.HideToolBar"));
    final boolean hideMenuBar = "true".equals(config.getConfigProperty(
            "org.pentaho.reporting.engine.classic.core.modules.output.pageable.pdf.HideMenuBar"));
    final boolean hideWindowUI = "true".equals(config.getConfigProperty(
            "org.pentaho.reporting.engine.classic.core.modules.output.pageable.pdf.HideWindowUI"));
    final boolean fitWindow = "true".equals(config.getConfigProperty(
            "org.pentaho.reporting.engine.classic.core.modules.output.pageable.pdf.FitWindow"));
    final boolean centerWindow = "true".equals(config.getConfigProperty(
            "org.pentaho.reporting.engine.classic.core.modules.output.pageable.pdf.CenterWindow"));
    final boolean displayDocTitle = "true".equals(config.getConfigProperty(
            "org.pentaho.reporting.engine.classic.core.modules.output.pageable.pdf.DisplayDocTitle"));
    final boolean printScalingNone = "true".equals(config.getConfigProperty(
            "org.pentaho.reporting.engine.classic.core.modules.output.pageable.pdf.PrintScalingNone"));
    final String direction = config.getConfigProperty(
            "org.pentaho.reporting.engine.classic.core.modules.output.pageable.pdf.Direction");

    int viewerPreferences = 0;
    if ("PageLayoutOneColumn".equals(pageLayout)) {
        viewerPreferences = PdfWriter.PageLayoutOneColumn;
    } else if ("PageLayoutSinglePage".equals(pageLayout)) {
        viewerPreferences = PdfWriter.PageLayoutSinglePage;
    } else if ("PageLayoutTwoColumnLeft".equals(pageLayout)) {
        viewerPreferences = PdfWriter.PageLayoutTwoColumnLeft;
    } else if ("PageLayoutTwoColumnRight".equals(pageLayout)) {
        viewerPreferences = PdfWriter.PageLayoutTwoColumnRight;
    } else if ("PageLayoutTwoPageLeft".equals(pageLayout)) {
        viewerPreferences = PdfWriter.PageLayoutTwoPageLeft;
    } else if ("PageLayoutTwoPageRight".equals(pageLayout)) {
        viewerPreferences = PdfWriter.PageLayoutTwoPageRight;
    }

    if ("PageModeUseNone".equals(pageMode)) {
        viewerPreferences |= PdfWriter.PageModeUseNone;
    } else if ("PageModeUseOutlines".equals(pageMode)) {
        viewerPreferences |= PdfWriter.PageModeUseOutlines;
    } else if ("PageModeUseThumbs".equals(pageMode)) {
        viewerPreferences |= PdfWriter.PageModeUseThumbs;
    } else if ("PageModeFullScreen".equals(pageMode)) {
        viewerPreferences |= PdfWriter.PageModeFullScreen;
        if ("NonFullScreenPageModeUseNone".equals(fullScreenMode)) {
            viewerPreferences = PdfWriter.NonFullScreenPageModeUseNone;
        } else if ("NonFullScreenPageModeUseOC".equals(fullScreenMode)) {
            viewerPreferences |= PdfWriter.NonFullScreenPageModeUseOC;
        } else if ("NonFullScreenPageModeUseOutlines".equals(fullScreenMode)) {
            viewerPreferences |= PdfWriter.NonFullScreenPageModeUseOutlines;
        } else if ("NonFullScreenPageModeUseThumbs".equals(fullScreenMode)) {
            viewerPreferences |= PdfWriter.NonFullScreenPageModeUseThumbs;
        }
    } else if ("PageModeUseOC".equals(pageMode)) {
        viewerPreferences |= PdfWriter.PageModeUseOC;
    } else if ("PageModeUseAttachments".equals(pageMode)) {
        viewerPreferences |= PdfWriter.PageModeUseAttachments;
    }

    if (hideToolBar) {
        viewerPreferences |= PdfWriter.HideToolbar;
    }

    if (hideMenuBar) {
        viewerPreferences |= PdfWriter.HideMenubar;
    }

    if (hideWindowUI) {
        viewerPreferences |= PdfWriter.HideWindowUI;
    }

    if (fitWindow) {
        viewerPreferences |= PdfWriter.FitWindow;
    }
    if (centerWindow) {
        viewerPreferences |= PdfWriter.CenterWindow;
    }
    if (displayDocTitle) {
        viewerPreferences |= PdfWriter.DisplayDocTitle;
    }
    if (printScalingNone) {
        viewerPreferences |= PdfWriter.PrintScalingNone;
    }

    if ("DirectionL2R".equals(direction)) {
        viewerPreferences |= PdfWriter.DirectionL2R;
    } else if ("DirectionR2L".equals(direction)) {
        viewerPreferences |= PdfWriter.DirectionR2L;
    }

    if (logger.isDebugEnabled()) {
        logger.debug("viewerPreferences = 0b" + Integer.toBinaryString(viewerPreferences));
    }
    return viewerPreferences;
}

From source file:questions.stamppages.ChangeViewerPreferences.java

public static void main(String[] args) throws IOException, DocumentException {
    PdfReader reader = new PdfReader(RESOURCE);
    PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(RESULT));
    stamper.setViewerPreferences(PdfWriter.PageModeUseThumbs);
    stamper.addViewerPreference(PdfName.NUMCOPIES, new PdfNumber(5));
    stamper.close();/*from w w w.j  a v a2s.c  o m*/
}