⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tiffdialog.java

📁 Java生成PDF Java生成PDF Java生成PDF
💻 JAVA
字号:
// $Id: TiffDialog.java,v 1.13 2006/08/03 13:02:15 mike Exp $package org.faceless.pdf2.viewer;import org.faceless.pdf2.PDFParser;import java.awt.Dimension;import java.awt.Frame;import java.awt.GridBagConstraints;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.KeyAdapter;import java.awt.event.KeyEvent;import java.awt.image.ColorModel;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import javax.swing.InputVerifier;import javax.swing.JComboBox;import javax.swing.JComponent;import javax.swing.JFileChooser;import javax.swing.JOptionPane;/** * Dialog to get details for the "Save As TIFF" option * * <p><i> * This code is copyright the Big Faceless Organization. You're welcome to * use, modify and distribute it in any form in your own projects, provided * those projects continue to make use of the Big Faceless PDF library. * </i></p> */class TiffDialog extends java.awt.Dialog{    /**     * Creates new form TiffDialog     */    public TiffDialog(java.awt.Frame parent, final PDFViewport vp, boolean modal) {        super(parent, modal);        this.vp = vp;        this.frame = parent;        java.awt.GridBagConstraints gridBagConstraints;        propPanel = new javax.swing.JPanel();        lblCm = new javax.swing.JLabel();        lblDpi = new javax.swing.JLabel();        String[] cs = { "Device RGB", "Device Gray", "Black & White"};        cbColorSpace = new javax.swing.JComboBox(cs);        cbColorSpace.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                final JComboBox cb = (JComboBox) evt.getSource();                String name = (String) cb.getSelectedItem();                if (name.equals("Device RGB")) {                    cm = ColorModel.getRGBdefault();                } else if (name.equals("Device Gray")) {                    cm = PDFParser.GRAYSCALE;                } else if (name.equals("Black & White")) {                    cm = PDFParser.BLACKANDWHITE;                } // else if (name.equals("Device CMYK")) {                  //  System.out.println("NOT SUPPORTED");                  // }            }        });        txtdpi = new javax.swing.JFormattedTextField();        txtdpi.setText("72");        txtdpi.addKeyListener(new KeyAdapter() {            public void keyPressed(KeyEvent e) {                if (e.getKeyCode() == KeyEvent.VK_ENTER) {                    validateDPI();                    saveAsTIFF();                }            }        });        txtdpi.setInputVerifier(new InputVerifier() {            public boolean verify(JComponent input) {                return validateDPI();            }        });        btnSave = new javax.swing.JButton();        btnSave.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent evt) {                saveAsTIFF();            }        });        btnCancel = new javax.swing.JButton();        btnCancel.addActionListener(new ActionListener() {            public void actionPerformed(ActionEvent evt) {                dispose();            }        });        setLayout(new java.awt.GridBagLayout());        setSize(new Dimension(200,155));        setBackground(new java.awt.Color(224, 223, 227));        setModal(true);        setResizable(false);        setTitle("PDF to Tiff");        addWindowListener(new java.awt.event.WindowAdapter() {            public void windowClosing(java.awt.event.WindowEvent evt) {                closeDialog(evt);            }        });        propPanel.setLayout(new java.awt.GridBagLayout());        propPanel.setBorder(new javax.swing.border.TitledBorder("Options"));        lblCm.setText("Color Model:");        lblCm.setVerticalAlignment(javax.swing.SwingConstants.TOP);        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 0;        gridBagConstraints.gridy = 0;        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;        gridBagConstraints.weighty = 1.0;        gridBagConstraints.insets = new java.awt.Insets(10, 10, 0, 0);        propPanel.add(lblCm, gridBagConstraints);        lblDpi.setText("DPI:");        lblDpi.setVerticalAlignment(javax.swing.SwingConstants.TOP);        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 0;        gridBagConstraints.gridy = 0;        gridBagConstraints.ipadx = 38;        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;        gridBagConstraints.insets = new java.awt.Insets(45, 10, 0, 0);        propPanel.add(lblDpi, gridBagConstraints);        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.ipadx = 20;        gridBagConstraints.ipady = 5;        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;        gridBagConstraints.weightx = 1.0;        gridBagConstraints.weighty = 1.0;        gridBagConstraints.insets = new java.awt.Insets(5, 10, 0, 0);        propPanel.add(cbColorSpace, gridBagConstraints);        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 1;        gridBagConstraints.gridy = 0;        gridBagConstraints.ipadx = 25;        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;        gridBagConstraints.insets = new java.awt.Insets(40, 10, 0, 0);        propPanel.add(txtdpi, gridBagConstraints);        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 0;        gridBagConstraints.gridy = 0;        gridBagConstraints.weightx = 1.0;        gridBagConstraints.gridwidth = 2;        gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;        gridBagConstraints.insets = new java.awt.Insets(3, 3, 3, 3);        add(propPanel, gridBagConstraints);        btnSave.setText("Save as...");        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 0;        gridBagConstraints.gridy = 1;        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;        gridBagConstraints.ipady = 25;        gridBagConstraints.weightx = 0.3;        gridBagConstraints.weighty = 1.0;        gridBagConstraints.fill = GridBagConstraints.HORIZONTAL;        gridBagConstraints.insets = new java.awt.Insets(2, 3, 3, 3);        add(btnSave, gridBagConstraints);        btnCancel.setText("Cancel");        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridx = 1;        gridBagConstraints.gridy = 1;        gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;        gridBagConstraints.ipady = 25;        gridBagConstraints.weightx = 0.7;        gridBagConstraints.weighty = 1.0;        gridBagConstraints.fill = GridBagConstraints.HORIZONTAL;        gridBagConstraints.insets = new java.awt.Insets(2, 2, 3, 3);        add(btnCancel, gridBagConstraints);        setLocationRelativeTo(parent);        setVisible(true);        pack();    }    /** Closes the dialog */    private void closeDialog(java.awt.event.WindowEvent evt) {        setVisible(false);        dispose();    }    private void saveAsTIFF() {        JFileChooser chooser = new JFileChooser();        int returnVal = chooser.showSaveDialog(frame);        if (returnVal == JFileChooser.APPROVE_OPTION) {            final File file = chooser.getSelectedFile();            try {                dispose();                vp.writeAsTIFF(new FileOutputStream(file), dpi,cm);            } catch (FileNotFoundException e) {                ErrorInfo.displayThrowable(e, "File Not Found Error", this);            }        }    }    /**     * checks that the dpi is valid     */    private boolean validateDPI() {        boolean valid = true;        try {            String s = txtdpi.getText();            s = s.trim();            dpi = Integer.parseInt(s);            if (dpi<1 || dpi>300) throw new Exception();        } catch (Exception x) {            valid = false;            txtdpi.setText("72");            JOptionPane.showMessageDialog(frame, "Invalid DPI, please enter a number between 1 and 300.", "BFO ERROR", JOptionPane.ERROR_MESSAGE);            txtdpi.selectAll();        }        return valid;    }    // Variables declaration    private int dpi = 72;    private ColorModel cm = ColorModel.getRGBdefault();    private final Frame frame;    private PDFViewport vp;    private javax.swing.JButton btnSave;    private javax.swing.JButton btnCancel;    private javax.swing.JComboBox cbColorSpace;    private javax.swing.JFormattedTextField txtdpi;    private javax.swing.JLabel lblCm;    private javax.swing.JLabel lblDpi;    private javax.swing.JPanel propPanel;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -