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

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

Introduction

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

Prototype

int PageModeUseOC

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

Click Source Link

Document

A viewer preference

Usage

From source file:jPDFmelange.MelangeJFrame.java

License:Open Source License

/**
 * This method initializes <code>this</code>.
 * // w  ww  .  j  ava 2  s . c  om
 */
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 av a  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

/**
 * /*  w  ww .j av a 2 s .  com*/
 * @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.//from  w ww.java  2 s . co  m
 */
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.ocg.LockedLayers.java

public static void main(String[] args) {
    Document document = new Document();
    try {/*from  ww  w.  j  ava  2 s  . c  o m*/
        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(RESULT));
        writer.setPdfVersion(PdfWriter.VERSION_1_5);
        writer.setViewerPreferences(PdfWriter.PageModeUseOC);
        document.open();
        PdfContentByte cb = writer.getDirectContent();

        PdfLayer nested = new PdfLayer("Nested Layers", writer);
        PdfLayer nested_1 = new PdfLayer("Nested Layer 1", writer);
        PdfLayer nested_2 = new PdfLayer("Nested Layer 2", writer);
        nested.addChild(nested_1);
        nested.addChild(nested_2);
        cb.beginLayer(nested);
        ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, new Phrase("nested layers"), 50, 775, 0);
        cb.endLayer();
        cb.beginLayer(nested_1);
        ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, new Phrase("nested layer 1"), 100, 800, 0);
        cb.endLayer();
        cb.beginLayer(nested_2);
        ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, new Phrase("nested layer 2"), 100, 750, 0);
        cb.endLayer();

        PdfLayer group = PdfLayer.createTitle("Grouped layers", writer);
        PdfLayer layer1 = new PdfLayer("Group: layer 1", writer);
        PdfLayer layer2 = new PdfLayer("Group: layer 2", writer);
        group.addChild(layer1);
        group.addChild(layer2);
        cb.beginLayer(layer1);
        ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, new Phrase("layer 1 in the group"), 50, 700, 0);
        cb.endLayer();
        cb.beginLayer(layer2);
        ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, new Phrase("layer 2 in the group"), 50, 675, 0);
        cb.endLayer();

        PdfLayer radiogroup = PdfLayer.createTitle("Radio Group", writer);
        PdfLayer radio1 = new PdfLayer("Radiogroup: layer 1", writer);
        radio1.setOn(true);
        PdfLayer radio2 = new PdfLayer("Radiogroup: layer 2", writer);
        radio2.setOn(false);
        PdfLayer radio3 = new PdfLayer("Radiogroup: layer 3", writer);
        radio3.setOn(false);
        radiogroup.addChild(radio1);
        radiogroup.addChild(radio2);
        radiogroup.addChild(radio3);
        ArrayList<PdfLayer> options = new ArrayList<PdfLayer>();
        options.add(radio1);
        options.add(radio2);
        options.add(radio3);
        writer.addOCGRadioGroup(options);
        cb.beginLayer(radio1);
        ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, new Phrase("option 1"), 50, 600, 0);
        cb.endLayer();
        cb.beginLayer(radio2);
        ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, new Phrase("option 2"), 50, 575, 0);
        cb.endLayer();
        cb.beginLayer(radio3);
        ColumnText.showTextAligned(cb, Element.ALIGN_LEFT, new Phrase("option 3"), 50, 550, 0);
        cb.endLayer();

        PdfLayer not_printed = new PdfLayer("not printed", writer);
        not_printed.setOnPanel(false);
        not_printed.setPrint("Print", false);
        cb.beginLayer(not_printed);
        ColumnText.showTextAligned(cb, Element.ALIGN_CENTER, new Phrase("PRINT THIS PAGE"), 300, 700, 90);
        cb.endLayer();

        PdfLayer zoom = new PdfLayer("Zoom 0.75-1.25", writer);
        zoom.setOnPanel(false);
        zoom.setZoom(0.75f, 1.25f);
        cb.beginLayer(zoom);
        ColumnText.showTextAligned(cb, Element.ALIGN_LEFT,
                new Phrase("Only visible if the zoomfactor is between 75 and 125%"), 30, 530, 90);
        cb.endLayer();

        writer.lockLayer(nested_1);
        writer.lockLayer(layer2);
    } catch (DocumentException de) {
        System.err.println(de.getMessage());
    } catch (IOException ioe) {
        System.err.println(ioe.getMessage());
    }

    document.close();
}