pdfsam-1.1.4/0000755000175000017500000000000011365105226012726 5ustar twernertwernerpdfsam-1.1.4/pdfsam-split/0000755000175000017500000000000010725773606015345 5ustar twernertwernerpdfsam-1.1.4/pdfsam-split/ant/0000755000175000017500000000000010726034742016117 5ustar twernertwernerpdfsam-1.1.4/pdfsam-split/ant/build.properties0000644000175000017500000000074111211203422021315 0ustar twernertwerner#where classes are compiled, jars distributed, javadocs created and release created build.dir=f:/build #libraries libs.dir=F:/pdfsam/workspace-enhanced/pdfsam-maine/lib pdfsam.release.jar.dir=f:/build/pdfsam-maine/release/jar log4j.jar.name=log4j-1.2.15 dom4j.jar.name=dom4j-1.6.1 jaxen.jar.name=jaxen-1.1 pdfsam-console.jar.name=pdfsam-console-1.1.3e pdfsam-split.jar.name=pdfsam-split-0.5.3 pdfsam-langpack.jar.name=pdfsam-langpack pdfsam.jar.name=pdfsam-1.0.0e-b3 pdfsam-1.1.4/pdfsam-split/ant/build.xml0000644000175000017500000000727211175612606017750 0ustar twernertwerner Split plugin for pdfsam pdfsam-1.1.4/pdfsam-split/apidocs/0000755000175000017500000000000011225360212016744 5ustar twernertwernerpdfsam-1.1.4/pdfsam-split/images/0000755000175000017500000000000010725773616016613 5ustar twernertwernerpdfsam-1.1.4/pdfsam-split/images/split.png0000644000175000017500000000112410725773620020445 0ustar twernertwernerPNG  IHDRabKGDe[ pHYs!3tIME 5IDAT8˥kq?w9ڀBT$D/v$b(,骜[!kUZ 48LsHsDo|x{BT\?Jh=MpCSaiiccRXGi)w=u,{ֳYm`O/DN.:0|;Y,eȪmA*7bӐUsDz,ܜ"M],/&w{՜i=ȩxA#蕺ܝ)-C3Y`'~U[ GM/|p"|`va4~#^e&>ƪD+ϝ lW*=%٬V8}[MQvtbi2)om%CV;@?P.tN|u] +SW ^|~txz':qFz΅[W /aIENDB`pdfsam-1.1.4/pdfsam-split/src/0000755000175000017500000000000010725773620016130 5ustar twernertwernerpdfsam-1.1.4/pdfsam-split/src/java/0000755000175000017500000000000010725773620017051 5ustar twernertwernerpdfsam-1.1.4/pdfsam-split/src/java/org/0000755000175000017500000000000010725773620017640 5ustar twernertwernerpdfsam-1.1.4/pdfsam-split/src/java/org/pdfsam/0000755000175000017500000000000010725773620021112 5ustar twernertwernerpdfsam-1.1.4/pdfsam-split/src/java/org/pdfsam/plugin/0000755000175000017500000000000010725773622022412 5ustar twernertwernerpdfsam-1.1.4/pdfsam-split/src/java/org/pdfsam/plugin/split/0000755000175000017500000000000010725773622023545 5ustar twernertwernerpdfsam-1.1.4/pdfsam-split/src/java/org/pdfsam/plugin/split/components/0000755000175000017500000000000011125404756025724 5ustar twernertwernerpdfsam-1.1.4/pdfsam-split/src/java/org/pdfsam/plugin/split/components/JSplitSizeCombo.java0000644000175000017500000000537110726035162031612 0ustar twernertwerner/* * Created on 30-Nov-2007 * Copyright (C) 2007 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.plugin.split.components; import java.math.BigDecimal; import java.util.regex.Matcher; import java.util.regex.Pattern; import javax.swing.JComboBox; import org.pdfsam.guiclient.configuration.Configuration; import org.pdfsam.i18n.GettextResource; /** * Combo for the size selection * @author Andrea Vacondio * */ public class JSplitSizeCombo extends JComboBox { private static final long serialVersionUID = 1342525636090510279L; private Pattern pattern = Pattern.compile("^(\\d+[.[0-9]+]*)(\\s*)([KB||MB]+)", Pattern.CASE_INSENSITIVE ); public static final String KB = "KB"; public static final String MB = "MB"; public JSplitSizeCombo(){ init(); } private void init(){ setEditable(true); addItem(""); addItem("500 "+KB); addItem("1 "+MB); addItem("3 "+MB); addItem("5 "+MB); addItem("10 "+MB); } /** * @return Bytes of the selected item * @throws Exception */ public long getSelectedBytes() throws Exception{ long retVal = 0; if(isValidSelectedItem()){ Matcher m = pattern.matcher((String)getSelectedItem()); m.reset(); m.matches(); BigDecimal value = new BigDecimal(m.group(1)); String unit = m.group(3); if (KB.equals(unit.toUpperCase())){ value = value.multiply(new BigDecimal(1024)); }else if (MB.equals(unit.toUpperCase())){ value = value.multiply(new BigDecimal(1024*1024)); }else{ throw new Exception(GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Invalid unit: ")+unit); } retVal = value.longValue(); } return retVal; } /** * @return true if the selected item is valid */ public boolean isValidSelectedItem(){ pattern.matcher((String)getSelectedItem()).reset(); return pattern.matcher((String)getSelectedItem()).matches(); } /** * @return if a not empty item is selected */ public boolean isSelectedItem(){ return (getSelectedItem()!=null && ((String)getSelectedItem()).trim().length()>0); } } pdfsam-1.1.4/pdfsam-split/src/java/org/pdfsam/plugin/split/components/JSplitRadioButton.java0000644000175000017500000000247110726035174032153 0ustar twernertwerner/* * Created on 25-feb-2006 * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.plugin.split.components; import javax.swing.JRadioButton; /** * This component is used to get the split type selected by the user * @author Andrea Vacondio * */ public class JSplitRadioButton extends JRadioButton { private static final long serialVersionUID = 5210692149732974444L; public JSplitRadioButton(String splitCommand) { super(); this.setModel(new JSplitRadioButtonModel(splitCommand)); } public String getSplitCommand(){ return ((JSplitRadioButtonModel)this.getModel()).getSplitCommand(); } } pdfsam-1.1.4/pdfsam-split/src/java/org/pdfsam/plugin/split/components/JBLevelCombo.java0000644000175000017500000001414611162215046031031 0ustar twernertwerner/* * Created on 27-DEC-2008 * Copyright (C) 2008 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.plugin.split.components; import java.awt.Dimension; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.util.List; import javax.swing.Box; import javax.swing.BoxLayout; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JOptionPane; import javax.swing.JPanel; import org.apache.log4j.Logger; import org.pdfsam.console.utils.PdfUtility; import org.pdfsam.guiclient.commons.panels.JPdfSelectionPanel; import org.pdfsam.guiclient.configuration.Configuration; import org.pdfsam.guiclient.dto.PdfSelectionTableItem; import org.pdfsam.i18n.GettextResource; import com.lowagie.text.pdf.PdfReader; import com.lowagie.text.pdf.RandomAccessFileOrArray; import com.lowagie.text.pdf.SimpleBookmark; /** * Panel with the bookmarks level combo and the button to fill it * @author Andrea Vacondio * */ public class JBLevelCombo extends JPanel { private static final long serialVersionUID = -1413124292303614507L; private static final Logger log = Logger.getLogger(JBLevelCombo.class.getPackage().getName()); private JComboBox levelCombo; private JButton fillCombo; private JPdfSelectionPanel inputPanel; private Thread filler = null; public JBLevelCombo(JPdfSelectionPanel inputPanel) { this.inputPanel = inputPanel; init(); } private void init(){ levelCombo = new JComboBox(); levelCombo.setPreferredSize(new Dimension(45,20)); fillCombo = new JButton(); fillCombo.setText("< "+GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Fill from document")); levelCombo.setEditable(true); fillCombo.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { try { PdfSelectionTableItem[] items = inputPanel.getTableRows(); if (items != null && items.length == 1) { if(filler == null){ filler = new Thread(new FillThread(items[0])); filler.start(); } } else { JOptionPane.showMessageDialog(getParent(), GettextResource.gettext(Configuration.getInstance() .getI18nResourceBundle(), "Please select a pdf document."), GettextResource.gettext( Configuration.getInstance().getI18nResourceBundle(), "Warning"), JOptionPane.WARNING_MESSAGE); } } catch (Exception ex) { log.error(GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(), "Error: "), ex); } } }); setLayout(new BoxLayout(this, BoxLayout.LINE_AXIS)); add(Box.createHorizontalGlue()); add(levelCombo); add(Box.createRigidArea(new Dimension(10, 0))); add(fillCombo); } /** * Fills the levels combo * @author Andrea Vacondio * */ private class FillThread implements Runnable { private PdfSelectionTableItem item; /** * @param item */ public FillThread(PdfSelectionTableItem item) { super(); this.item = item; } public void run() { fillCombo.setEnabled(false); fillCombo.setToolTipText(GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(), "Getting bookmarks max depth")); try { levelCombo.removeAllItems(); byte[] password = null; if((item.getPassword()) != null && (item.getPassword()).length()>0){ password = item.getPassword().getBytes(); } PdfReader pdfReader = new PdfReader(new RandomAccessFileOrArray(item.getInputFile().getAbsolutePath()),password); pdfReader.consolidateNamedDestinations(); List bookmarks = SimpleBookmark.getBookmark(pdfReader); ByteArrayOutputStream out = new ByteArrayOutputStream(); SimpleBookmark.exportToXML(bookmarks, out, "UTF-8", false); ByteArrayInputStream input = new ByteArrayInputStream(out.toByteArray()); int maxDepth = PdfUtility.getMaxBookmarksDepth(input); for(int i = 1; i<=maxDepth; i++){ levelCombo.addItem(i+""); } } catch (Throwable t) { log.error(GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(), "Error: "), t); } finally { fillCombo.setEnabled(true); fillCombo.setToolTipText(null); filler = null; } } } public void resetComponent(){ levelCombo.removeAllItems(); setEnabled(isEnabled()); } /** * @return selected index * @see javax.swing.JComboBox#getSelectedIndex() */ public int getSelectedIndex() { return levelCombo.getSelectedIndex(); } /** * @return selected item * @see javax.swing.JComboBox#getSelectedItem() */ public Object getSelectedItem() { return levelCombo.getSelectedItem(); } /** * * @see javax.swing.JComboBox#removeAllItems() */ public void removeAllItems() { levelCombo.removeAllItems(); } /** * @param anObject * @see javax.swing.JComboBox#setSelectedItem(java.lang.Object) */ public void setSelectedItem(Object anObject) { levelCombo.setSelectedItem(anObject); } /* (non-Javadoc) * @see javax.swing.JComponent#setEnabled(boolean) */ public void setEnabled(boolean enabled) { super.setEnabled(enabled); levelCombo.setEnabled(enabled); fillCombo.setEnabled(enabled); } /** * @return the levelCombo */ public JComboBox getLevelCombo() { return levelCombo; } /** * @return the fillCombo */ public JButton getFillCombo() { return fillCombo; } /* (non-Javadoc) * @see javax.swing.JComponent#requestFocus() */ public void requestFocus() { levelCombo.requestFocus(); } } pdfsam-1.1.4/pdfsam-split/src/java/org/pdfsam/plugin/split/components/JSplitRadioButtonModel.java0000644000175000017500000000275010725771640033140 0ustar twernertwerner/* * Created on 02-Dec-2007 * Copyright (C) 2007 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.plugin.split.components; import javax.swing.JToggleButton.ToggleButtonModel; /** * Model for the split radio buttons * @author Andrea Vacondio * */ public class JSplitRadioButtonModel extends ToggleButtonModel { private static final long serialVersionUID = -541344769909895211L; private String splitCommand; /** * */ public JSplitRadioButtonModel(String splitCommand) { super(); this.splitCommand = splitCommand; } /** * @return the splitCommand */ public String getSplitCommand() { return splitCommand; } /** * @param splitCommand the splitCommand to set */ public void setSplitCommand(String splitCommand) { this.splitCommand = splitCommand; } } pdfsam-1.1.4/pdfsam-split/src/java/org/pdfsam/plugin/split/GUI/0000755000175000017500000000000010725773622024171 5ustar twernertwernerpdfsam-1.1.4/pdfsam-split/src/java/org/pdfsam/plugin/split/GUI/SplitMainGUI.java0000644000175000017500000014103511211203054027257 0ustar twernertwerner/* * Created on 17-Feb-2006 * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.plugin.split.GUI; import java.awt.Component; import java.awt.Container; import java.awt.Dimension; import java.awt.FocusTraversalPolicy; import java.awt.GridLayout; import java.awt.Insets; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import java.util.LinkedList; import javax.swing.BorderFactory; import javax.swing.ButtonGroup; import javax.swing.ButtonModel; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JFileChooser; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JRadioButton; import javax.swing.JTextField; import javax.swing.SpringLayout; import org.apache.log4j.Logger; import org.dom4j.Element; import org.dom4j.Node; import org.pdfsam.console.business.dto.commands.AbstractParsedCommand; import org.pdfsam.console.business.dto.commands.MixParsedCommand; import org.pdfsam.console.business.dto.commands.SplitParsedCommand; import org.pdfsam.guiclient.business.listeners.EnterDoClickListener; import org.pdfsam.guiclient.commons.business.SoundPlayer; import org.pdfsam.guiclient.commons.business.WorkExecutor; import org.pdfsam.guiclient.commons.business.WorkThread; import org.pdfsam.guiclient.commons.business.listeners.CompressCheckBoxItemListener; import org.pdfsam.guiclient.commons.components.CommonComponentsFactory; import org.pdfsam.guiclient.commons.components.JPdfVersionCombo; import org.pdfsam.guiclient.commons.models.AbstractPdfSelectionTableModel; import org.pdfsam.guiclient.commons.models.SimplePdfSelectionTableModel; import org.pdfsam.guiclient.commons.panels.JPdfSelectionPanel; import org.pdfsam.guiclient.configuration.Configuration; import org.pdfsam.guiclient.dto.PdfSelectionTableItem; import org.pdfsam.guiclient.dto.StringItem; import org.pdfsam.guiclient.exceptions.LoadJobException; import org.pdfsam.guiclient.exceptions.SaveJobException; import org.pdfsam.guiclient.gui.components.JHelpLabel; import org.pdfsam.guiclient.plugins.interfaces.AbstractPlugablePanel; import org.pdfsam.guiclient.utils.DialogUtility; import org.pdfsam.i18n.GettextResource; import org.pdfsam.plugin.split.components.JBLevelCombo; import org.pdfsam.plugin.split.components.JSplitRadioButton; import org.pdfsam.plugin.split.components.JSplitRadioButtonModel; import org.pdfsam.plugin.split.components.JSplitSizeCombo; import org.pdfsam.plugin.split.listeners.RadioListener; /** * Plugable JPanel provides a GUI for split functions. * @author Andrea Vacondio * @see javax.swing.JPanel */ public class SplitMainGUI extends AbstractPlugablePanel{ private static final long serialVersionUID = -5907189950338614835L; private static final Logger log = Logger.getLogger(SplitMainGUI.class.getPackage().getName()); private JTextField outPrefixText = CommonComponentsFactory.getInstance().createTextField(CommonComponentsFactory.PREFIX_TEXT_FIELD_TYPE); private SpringLayout outputPanelLayout; private SpringLayout destinationPanelLayout; private JTextField destinationFolderText = CommonComponentsFactory.getInstance().createTextField(CommonComponentsFactory.DESTINATION_TEXT_FIELD_TYPE); private JTextField thisPageTextField = CommonComponentsFactory.getInstance().createTextField(CommonComponentsFactory.SIMPLE_TEXT_FIELD_TYPE); private JTextField nPagesTextField = CommonComponentsFactory.getInstance().createTextField(CommonComponentsFactory.SIMPLE_TEXT_FIELD_TYPE); private JHelpLabel checksHelpLabel; private SpringLayout optionsPaneLayout; private JHelpLabel prefixHelpLabel; private JHelpLabel destinationHelpLabel; private SpringLayout splitSpringLayout; private String splitType = ""; private JPdfVersionCombo versionCombo = new JPdfVersionCombo(true); private Configuration config; private JPdfSelectionPanel selectionPanel = new JPdfSelectionPanel(JPdfSelectionPanel.SINGLE_SELECTABLE_FILE, SimplePdfSelectionTableModel.DEFAULT_SHOWED_COLUMNS_NUMBER); private JSplitSizeCombo splitSizeCombo = new JSplitSizeCombo(); private JBLevelCombo bLevelCombo = new JBLevelCombo(selectionPanel); //file_chooser private JFileChooser browseDestFileChooser = null; //button private final JButton browseDestButton = CommonComponentsFactory.getInstance().createButton(CommonComponentsFactory.BROWSE_BUTTON_TYPE); private final JButton runButton = CommonComponentsFactory.getInstance().createButton(CommonComponentsFactory.RUN_BUTTON_TYPE); //key_listeners private final EnterDoClickListener browsedEnterkeyListener = new EnterDoClickListener(browseDestButton); private final EnterDoClickListener runEnterkeyListener = new EnterDoClickListener(runButton); //split_radio private final JSplitRadioButton burstRadio = new JSplitRadioButton(SplitParsedCommand.S_BURST); private final JSplitRadioButton everyNRadio = new JSplitRadioButton(SplitParsedCommand.S_NSPLIT); private final JSplitRadioButton evenRadio = new JSplitRadioButton(SplitParsedCommand.S_EVEN); private final JSplitRadioButton oddRadio = new JSplitRadioButton(SplitParsedCommand.S_ODD); private final JSplitRadioButton thisPageRadio = new JSplitRadioButton(SplitParsedCommand.S_SPLIT); private final JSplitRadioButton sizeRadio = new JSplitRadioButton(SplitParsedCommand.S_SIZE); private final JSplitRadioButton bookmarksLevel = new JSplitRadioButton(SplitParsedCommand.S_BLEVEL); private RadioListener radioListener; //radio private final JRadioButton sameAsSourceRadio = new JRadioButton(); private final JRadioButton chooseAFolderRadio = new JRadioButton(); private ButtonGroup splitOptionsRadioGroup; //checks private final JCheckBox overwriteCheckbox = CommonComponentsFactory.getInstance().createCheckBox(CommonComponentsFactory.OVERWRITE_CHECKBOX_TYPE); private final JCheckBox outputCompressedCheck = CommonComponentsFactory.getInstance().createCheckBox(CommonComponentsFactory.COMPRESS_CHECKBOX_TYPE); //focus policy private final SplitFocusPolicy splitFocusPolicy = new SplitFocusPolicy(); //panels private final JPanel splitOptionsPanel = new JPanel(); private final JPanel destinationPanel = new JPanel(); private final JPanel outputOptionsPanel = new JPanel(); private final JPanel splitTypesPanel = new JPanel(); //labels private final JLabel outPrefixLabel = new JLabel(); private final JLabel outputVersionLabel = CommonComponentsFactory.getInstance().createLabel(CommonComponentsFactory.PDF_VERSION_LABEL); private final String PLUGIN_AUTHOR = "Andrea Vacondio"; private final String PLUGIN_VERSION = "0.5.3"; /** * Constructor * */ public SplitMainGUI() { super(); initialize(); } private void initialize() { config = Configuration.getInstance(); setPanelIcon("/images/split.png"); setPreferredSize(new Dimension(500,555)); // splitSpringLayout = new SpringLayout(); setLayout(splitSpringLayout); add(selectionPanel); //SPLIT_SECTION optionsPaneLayout = new SpringLayout(); splitOptionsPanel.setLayout(optionsPaneLayout); splitOptionsPanel.setBorder(BorderFactory.createTitledBorder(GettextResource.gettext(config.getI18nResourceBundle(),"Split options"))); add(splitOptionsPanel); GridLayout splitOptionsLayout = new GridLayout(0,3,5,5); splitTypesPanel.setLayout(splitOptionsLayout); burstRadio.setText(GettextResource.gettext(config.getI18nResourceBundle(),"Burst (split into single pages)")); everyNRadio.setText(GettextResource.gettext(config.getI18nResourceBundle(),"Split every \"n\" pages")); evenRadio.setText(GettextResource.gettext(config.getI18nResourceBundle(),"Split even pages")); oddRadio.setText(GettextResource.gettext(config.getI18nResourceBundle(),"Split odd pages")); nPagesTextField.setEnabled(false); thisPageRadio.setText(GettextResource.gettext(config.getI18nResourceBundle(),"Split after these pages")); sizeRadio.setText(GettextResource.gettext(config.getI18nResourceBundle(),"Split at this size")); bookmarksLevel.setText(GettextResource.gettext(config.getI18nResourceBundle(),"Split by bookmarks level")); thisPageTextField.setEnabled(false); splitSizeCombo.setEnabled(false); bLevelCombo.setEnabled(false); splitTypesPanel.add(burstRadio); splitTypesPanel.add(thisPageRadio); splitTypesPanel.add(thisPageTextField); splitTypesPanel.add(evenRadio); splitTypesPanel.add(everyNRadio); splitTypesPanel.add(nPagesTextField); splitTypesPanel.add(oddRadio); splitTypesPanel.add(sizeRadio); splitTypesPanel.add(splitSizeCombo); splitTypesPanel.add(new JLabel()); splitTypesPanel.add(bookmarksLevel); splitTypesPanel.add(bLevelCombo); splitOptionsPanel.add(splitTypesPanel); String helpText = ""+GettextResource.gettext(config.getI18nResourceBundle(),"Split options")+""; checksHelpLabel = new JHelpLabel(helpText, true); splitOptionsPanel.add(checksHelpLabel); //END_SPLIT_SECTION //RADIO_LISTENERS /*This listeners enable or disable text field based on what you select*/ radioListener = new RadioListener(this, nPagesTextField, thisPageTextField, splitSizeCombo, bLevelCombo); burstRadio.setActionCommand(RadioListener.DISABLE_ALL); burstRadio.addActionListener(radioListener); everyNRadio.setActionCommand(RadioListener.ENABLE_FIRST); everyNRadio.addActionListener(radioListener); evenRadio.setActionCommand(RadioListener.DISABLE_ALL); evenRadio.addActionListener(radioListener); oddRadio.setActionCommand(RadioListener.DISABLE_ALL); oddRadio.addActionListener(radioListener); thisPageRadio.setActionCommand(RadioListener.ENABLE_SECOND); thisPageRadio.addActionListener(radioListener); sizeRadio.setActionCommand(RadioListener.ENABLE_THIRD); sizeRadio.addActionListener(radioListener); bookmarksLevel.setActionCommand(RadioListener.ENABLE_FOURTH); bookmarksLevel.addActionListener(radioListener); //END_RADIO_LISTENERS //DESTINATION_PANEL destinationPanelLayout = new SpringLayout(); destinationPanel.setLayout(destinationPanelLayout); destinationPanel.setBorder(BorderFactory.createTitledBorder(GettextResource.gettext(config.getI18nResourceBundle(),"Destination folder"))); add(destinationPanel); //END_DESTINATION_PANEL //DESTINATION_RADIOS sameAsSourceRadio.setText(GettextResource.gettext(config.getI18nResourceBundle(),"Same as source")); destinationPanel.add(sameAsSourceRadio); chooseAFolderRadio.setSelected(true); chooseAFolderRadio.setText(GettextResource.gettext(config.getI18nResourceBundle(),"Choose a folder")); destinationPanel.add(chooseAFolderRadio); //END_DESTINATION_RADIOS //RADIOGROUP splitOptionsRadioGroup = new ButtonGroup(); splitOptionsRadioGroup.add(burstRadio); splitOptionsRadioGroup.add(everyNRadio); splitOptionsRadioGroup.add(evenRadio); splitOptionsRadioGroup.add(oddRadio); splitOptionsRadioGroup.add(thisPageRadio); splitOptionsRadioGroup.add(sizeRadio); splitOptionsRadioGroup.add(bookmarksLevel); final ButtonGroup outputRadioGroup = new ButtonGroup(); outputRadioGroup.add(sameAsSourceRadio); outputRadioGroup.add(chooseAFolderRadio); //END_RADIOGROUP destinationPanel.add(destinationFolderText); destinationPanel.add(overwriteCheckbox); destinationPanel.add(outputCompressedCheck); outputCompressedCheck.addItemListener(new CompressCheckBoxItemListener(versionCombo)); outputCompressedCheck.setSelected(true); destinationPanel.add(versionCombo); destinationPanel.add(outputVersionLabel); browseDestButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if(browseDestFileChooser==null){ browseDestFileChooser = new JFileChooser(Configuration.getInstance().getDefaultWorkingDir()); browseDestFileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); } File chosenFile = null; if(destinationFolderText.getText().length()>0){ browseDestFileChooser.setCurrentDirectory(new File(destinationFolderText.getText())); } if (browseDestFileChooser.showOpenDialog(browseDestButton.getParent()) == JFileChooser.APPROVE_OPTION){ chosenFile = browseDestFileChooser.getSelectedFile(); } //write the destination in text field if (chosenFile != null && chosenFile.isDirectory()){ try{ destinationFolderText.setText(chosenFile.getAbsolutePath()); } catch (Exception ex){ log.error(GettextResource.gettext(config.getI18nResourceBundle(),"Error: "), ex); } } } }); destinationPanel.add(browseDestButton); //HELP_LABEL_DESTINATION String helpTextDest = ""+GettextResource.gettext(config.getI18nResourceBundle(),"Destination output directory")+"" + "

"+GettextResource.gettext(config.getI18nResourceBundle(),"Use the same output folder as the input file or choose a folder.")+"

"+ "

"+GettextResource.gettext(config.getI18nResourceBundle(),"To choose a folder browse or enter the full path to the destination output directory.")+"

"+ "

"+GettextResource.gettext(config.getI18nResourceBundle(),"Check the box if you want to overwrite the output files if they already exist.")+"

"+ "

"+GettextResource.gettext(config.getI18nResourceBundle(),"Check the box if you want compressed output files.")+" "+GettextResource.gettext(config.getI18nResourceBundle(),"PDF version 1.5 or above.")+"

"+ "

"+GettextResource.gettext(config.getI18nResourceBundle(),"Set the pdf version of the ouput document.")+"

"+ ""; destinationHelpLabel = new JHelpLabel(helpTextDest, true); destinationPanel.add(destinationHelpLabel); //END_HELP_LABEL_DESTINATION //S_PANEL outputOptionsPanel.setBorder(BorderFactory.createTitledBorder(GettextResource.gettext(config.getI18nResourceBundle(),"Output options"))); outputPanelLayout = new SpringLayout(); outputOptionsPanel.setLayout(outputPanelLayout); add(outputOptionsPanel); outPrefixLabel.setText(GettextResource.gettext(config.getI18nResourceBundle(),"Output file names prefix:")); outputOptionsPanel.add(outPrefixLabel); outPrefixText.setPreferredSize(new Dimension(180,20)); outputOptionsPanel.add(outPrefixText); //END_S_PANEL //HELP_LABEL_PREFIX String helpTextPrefix = ""+GettextResource.gettext(config.getI18nResourceBundle(),"Output files prefix")+"" + "

"+GettextResource.gettext(config.getI18nResourceBundle(),"If it contains \"[CURRENTPAGE]\", \"[TIMESTAMP]\", \"[FILENUMBER]\" or \"[BOOKMARK_NAME]\" it performs variable substitution.")+"

"+ "

"+GettextResource.gettext(config.getI18nResourceBundle(),"Ex. prefix_[BASENAME]_[CURRENTPAGE] generates prefix_FileName_005.pdf.")+"

"+ "

"+GettextResource.gettext(config.getI18nResourceBundle(),"If it doesn't contain \"[CURRENTPAGE]\", \"[TIMESTAMP]\" or \"[FILENUMBER]\" it generates oldstyle output file names.")+"

"+ "

"+GettextResource.gettext(config.getI18nResourceBundle(),"Available variables")+": [CURRENTPAGE], [TIMESTAMP], [BASENAME], [FILENUMBER], [BOOKMARK_NAME].

"+ ""; prefixHelpLabel = new JHelpLabel(helpTextPrefix, true); outputOptionsPanel.add(prefixHelpLabel); //END_HELP_LABEL_PREFIX //RUN_BUTTON //listener runButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (WorkExecutor.getInstance().getRunningThreads() > 0 || selectionPanel.isAdding()){ log.info(GettextResource.gettext(config.getI18nResourceBundle(),"Please wait while all files are processed..")); return; } final LinkedList args = new LinkedList(); try{ PdfSelectionTableItem item = null; PdfSelectionTableItem[] items = selectionPanel.getTableRows(); if(items != null && items.length == 1){ item = items[0]; args.add("-"+SplitParsedCommand.F_ARG); String f = item.getInputFile().getAbsolutePath(); if((item.getPassword()) != null && (item.getPassword()).length()>0){ log.debug(GettextResource.gettext(config.getI18nResourceBundle(),"Found a password for input file.")); f +=":"+item.getPassword(); } args.add(f); args.add("-"+SplitParsedCommand.P_ARG); args.add(outPrefixText.getText()); args.add("-"+SplitParsedCommand.S_ARG); args.add(splitType); //check if is needed page option if (splitType.equals(SplitParsedCommand.S_SPLIT)){ args.add("-"+SplitParsedCommand.N_ARG); args.add(thisPageTextField.getText()); }else if (splitType.equals(SplitParsedCommand.S_NSPLIT)){ args.add("-"+SplitParsedCommand.N_ARG); args.add(nPagesTextField.getText()); }else if (splitType.equals(SplitParsedCommand.S_SIZE)){ args.add("-"+SplitParsedCommand.B_ARG); if(splitSizeCombo.isSelectedItem() && splitSizeCombo.isValidSelectedItem()){ args.add(Long.toString(splitSizeCombo.getSelectedBytes())); }else{ throw new Exception(GettextResource.gettext(config.getI18nResourceBundle(),"Invalid split size")); } } else if (splitType.equals(SplitParsedCommand.S_BLEVEL)){ args.add("-"+SplitParsedCommand.BL_ARG); args.add((String)bLevelCombo.getSelectedItem()); } args.add("-"+SplitParsedCommand.O_ARG); //check radio for output options if (sameAsSourceRadio.isSelected()){ if(item != null){ args.add(item.getInputFile().getParent()); } }else{ if(destinationFolderText.getText()==null || destinationFolderText.getText().length()==0){ String suggestedDir = Configuration.getInstance().getDefaultWorkingDir(); if(suggestedDir != null){ int chosenOpt = DialogUtility.showConfirmOuputLocationDialog(getParent(),suggestedDir); if(JOptionPane.YES_OPTION == chosenOpt){ destinationFolderText.setText(suggestedDir); }else if(JOptionPane.CANCEL_OPTION == chosenOpt){ return; } } } args.add(destinationFolderText.getText()); } if (overwriteCheckbox.isSelected()) args.add("-"+SplitParsedCommand.OVERWRITE_ARG); if (outputCompressedCheck.isSelected()) args.add("-"+SplitParsedCommand.COMPRESSED_ARG); args.add("-"+MixParsedCommand.PDFVERSION_ARG); if(JPdfVersionCombo.SAME_AS_SOURCE.equals(((StringItem)versionCombo.getSelectedItem()).getId())){ StringItem minItem = versionCombo.getMinItem(); String currentPdfVersion = Character.toString(item.getPdfVersion()); if(minItem != null){ if(Integer.parseInt(currentPdfVersion) < Integer.parseInt(minItem.getId())){ if(JOptionPane.YES_OPTION != JOptionPane.showConfirmDialog(getParent(), GettextResource.gettext(config.getI18nResourceBundle(),"The lowest available pdf version is ")+minItem.getDescription()+".\n"+GettextResource.gettext(config.getI18nResourceBundle(),"You selected a lower output pdf version, continue anyway ?"), GettextResource.gettext(config.getI18nResourceBundle(),"Pdf version conflict"), JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE)){ return; } } } args.add(currentPdfVersion); }else{ args.add(((StringItem)versionCombo.getSelectedItem()).getId()); } args.add(AbstractParsedCommand.COMMAND_SPLIT); final String[] myStringArray = (String[])args.toArray(new String[args.size()]); WorkExecutor.getInstance().execute(new WorkThread(myStringArray)); }else{ JOptionPane.showMessageDialog(getParent(), GettextResource.gettext(config.getI18nResourceBundle(),"Please select a pdf document."), GettextResource.gettext(config.getI18nResourceBundle(),"Warning"), JOptionPane.WARNING_MESSAGE); } }catch(Exception ex){ log.error(GettextResource.gettext(config.getI18nResourceBundle(),"Error: "), ex); SoundPlayer.getInstance().playErrorSound(); } } }); runButton.setToolTipText(GettextResource.gettext(config.getI18nResourceBundle(),"Split selected file")); runButton.setMargin(new Insets(5, 5, 5, 5)); runButton.setSize(new Dimension(88,25)); add(runButton); //END_RUN_BUTTON //RADIO_LISTENERS sameAsSourceRadio.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { destinationFolderText.setEnabled(false); browseDestButton.setEnabled(false); } }); chooseAFolderRadio.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { destinationFolderText.setEnabled(true); browseDestButton.setEnabled(true); } }); //END_RADIO_LISTENERS //ENTER_KEY_LISTENERS browseDestButton.addKeyListener(browsedEnterkeyListener); runButton.addKeyListener(runEnterkeyListener); outPrefixText.addKeyListener(runEnterkeyListener); //END_ENTER_KEY_LISTENERS setLayout(); } /** * @return Returns the Plugin author. */ public String getPluginAuthor() { return PLUGIN_AUTHOR; } /** * @return Returns the Plugin name. */ public String getPluginName() { return GettextResource.gettext(config.getI18nResourceBundle(),"Split"); } /** * @return Returns the version. */ public String getVersion() { return PLUGIN_VERSION; } public Node getJobNode(Node arg0, boolean savePasswords) throws SaveJobException { try{ if (arg0 != null){ Element fileSource = ((Element)arg0).addElement("source"); PdfSelectionTableItem[] items = selectionPanel.getTableRows(); if(items != null && items.length>0){ fileSource.addAttribute("value",items[0].getInputFile().getAbsolutePath()); if(savePasswords){ fileSource.addAttribute("password",items[0].getPassword()); } } Element splitOption = ((Element)arg0).addElement("split_option"); if(splitOptionsRadioGroup.getSelection() != null){ splitOption.addAttribute("value",((JSplitRadioButtonModel)splitOptionsRadioGroup.getSelection()).getSplitCommand()); } Element splitNpages = ((Element)arg0).addElement("npages"); splitNpages.addAttribute("value", nPagesTextField.getText()); Element splitThispage = ((Element)arg0).addElement("thispage"); splitThispage.addAttribute("value", thisPageTextField.getText()); Element splitSize = ((Element)arg0).addElement("splitsize"); splitSize.addAttribute("value", splitSizeCombo.getSelectedItem().toString()); Element bookLevel = ((Element)arg0).addElement("bookmarkslevel"); if(bLevelCombo.getSelectedItem() != null){ bookLevel.addAttribute("value", bLevelCombo.getSelectedItem().toString()); } Element fileDestination = ((Element)arg0).addElement("destination"); fileDestination.addAttribute("value", destinationFolderText.getText()); Element filePrefix = ((Element)arg0).addElement("prefix"); filePrefix.addAttribute("value", outPrefixText.getText()); Element file_overwrite = ((Element)arg0).addElement("overwrite"); file_overwrite.addAttribute("value", overwriteCheckbox.isSelected()?TRUE:FALSE); Element fileCompress = ((Element)arg0).addElement("compressed"); fileCompress.addAttribute("value", outputCompressedCheck.isSelected()?TRUE:FALSE); Element pdfVersion = ((Element)arg0).addElement("pdfversion"); pdfVersion.addAttribute("value", ((StringItem)versionCombo.getSelectedItem()).getId()); } return arg0; } catch (Exception ex){ throw new SaveJobException(ex); } } public void loadJobNode(Node arg0) throws LoadJobException { if(arg0!=null){ try{ resetPanel(); Node fileSource = (Node) arg0.selectSingleNode("source/@value"); if (fileSource != null && fileSource.getText().length()>0){ Node filePwd = (Node) arg0.selectSingleNode("source/@password"); String password = null; if (filePwd != null && filePwd.getText().length()>0){ password = filePwd.getText(); } selectionPanel.getLoader().addFile(new File(fileSource.getText()), password); } Node splitOption = (Node) arg0.selectSingleNode("split_option/@value"); if (splitOption != null){ if(splitOption.getText().equals(burstRadio.getSplitCommand())) burstRadio.doClick(); else if(splitOption.getText().equals(everyNRadio.getSplitCommand())) everyNRadio.doClick(); else if(splitOption.getText().equals(evenRadio.getSplitCommand())) evenRadio.doClick(); else if(splitOption.getText().equals(oddRadio.getSplitCommand())) oddRadio.doClick(); else if(splitOption.getText().equals(thisPageRadio.getSplitCommand())) thisPageRadio.doClick(); else if(splitOption.getText().equals(sizeRadio.getSplitCommand())) sizeRadio.doClick(); else if(splitOption.getText().equals(bookmarksLevel.getSplitCommand())) bookmarksLevel.doClick(); } Node splitNpages = (Node) arg0.selectSingleNode("npages/@value"); if (splitNpages != null){ nPagesTextField.setText(splitNpages.getText()); } Node splitThispage = (Node) arg0.selectSingleNode("thispage/@value"); if (splitThispage != null){ thisPageTextField.setText(splitThispage.getText()); } Node splitSize = (Node) arg0.selectSingleNode("splitsize/@value"); if (splitSize != null){ splitSizeCombo.setSelectedItem(splitSize.getText()); } Node bookLevel = (Node) arg0.selectSingleNode("bookmarkslevel/@value"); if (bookLevel != null){ bLevelCombo.setSelectedItem(bookLevel.getText()); } Node fileDestination = (Node) arg0.selectSingleNode("destination/@value"); if (fileDestination != null && fileDestination.getText().length()>0){ destinationFolderText.setText(fileDestination.getText()); chooseAFolderRadio.doClick(); }else{ sameAsSourceRadio.doClick(); } Node fileOverwrite = (Node) arg0.selectSingleNode("overwrite/@value"); if (fileOverwrite != null){ overwriteCheckbox.setSelected(TRUE.equals(fileOverwrite.getText())); } Node fileCompressed = (Node) arg0.selectSingleNode("compressed/@value"); if (fileCompressed != null && TRUE.equals(fileCompressed.getText())){ outputCompressedCheck.doClick(); } Node filePrefix = (Node) arg0.selectSingleNode("prefix/@value"); if (filePrefix != null){ outPrefixText.setText(filePrefix.getText()); } Node pdfVersion = (Node) arg0.selectSingleNode("pdfversion/@value"); if (pdfVersion != null){ for (int i = 0; i0){ if(DISABLE_ALL.equals(e.getActionCommand())){ first.setEnabled(false); second.setEnabled(false); third.setEnabled(false); fourth.setEnabled(false); }else if(ENABLE_FIRST.equals(e.getActionCommand())){ first.setEnabled(true); second.setEnabled(false); third.setEnabled(false); fourth.setEnabled(false); first.requestFocus(); }else if(ENABLE_SECOND.equals(e.getActionCommand())){ first.setEnabled(false); second.setEnabled(true); third.setEnabled(false); fourth.setEnabled(false); second.requestFocus(); }else if(ENABLE_THIRD.equals(e.getActionCommand())){ first.setEnabled(false); second.setEnabled(false); third.setEnabled(true); fourth.setEnabled(false); third.requestFocus(); }else if(ENABLE_FOURTH.equals(e.getActionCommand())){ first.setEnabled(false); second.setEnabled(false); third.setEnabled(false); fourth.setEnabled(true); fourth.requestFocus(); } } container.setSplitType(((JSplitRadioButton)e.getSource()).getSplitCommand()); } } pdfsam-1.1.4/pdfsam-launcher/0000755000175000017500000000000010633757456016016 5ustar twernertwernerpdfsam-1.1.4/pdfsam-launcher/Makefile.win0000644000175000017500000000177611225355430020245 0ustar twernertwerner# Project: pdfsam # Makefile created by Dev-C++ 4.9.9.2 CPP = g++.exe -D__DEBUG__ CC = gcc.exe -D__DEBUG__ WINDRES = windres.exe RES = javastarter_private.res OBJ = main.o $(RES) LINKOBJ = main.o $(RES) LIBS = -L"C:/Dev-Cpp/lib" -mwindows -s -g3 INCS = -I"C:/Dev-Cpp/include" CXXINCS = -I"C:/Dev-Cpp/lib/gcc/mingw32/3.4.2/include" -I"C:/Dev-Cpp/include/c++/3.4.2/backward" -I"C:/Dev-Cpp/include/c++/3.4.2/mingw32" -I"C:/Dev-Cpp/include/c++/3.4.2" -I"C:/Dev-Cpp/include" BIN = pdfsam-starter.exe CXXFLAGS = $(CXXINCS) -g3 CFLAGS = $(INCS) -g3 RM = rm -f .PHONY: all all-before all-after clean clean-custom all: all-before pdfsam-starter.exe all-after clean: clean-custom ${RM} $(OBJ) $(BIN) $(BIN): $(OBJ) $(CPP) $(LINKOBJ) -o "pdfsam-starter.exe" $(LIBS) main.o: main.cpp $(CPP) -c main.cpp -o main.o $(CXXFLAGS) javastarter_private.res: javastarter_private.rc $(WINDRES) -i javastarter_private.rc --input-format=rc -o javastarter_private.res -O coff pdfsam-1.1.4/pdfsam-launcher/javastarter_private.res0000644000175000017500000004305011225355434022577 0ustar twernertwernerLF.rsrcE<E@UJ(XUJ@UJ UJpUJ UJUJ A(BC(C(@ 7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7R7R7R7S7R7R7R7R7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7R7R7R7R7R7R7R7R7R7R7R7R777777777777777777777777777777777777777R7R7R7R7R7R7R7R7R7R7S7S7S7S7S77777777777777777777777777777777777777777777777777777777777R7R7S7S7S7S7777777777777777777777777{7{9s9T9T9Ty>y>y>y>y>y>y>y>y>y>eAfAbAaAaACECE::7777777777777777R7S7S7S7S7S777777777777777CECEdAi?k?y>y>y>y>y>y>y>y>y>y>y>y>y>y>y>y>fAfAdAeACECECE<777777777777777R7S7S7S7S7S77777777777777CEXBaAj?n?y>y>y>y>y>==========y>y>y>y>y>i@fAaACECECE97777777777777R7S7S7S7S7S7777777777777CE^AaAaAaAy>y>y>================y>y>y>y>h@dAaACECE7777777777777R7S7S7S7S7S777777777777:CEaAaAy>y>y>====<<<<<<<<<<======y>y>y>dAh@aACECE777777777777R7S7S7S7S7S777777777777CEaAbAy>y>y>==<<<<<<;;;;;;<<<<====y>y>y>y>fAbA^ACE77777777777R7S7S7S7S7777777777777CEaAcAy>y>y>==<<;;;;;:::;;;;<<<==y>y>y>y>y>g@dA^ACE7777777777R7R7S7S7S7777777777777CEbAf@i@y>y>===<;;;::::;;;;<=====y>y>y>i@g@^ACE7777777777S7S7S7S7777777777777CEaAf@m?y>y>y>==<<;;:::9988::;;;<<====y>y>y>y>eAfAFDCE777777777S7S7S7S7777777X8v7W77777CEaAdAdAy>y>===<<;;;;:::;;;;<<<===y>y>y>y>y>y>y>fAaACECE77777777S7S7S7S777777CEy>y>===<<<<;;;;;<<<<====y>y>y>y>i@bAaAaAbAaAaACE77777777S7S7S7S77777:CEZA9s777777CEaAaAg@y>y>y>=====<<<;<<<======y>y>y>eAdAdAaAaAaAaAaAaACECE7777777S7S7S7S77777:iCEaACE>777777CEaAaAfAy>y>y>y>=====<<=====y>y>y>y>y>g@dAi@KC77777777X9s9777777S7S7S7S7777:CEaAaAaA:o:777777CEaAfAg@fAy>y>y>y>y>=======y>y>y>y>y>h@fAdACE777777777777777777S7S7S7S7777;CEaAi@aAaA:o;777777CEaAaAcAfAg@y>y>y>y>====y>y>y>y>y>dAh@aACE77777777777777777777S7S7S7S7779CECEg@y>g@dAaA;i=777777CECEaAaAi@f@f@y>y>y>y>y>y>y>y>g@fAfAdACECE777777777777777777777S7S7S7S777:CEaAdAy>y>fAbAaA9s;7777777CEaAaAfAfAg@i?y>y>y>y>y>fAdAbACECE77777777777777777777777S7S7S7S77<9sCEdAy>y>y>y>i@aACE9s97777777CECECEaAaAaAdAf@e@e@e@aACECE7777777777777777777777777S7S7S7S77:CEbAfAy>y>y>y>y>dAdAaA9s9777777777CECECECECECECECECE777777777777CEaAaAaAaAaAaAaACE777777S7S7S7S77:lCGeAy>y>y>y>y>y>y>i@fAaA:o:9777777777777777777777777777CEaAaAaAaAaAaAaAaAaACE77777S7S7S7S77:l^AdAy>y>===y>y>y>dAj@bACEy>y>y>y>y>aAaACG7777S7S7S7S77:l^AfAy>y>====y>y>y>y>g@dAaAZACE77777777WWWW777777777CECECEaAaAy>y>y>y>y>y>y>y>aAaACE7X777S7S7S7S77:l^AdAy>y>=====y>y>y>y>i@aAaAZACE777777WWWWWW7777777CECEaAaAy>y>y>y>y>===y>y>y>aACE7777S7S7S7S77:laAdAy>y>=======y>y>y>g@eAaAaACE7777WWWWWWWW77777CECEaAaAy>y>y>y>y>=====y>y>aACE>777S7S7S7S77:laAdAy>y>==<<===y>y>y>y>g@fAaAaACE777WWWWWWWW7777CEaAaAaAy>y>y>y>y>======y>y>aACE>777S7S7S7S799saAdAy>y>==<<<====y>y>y>y>eAaAaACE77WWWWWWWW77aACEaAaAaAy>y>y>y>===<<<==y>y>aACE=777S7S7S7S799saAdAy>y>==:::<====y>y>y>l?i@aAaACE7WWWWWWWW7CECEaAaAaAy>y>y>====<<<<==y>y>aACE=777S7S7S7S7:y>==<:::<====y>y>y>m?e@aAaA77WWWWWW77CEaAaAaAy>y>y>====<<<<<==y>y>aACF=777S7S7S7S79y>==<::::<<====y>y>i@aAaAaACE7WWWW77CEaAaAaAy>y>y>===<<<::<<=y>y>y>aACE=777S7S7S7S779sUBdAy>y>==<<::::<<===y>y>y>e@aAaACE777777CEaAaAaAy>y>y>===<<<:::<<=y>y>aAaA9n>777S7S7S7S779CEaAh@y>y>==<::::::<<==y>y>y>fAaAaA777777CEaAaAy>y>y>===<<:::::<<=y>y>aAaA:g:777S7S7S7S777CEaAbAy>y>==<<::::::<<==y>y>i@aAaACE77777CEaAaAy>y>y>==<<<:::::<==y>y>aACE:l7777S7S7S7S777:l^AaAy>y>===<:::::<==y>y>y>h@aACE77777CEaAaAy>y>===<:::::<=y>y>aAaACE;7777S7S7S7S777;iCEbAy>y>y>==<::::::<===y>y>h@aACE77777CEaAaAy>y>==<<::::<==y>y>aAaACE<7777S7S7S7S7779CEaAi@y>y>y>==<:::::::<<=y>y>fAbACE77777CEaAaAy>y>==<<::::::<=y>y>y>aA^A:l77777S7S7S7S7777;gCEdAdAy>y>==<<::::::<<=y>y>fAbAZACE7777CEaAaAy>y>==<<::::<<==y>y>aAaACE9s77777S7S7S7S7777:CEbAfAy>y>y>==<<:::::<<=y>y>fAbA^ACE7777CEaAaAy>y>==<<:::<<==y>y>y>aAaA;f777777S7S7S7S777799CEi@eAy>y>===<<:::::<=y>y>fAbA^ACE7777CEaAaAy>y>==<<::<<===y>y>aAaACE9s777777S7S7S7S77777;CEdAdAy>y>y>===<:::::<=y>y>fAbA^ACE7777CEaAaAy>y>==<<:<<===y>y>aAaA^A>\9777777S7S7S7S777777:CEfAeAy>y>y>===<:::<<=y>y>fAbAaACE7777CEaAaAy>y>==<<<<===y>y>y>aAaACE:o7777777S7S7S7S7777777CEZAeAfAy>y>y>===<<<<<=y>y>fAbAaACE7777CEaAaAy>y>==<<<<==y>y>y>aAaA^A:l7777777R7S7S7S7S77777777CEWBaAi@y>y>y>===<<<==y>y>fAbAaACE7777CEaAaAy>y>==<<===y>y>y>aAaAaA:o=_7777777R7S7S7S7S777777777CEXBaAh@y>y>y>===<<==y>y>fAbAaACE7777CEaAaAy>y>======y>y>y>aAaAaACE:l77777777R7S7S7S7S7S777777779CE^AdAg@y>y>y>===<==y>y>i@bAaACE9777CEaAaAy>y>=====y>y>y>aAaACECE:o777777777R7S7S7S7S7S7777777779CEZAfAg@y>y>y>y>===y>y>y>h?aACE<7777CEaAaAy>y>===y>y>y>y>aAaAaACE;9777777777R7S7S7S7S7S77777777779CE^AbAfAfAy>y>y>y>y>y>y>fAcAaACE77777CEaAaAy>y>==y>y>y>y>aAaACECE:l77777777777R7S7S7S7S7S777777777777CEPCaAbAh@y>y>y>y>y>dAaAaACE:77777CEaAaAy>y>y>y>y>y>aAaAaACECE:777777777777R7S7S7S7S7S7777777777777CECFaA^AbAg@fAh@i@dAaAZACE977777CEaAaAy>y>y>aAaAaAaACECG;f97777777777777R7S7S7S7S7S777777777777777CECE^AaAbAaAaAaACECE7777777aAaAy>y>y>aAaAaA^ACECE9777777777777777R7S7S7S7S7S77777777777777777=ECECECECECE:7777777CEaAaAy>aAaAaACECE:l;i77777777777777777R7S7S7S7S7S77777777777777777778;97777777CECEaAaAaAaACECECECE<7777777777777777777R7S7S7S7S7S77777777777777777777777777777CECECECECECE789777777777777777777777R7S7S7S7S7S77777777777777777777777777777777777777777777777777777777777R7S7S7S7S7S77777777777777777777777777777777777777777777777777777777777R7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S77777777777777777777777777777777777S7S7S7S7S7S7S7S7S7S7S7S7R7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S @@@ (B4VS_VERSION_INFOStringFileInfo080904E4"CompanyName,FileVersion1.1.4FFileDescriptionpdfsam-starter"InternalName&LegalCopyright*LegalTrademarks*OriginalFilenameHProductNamePDF Split And Merge0ProductVersion1.1.4DVarFileInfo$Translation .rsrcpdfsam-1.1.4/pdfsam-launcher/main.cpp0000644000175000017500000005211311225355424017433 0ustar twernertwerner/* * Created on 09-Nov-2006 * * Copyright notice: this code is based on GPL code of Xenoage Java Exe Starter 2.0 * (c) 2005 by Andreas Wenger, Xenoage Software. * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include #include #include #define DEBUG_MODE #define STR_LEN_1 100 #define STR_LEN_2 200 //char buffer char buffer[5001] = "%XNG_JESTART_BUFFER% 321"; //buffer contents //each entry must end with a '\0' character! #define POS_JAR_NAME 0 #define LEN_JAR_NAME 100 #define POS_JAVA_EXE 100 #define LEN_JAVA_EXE 100 #define POS_JRE_REQUIRED 200 #define LEN_JRE_REQUIRED 100 #define POS_OPTIONS 400 #define LEN_OPTIONS 300 #define POS_ARGUMENTS 700 #define LEN_ARGUMENTS 300 #define POS_ERR_JRE_NOT_FOUND 2000 #define LEN_ERR_JRE_NOT_FOUND 300 #define POS_ERR_JRE_WRONG_VERSION 2300 #define LEN_ERR_JRE_WRONG_VERSION 300 #define POS_ERR_JRE_ERROR 2600 #define LEN_ERR_JRE_ERROR 300 #define POS_ERR_JAR_PACKED_ERROR 2900 #define LEN_ERR_JAR_PACKED_ERROR 300 #define POS_ERR_JAR_NOT_FOUND 3200 #define LEN_ERR_JAR_NOT_FOUND 300 #define POS_JAR_PACKED_NAME 4000 #define LEN_JAR_PACKED_NAME 100 //flags #define POS_FLAGS 4900 #define FLAG_START_WITHOUT_REGISTRY 0 #define FLAG_START_DESPITE_REGISTRY_ERROR 1 #define FLAG_JRE_REQUIRED_OR_HIGHER 2 #define FLAG_JAR_PACKED 3 #define FLAG_JAR_DELETE_AT_END 4 //errors #define ERR_REGISTRY_JRE_NOT_FOUND 100 #define ERR_REGISTRY_JRE_WRONG_VERSION 101 #define ERR_REGISTRY_JRE_ERROR 102 #define ERR_JAR_PACKED_ERROR 103 using namespace std; void GetProgramDir(char* szProgramPath) { GetModuleFileName(NULL, (LPSTR)szProgramPath, MAX_PATH); strcpy(strrchr((const char *)szProgramPath, '\\')+1, ""); //MessageBox(0, szProgramPath, 0, 0); return; } void Replace(string& source, const string& find, const string& replace) { size_t j; for (;(j = source.find(find)) != string::npos;) { source.replace(j, find.length(), replace); } } inline void TrimR(string& source, const string& t = " ") { source.erase(source.find_last_not_of(t) + 1); } bool StartsWith(char s[], char find[]) { bool thesame = true; if (strlen(find) > strlen(s)) { thesame = false; } else { int i = 0; while ((find[i] != '\0') && thesame) { thesame = (find[i] == s[i]); i++; } } return thesame; } //Returns true, if the second version (v2) is //higher than the first one (v1). bool IsVersionHigher(char v1[], char v2[]) { return (strcmp(v1, v2) < 0); } //Write into log file, if open void Log(FILE *fLog, string text) { if (fLog != NULL) { text += "\n"; fprintf(fLog, text.c_str()); } } //Close log file, if open void LogClose(FILE *fLog) { if (fLog != NULL) { fclose(fLog); } } int main(int argc, char *argv[]) { int err = 0; char szProgramPath[MAX_PATH + 1]; GetProgramDir(szProgramPath); //MessageBox(0, szProgramPath, 0, 0); #ifdef DEBUG_MODE //Test strcpy(&buffer[POS_JAR_NAME], "pdfsam-1.1.4.jar"); strcpy(&buffer[POS_OPTIONS], ""); strcpy(&buffer[POS_ARGUMENTS], "xmx"); strcpy(&buffer[POS_JAVA_EXE], "javaw.exe"); strcpy(&buffer[POS_JRE_REQUIRED], "1.4.2"); strcpy(&buffer[POS_ERR_JRE_NOT_FOUND], "No JRE found on your system! please download and install a working Java Virtual Machine."); strcpy(&buffer[POS_ERR_JRE_WRONG_VERSION], "Sorry, no suitable JRE version found on your system!"); strcpy(&buffer[POS_ERR_JRE_ERROR], "Something is wrong with your JRE configuration! Reinstall Java!"); strcpy(&buffer[POS_ERR_JAR_PACKED_ERROR], "Temporary Jar could not be extracted! Exe file is corrupt!"); strcpy(&buffer[POS_JAR_PACKED_NAME], "myjar.tmp"); buffer[POS_FLAGS + FLAG_JRE_REQUIRED_OR_HIGHER] = '1'; buffer[POS_FLAGS + FLAG_START_DESPITE_REGISTRY_ERROR] = '1'; buffer[POS_FLAGS + FLAG_START_WITHOUT_REGISTRY] = '0'; buffer[POS_FLAGS + FLAG_JAR_PACKED] = '0'; buffer[POS_FLAGS + FLAG_JAR_DELETE_AT_END] = '1'; #endif //if file jestartlog.txt exists, use it for logging the start process //(will be overwritten) bool bLog = false; FILE *fLog = fopen("pdfsam-launcher-log.txt", "r"); if (fLog != NULL) { fclose(fLog); fLog = fopen("pdfsam-launcher-log.txt", "w"); Log(fLog, "Logging started."); if (fLog != NULL) bLog = true; } char current_jre[STR_LEN_1] = ""; DWORD current_jre_size = STR_LEN_1; char use_jre[STR_LEN_1] = ""; DWORD use_jre_size = STR_LEN_1; char use_jre_path[STR_LEN_2] = ""; DWORD use_jre_path_size = STR_LEN_2; //Just start the default Java executable or search in the registry? if (buffer[POS_FLAGS + FLAG_START_WITHOUT_REGISTRY] != '1') { //Search in registry for installed JREs and find a suitable one Log(fLog, "Search for JRE in Registry..."); HKEY regkey = 0; if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, "Software\\JavaSoft\\Java Runtime Environment\\", 0, KEY_READ, ®key) == ERROR_SUCCESS) { //Read current JRE version if (RegQueryValueEx(regkey, "CurrentVersion", 0, 0, (BYTE*) current_jre, ¤t_jre_size) != ERROR_SUCCESS) { Log(fLog, "Could not read current version!"); } else { Log(fLog, (string) "Current JRE version: " + (string) current_jre); } int i = 0, ret; char vers[STR_LEN_1]; DWORD vers_size = STR_LEN_1; do { vers_size = STR_LEN_1; ret = RegEnumKeyEx(regkey, i, vers, &vers_size, 0, 0, 0, 0); if (ret == ERROR_SUCCESS) { Log(fLog, (string) "JRE found: " + (string) vers); //Is this a allowed version? It is allowed, if it starts with //the "required jre string" or if the higher-flag is set and //vers is a newer version than the required jre. bool allowed = false; if (StartsWith(vers, &buffer[POS_JRE_REQUIRED]) || ((buffer[POS_FLAGS + FLAG_JRE_REQUIRED_OR_HIGHER] == '1') && IsVersionHigher(&buffer[POS_JRE_REQUIRED], vers))) { //We can use it! (Overwrite old setting, if this //version is newer than the last one) if ((strlen(use_jre) == 0) || IsVersionHigher(use_jre, vers)) { strcpy(use_jre, vers); //Read the path of the JRE HKEY pathkey; if (RegOpenKeyEx(regkey, use_jre, 0, KEY_READ, &pathkey) == ERROR_SUCCESS) { use_jre_path_size = STR_LEN_2; if (RegQueryValueEx(pathkey, "JavaHome", 0, 0, (BYTE*) use_jre_path, &use_jre_path_size) != ERROR_SUCCESS) { //Error! //MessageBox(0, err_jreerror, 0, MB_ICONERROR); //return 0; err = ERR_REGISTRY_JRE_ERROR; ret = ERROR_SUCCESS - 1; //break the loop } RegCloseKey(pathkey); } else { //Error! //MessageBox(0, err_jreerror, 0, MB_ICONERROR); //return 0; err = ERR_REGISTRY_JRE_ERROR; ret = ERROR_SUCCESS - 1; //break the loop } } //Is this also the "current version" on this system? If //yes, use it and do not overwrite this setting any more. if (strcmp(use_jre, current_jre) == 0) { ret = ERROR_SUCCESS - 1; //break the loop } } } i++; } while (ret == ERROR_SUCCESS); RegCloseKey(regkey); //if use_jre is empty, we found no suitable JRE if (strlen(use_jre) == 0) { err = ERR_REGISTRY_JRE_WRONG_VERSION; } } else { //Error! //MessageBox(0, err_nojrefound, 0, MB_ICONERROR); //return 0; err = ERR_REGISTRY_JRE_NOT_FOUND; } } //See if we found a JRE if ((err == 0) && (strlen(use_jre) > 0)) { //We found one Log(fLog, (string) "JRE selected: " + (string) use_jre); Log(fLog, (string) "JRE path selected: " + (string) use_jre_path); //MessageBox(0, use_jre, 0, MB_ICONINFORMATION); //MessageBox(0, use_jre_path, 0, MB_ICONINFORMATION); } else if (err != 0) { //An error occured! //Show an error message and exit or proceed without a message and try //to start anyway if FLAG_START_DESPITE_REGISTRY_ERROR is set if ((buffer[POS_FLAGS + FLAG_START_DESPITE_REGISTRY_ERROR] == '1') && (err != ERR_REGISTRY_JRE_WRONG_VERSION)) { Log(fLog, "Error: Registry error, but trying to start anyway..."); strcpy(use_jre_path, ""); } else { if (err == ERR_REGISTRY_JRE_NOT_FOUND) { //No JRE could be found in the registry Log(fLog, (string) "Error: " + (string) &buffer[POS_ERR_JRE_NOT_FOUND]); MessageBox(0, &buffer[POS_ERR_JRE_NOT_FOUND], 0, MB_ICONERROR); } else if (err == ERR_REGISTRY_JRE_WRONG_VERSION) { //No suitable JRE could be found in the registry Log(fLog, (string) "Error: " + (string) &buffer[POS_ERR_JRE_WRONG_VERSION]); MessageBox(0, &buffer[POS_ERR_JRE_WRONG_VERSION], 0, MB_ICONERROR); } else if (err == ERR_REGISTRY_JRE_ERROR) { //Something is wrong with the JRE configuration in the registry Log(fLog, (string) "Error: " + (string) &buffer[POS_ERR_JRE_ERROR]); MessageBox(0, &buffer[POS_ERR_JRE_ERROR], 0, MB_ICONERROR); } LogClose(fLog); return 0; } } //java executable path string javaexe = &buffer[POS_JAVA_EXE]; if (strlen(use_jre_path) > 0) { javaexe.insert(0, string(use_jre_path) + string("\\bin\\")); } Log(fLog, (string) "Java executable path: " + javaexe); //if jar is packed in the exe, extract it now bool jarpacked = (buffer[POS_FLAGS + FLAG_JAR_PACKED] == '1'); if (jarpacked) { int err = ERR_JAR_PACKED_ERROR; //change this only if everything worked fine //open this exe file and search for the start sign //"%XNG_JESTART_JAR_PACKED%" FILE *fexe; char exepath[MAX_PATH + 1]; GetModuleFileName(NULL, (LPSTR)exepath, MAX_PATH); fexe = fopen(exepath, "rb"); if (fexe != NULL) { //get file size fseek (fexe, 0, SEEK_END); long fexelen = ftell(fexe); rewind (fexe); //char ttt[100]; //sprintf(ttt, "%i", fexelen); //MessageBox(0, ttt, 0, 0); // allocate memory to contain the whole file char *fexebuffer = (char*) malloc (fexelen); if (fexebuffer != NULL) { //copy the file into the buffer fread(fexebuffer, 1, fexelen, fexe); //search for the start sign int i = 0; char startsign[25] = "_XNG_JESTART_JAR_PACKED_"; startsign[0] = '%'; startsign[23] = '%'; int startsignlen = strlen(startsign); int startsignpos = -1; while ((i < fexelen - startsignlen) && (startsignpos == -1)) { if (fexebuffer[i] == '%') { if (strncmp(&fexebuffer[i], startsign, startsignlen) == 0) { startsignpos = i; } } i++; } /* char ttt[100]; sprintf(ttt, "%i", i); MessageBox(0, ttt, 0, 0); */ if (startsignpos > -1) { startsignpos = startsignpos + startsignlen; //create temp jar file char ftemppath[MAX_PATH + 1]; GetProgramDir(ftemppath); strcat(ftemppath, &buffer[POS_JAR_PACKED_NAME]); FILE *ftemp = fopen(ftemppath, "wb"); if (ftemp != NULL) { fwrite(&fexebuffer[startsignpos], 1, fexelen - startsignpos, ftemp); //char ttt[100]; //sprintf(ttt, "%i", fexelen - startsignpos); //MessageBox(0, ttt, 0, 0); //everything went ok err = 0; //terminate ftemp fclose(ftemp); } Log(fLog, (string) "Temp Jar extracted to: " + (string) ftemppath); } //terminate fexe fclose(fexe); free(fexebuffer); } } if (err != 0) { //An error occured! Log(fLog, (string) "Error: " + (string) &buffer[POS_ERR_JAR_PACKED_ERROR]); MessageBox(0, &buffer[POS_ERR_JAR_PACKED_ERROR], 0, MB_ICONERROR); LogClose(fLog); return 0; } } //filename of jar string jarname; if (jarpacked) { jarname = &buffer[POS_JAR_PACKED_NAME]; } else { jarname = &buffer[POS_JAR_NAME]; } Log(fLog, (string) "JAR path: " + jarname); //look if jar exists, if not, show error FILE *fJar = fopen(jarname.c_str(), "r"); if (fJar != NULL) { fclose(fJar); } else { //let the user change this message in later versions string s_jarnotfound = "Jar not found:\n" + jarname; MessageBox(0, s_jarnotfound.c_str(), 0, MB_ICONERROR); return 0; } //options string options_f1 = "%path%"; string ProgPathWithoutEndBackSlash = szProgramPath; ProgPathWithoutEndBackSlash = ProgPathWithoutEndBackSlash.substr(0, ProgPathWithoutEndBackSlash.length() - 1); string options_r1 = string("\"") + ProgPathWithoutEndBackSlash + string("\""); string options = &buffer[POS_OPTIONS]; Replace(options, options_f1, options_r1); Log(fLog, (string) "Options : " + options); //arguments string arguments_f1 = "xmx"; string arguments_r1 = ""; for (int i = 1; i < argc; i++) { arguments_r1 += string("\"") + argv[i] + string("\" "); } //MessageBox(0, arguments_r1.c_str(), 0, 0); string arguments = &buffer[POS_ARGUMENTS]; Replace(arguments, arguments_f1, arguments_r1); if(arguments.length() == 0){ arguments = "-Xmx256m"; } Log(fLog, (string) "Arguments : " + arguments); string javaargs = //Options... options +" "+ arguments +string(" -jar ") + //JAR-name with complete path string("\"") + szProgramPath + jarname + string("\" ") //Arguments ; Log(fLog, (string) "Java arguments : " + javaargs); //MessageBox(0, javaexe.c_str(), 0, 0); //MessageBox(0, javaargs.c_str(), 0, 0); //ShellExecute(NULL, NULL, javaexe.c_str(), javaargs.c_str(), NULL, SW_HIDE); //ShellExecute(NULL, NULL, "javaw", "-classpath \"D:\\C++\\Projekte\\test2\\\" -jar notepad.jar", NULL, SW_HIDE); Log(fLog, "Generating ShellExecute information..."); SHELLEXECUTEINFO SE; memset(&SE,0,sizeof(SE)); SE.fMask = SEE_MASK_NOCLOSEPROCESS ; SE.lpFile = javaexe.c_str(); SE.lpParameters = javaargs.c_str(); SE.nShow = SW_SHOW; SE.cbSize = sizeof(SE); Log(fLog, "Starting..."); ShellExecuteEx(&SE); //Delete temporary file at the end, if desired if (jarpacked && (buffer[POS_FLAGS + FLAG_JAR_DELETE_AT_END] == '1')) { //MessageBox(0, "Running", 0, 0); if (SE.hProcess) { WaitForSingleObject(SE.hProcess, INFINITE); CloseHandle(SE.hProcess); } Log(fLog, "Closed. Trying to delete temp Jar file..."); char ftemppath[MAX_PATH + 1]; GetProgramDir(ftemppath); strcat(ftemppath, &buffer[POS_JAR_PACKED_NAME]); remove(ftemppath); Log(fLog, "Deleted."); } else { Log(fLog, "Starter closed."); } //getchar (); LogClose(fLog); return 0; } pdfsam-1.1.4/pdfsam-launcher/javastarter_private.h0000644000175000017500000000113211225355416022230 0ustar twernertwerner/* THIS FILE WILL BE OVERWRITTEN BY DEV-C++ */ /* DO NOT EDIT ! */ #ifndef JAVASTARTER_PRIVATE_H #define JAVASTARTER_PRIVATE_H /* VERSION DEFINITIONS */ #define VER_STRING "1.1.4.0" #define VER_MAJOR 1 #define VER_MINOR 1 #define VER_RELEASE 4 #define VER_BUILD 0 #define COMPANY_NAME "" #define FILE_VERSION "1.1.4" #define FILE_DESCRIPTION "pdfsam-starter" #define INTERNAL_NAME "" #define LEGAL_COPYRIGHT "" #define LEGAL_TRADEMARKS "" #define ORIGINAL_FILENAME "" #define PRODUCT_NAME "PDF Split And Merge" #define PRODUCT_VERSION "1.1.4" #endif /*JAVASTARTER_PRIVATE_H*/ pdfsam-1.1.4/pdfsam-launcher/javastarter_private.rc0000644000175000017500000000146011225355416022411 0ustar twernertwerner/* THIS FILE WILL BE OVERWRITTEN BY DEV-C++ */ /* DO NOT EDIT! */ #include // include for version info constants A ICON MOVEABLE PURE LOADONCALL DISCARDABLE "javastarter.ico" // // TO CHANGE VERSION INFORMATION, EDIT PROJECT OPTIONS... // 1 VERSIONINFO FILEVERSION 1,1,4,0 PRODUCTVERSION 1,1,4,0 FILETYPE VFT_APP { BLOCK "StringFileInfo" { BLOCK "080904E4" { VALUE "CompanyName", "" VALUE "FileVersion", "1.1.4" VALUE "FileDescription", "pdfsam-starter" VALUE "InternalName", "" VALUE "LegalCopyright", "" VALUE "LegalTrademarks", "" VALUE "OriginalFilename", "" VALUE "ProductName", "PDF Split And Merge" VALUE "ProductVersion", "1.1.4" } } BLOCK "VarFileInfo" { VALUE "Translation", 0x0809, 1252 } } pdfsam-1.1.4/pdfsam-launcher/javastarter.layout0000644000175000017500000000025511225355460021570 0ustar twernertwerner[Editor_1] CursorCol=1 CursorRow=1 TopLine=1 LeftChar=1 [Editors] Focused=0 Order=0 [Editor_0] Open=1 Top=1 CursorCol=48 CursorRow=166 TopLine=149 LeftChar=1 pdfsam-1.1.4/pdfsam-launcher/pdf-enhanced.ico0000644000175000017500000001307610573256626021031 0ustar twernertwerner@@((@D^KHeZD;DT`~K}urGDuחJkc`kIFDkW}TQD}ޢYirDqUY\kiɍD~ЬXqTcٷPrPxxôK\MxIGSgFPq{}{kh\IgSZuRbGDMEqT\ZW|؞DGjb]`EWDDzajTQWPQrGvѷDfJeئWgIFTgeqnXTxLrvIu\fWWRNӺsKHTDkMi^[[pXLmD}OLDDGxWTHjYDJ{ݵTDDnPDbcZEiFaKaSkLڢGeDUDO{мDvDۤKjv`]EjNIGIGbNqIsDDDhDngD}DGFDDDKvIu[s׸MJTLNF`DbGOIlPXyųHFKmJ[FjTJ`rpNkjDDDDDT}ߴK|պTMMOTZgIFDsDx\DPDDDDDDDDZsDGxE_F_URVSFWYV^_JbRhZr\rK~ NNNNNNNN  _33333333333333333333333 33333333333333rZZZZZZZZZZZZr333333333333 E 3}RRRRRR.tttttttttW.RRRRRR}3 3}RRRHww&ttt&wwHRRR}3 3RRRHwwwwwD$$$$$$$$ꊮlwwwwHRRR3 N3RRHwwwww>D$$$$殭D>wwwwHRR3 N3RHwwwwwF $OO$D>wwwwHR3N N3Rwwwww TOԬO D>wwwwR3N 53RwwwwaP홀ԬӬ>wwwR3N 3Rwwwa8Հ{ss?ӬOD>wwR3N 3Rwwa88$O{{{{wR3 3Hww888Aotӵ̾ӬO$DH3 3xwH3N 53HwxOYd||Y괙O걭wwR3N N3RwwOYi 6Y괙O걭wwR3N N3Rwww$OY88Y괙O$걭wwwR3N N3Rwwww $$888Y괙O걭wwwwR3 N3RwwwwQY$wwwwHR3 3RRwwwwxu"wwwwkY殮DlwwwwHRR3 3RRRwwwwx&DwwwwkꊭwwwwwHRRR3 3}RRRHwxyyMwwwwYtyyxwHRRR}3 3}RRRRRRR4UUUUU!YWRRRRRRR}3 ZZZ0 3333333333333r0r3333333333333 _3333333333333333333333_ 5 NNNNNNNN pdfsam-1.1.4/pdfsam-launcher/javastarter.ico0000644000175000017500000004107610636000720021022 0ustar twernertwerner@@ (B(@ 7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7R7R7R7S7R7R7R7R7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7R7R7R7R7R7R7R7R7R7R7R7R777777777777777777777777777777777777777R7R7R7R7R7R7R7R7R7R7S7S7S7S7S77777777777777777777777777777777777777777777777777777777777R7R7S7S7S7S7777777777777777777777777{7{9s9T9T9Ty>y>y>y>y>y>y>y>y>y>eAfAbAaAaACECE::7777777777777777R7S7S7S7S7S777777777777777CECEdAi?k?y>y>y>y>y>y>y>y>y>y>y>y>y>y>y>y>fAfAdAeACECECE<777777777777777R7S7S7S7S7S77777777777777CEXBaAj?n?y>y>y>y>y>==========y>y>y>y>y>i@fAaACECECE97777777777777R7S7S7S7S7S7777777777777CE^AaAaAaAy>y>y>================y>y>y>y>h@dAaACECE7777777777777R7S7S7S7S7S777777777777:CEaAaAy>y>y>====<<<<<<<<<<======y>y>y>dAh@aACECE777777777777R7S7S7S7S7S777777777777CEaAbAy>y>y>==<<<<<<;;;;;;<<<<====y>y>y>y>fAbA^ACE77777777777R7S7S7S7S7777777777777CEaAcAy>y>y>==<<;;;;;:::;;;;<<<==y>y>y>y>y>g@dA^ACE7777777777R7R7S7S7S7777777777777CEbAf@i@y>y>===<;;;::::;;;;<=====y>y>y>i@g@^ACE7777777777S7S7S7S7777777777777CEaAf@m?y>y>y>==<<;;:::9988::;;;<<====y>y>y>y>eAfAFDCE777777777S7S7S7S7777777X8v7W77777CEaAdAdAy>y>===<<;;;;:::;;;;<<<===y>y>y>y>y>y>y>fAaACECE77777777S7S7S7S777777CEy>y>===<<<<;;;;;<<<<====y>y>y>y>i@bAaAaAbAaAaACE77777777S7S7S7S77777:CEZA9s777777CEaAaAg@y>y>y>=====<<<;<<<======y>y>y>eAdAdAaAaAaAaAaAaACECE7777777S7S7S7S77777:iCEaACE>777777CEaAaAfAy>y>y>y>=====<<=====y>y>y>y>y>g@dAi@KC77777777X9s9777777S7S7S7S7777:CEaAaAaA:o:777777CEaAfAg@fAy>y>y>y>y>=======y>y>y>y>y>h@fAdACE777777777777777777S7S7S7S7777;CEaAi@aAaA:o;777777CEaAaAcAfAg@y>y>y>y>====y>y>y>y>y>dAh@aACE77777777777777777777S7S7S7S7779CECEg@y>g@dAaA;i=777777CECEaAaAi@f@f@y>y>y>y>y>y>y>y>g@fAfAdACECE777777777777777777777S7S7S7S777:CEaAdAy>y>fAbAaA9s;7777777CEaAaAfAfAg@i?y>y>y>y>y>fAdAbACECE77777777777777777777777S7S7S7S77<9sCEdAy>y>y>y>i@aACE9s97777777CECECEaAaAaAdAf@e@e@e@aACECE7777777777777777777777777S7S7S7S77:CEbAfAy>y>y>y>y>dAdAaA9s9777777777CECECECECECECECECE777777777777CEaAaAaAaAaAaAaACE777777S7S7S7S77:lCGeAy>y>y>y>y>y>y>i@fAaA:o:9777777777777777777777777777CEaAaAaAaAaAaAaAaAaACE77777S7S7S7S77:l^AdAy>y>===y>y>y>dAj@bACEy>y>y>y>y>aAaACG7777S7S7S7S77:l^AfAy>y>====y>y>y>y>g@dAaAZACE77777777WWWW777777777CECECEaAaAy>y>y>y>y>y>y>y>aAaACE7X777S7S7S7S77:l^AdAy>y>=====y>y>y>y>i@aAaAZACE777777WWWWWW7777777CECEaAaAy>y>y>y>y>===y>y>y>aACE7777S7S7S7S77:laAdAy>y>=======y>y>y>g@eAaAaACE7777WWWWWWWW77777CECEaAaAy>y>y>y>y>=====y>y>aACE>777S7S7S7S77:laAdAy>y>==<<===y>y>y>y>g@fAaAaACE777WWWWWWWW7777CEaAaAaAy>y>y>y>y>======y>y>aACE>777S7S7S7S799saAdAy>y>==<<<====y>y>y>y>eAaAaACE77WWWWWWWW77aACEaAaAaAy>y>y>y>===<<<==y>y>aACE=777S7S7S7S799saAdAy>y>==:::<====y>y>y>l?i@aAaACE7WWWWWWWW7CECEaAaAaAy>y>y>====<<<<==y>y>aACE=777S7S7S7S7:y>==<:::<====y>y>y>m?e@aAaA77WWWWWW77CEaAaAaAy>y>y>====<<<<<==y>y>aACF=777S7S7S7S79y>==<::::<<====y>y>i@aAaAaACE7WWWW77CEaAaAaAy>y>y>===<<<::<<=y>y>y>aACE=777S7S7S7S779sUBdAy>y>==<<::::<<===y>y>y>e@aAaACE777777CEaAaAaAy>y>y>===<<<:::<<=y>y>aAaA9n>777S7S7S7S779CEaAh@y>y>==<::::::<<==y>y>y>fAaAaA777777CEaAaAy>y>y>===<<:::::<<=y>y>aAaA:g:777S7S7S7S777CEaAbAy>y>==<<::::::<<==y>y>i@aAaACE77777CEaAaAy>y>y>==<<<:::::<==y>y>aACE:l7777S7S7S7S777:l^AaAy>y>===<:::::<==y>y>y>h@aACE77777CEaAaAy>y>===<:::::<=y>y>aAaACE;7777S7S7S7S777;iCEbAy>y>y>==<::::::<===y>y>h@aACE77777CEaAaAy>y>==<<::::<==y>y>aAaACE<7777S7S7S7S7779CEaAi@y>y>y>==<:::::::<<=y>y>fAbACE77777CEaAaAy>y>==<<::::::<=y>y>y>aA^A:l77777S7S7S7S7777;gCEdAdAy>y>==<<::::::<<=y>y>fAbAZACE7777CEaAaAy>y>==<<::::<<==y>y>aAaACE9s77777S7S7S7S7777:CEbAfAy>y>y>==<<:::::<<=y>y>fAbA^ACE7777CEaAaAy>y>==<<:::<<==y>y>y>aAaA;f777777S7S7S7S777799CEi@eAy>y>===<<:::::<=y>y>fAbA^ACE7777CEaAaAy>y>==<<::<<===y>y>aAaACE9s777777S7S7S7S77777;CEdAdAy>y>y>===<:::::<=y>y>fAbA^ACE7777CEaAaAy>y>==<<:<<===y>y>aAaA^A>\9777777S7S7S7S777777:CEfAeAy>y>y>===<:::<<=y>y>fAbAaACE7777CEaAaAy>y>==<<<<===y>y>y>aAaACE:o7777777S7S7S7S7777777CEZAeAfAy>y>y>===<<<<<=y>y>fAbAaACE7777CEaAaAy>y>==<<<<==y>y>y>aAaA^A:l7777777R7S7S7S7S77777777CEWBaAi@y>y>y>===<<<==y>y>fAbAaACE7777CEaAaAy>y>==<<===y>y>y>aAaAaA:o=_7777777R7S7S7S7S777777777CEXBaAh@y>y>y>===<<==y>y>fAbAaACE7777CEaAaAy>y>======y>y>y>aAaAaACE:l77777777R7S7S7S7S7S777777779CE^AdAg@y>y>y>===<==y>y>i@bAaACE9777CEaAaAy>y>=====y>y>y>aAaACECE:o777777777R7S7S7S7S7S7777777779CEZAfAg@y>y>y>y>===y>y>y>h?aACE<7777CEaAaAy>y>===y>y>y>y>aAaAaACE;9777777777R7S7S7S7S7S77777777779CE^AbAfAfAy>y>y>y>y>y>y>fAcAaACE77777CEaAaAy>y>==y>y>y>y>aAaACECE:l77777777777R7S7S7S7S7S777777777777CEPCaAbAh@y>y>y>y>y>dAaAaACE:77777CEaAaAy>y>y>y>y>y>aAaAaACECE:777777777777R7S7S7S7S7S7777777777777CECFaA^AbAg@fAh@i@dAaAZACE977777CEaAaAy>y>y>aAaAaAaACECG;f97777777777777R7S7S7S7S7S777777777777777CECE^AaAbAaAaAaACECE7777777aAaAy>y>y>aAaAaA^ACECE9777777777777777R7S7S7S7S7S77777777777777777=ECECECECECE:7777777CEaAaAy>aAaAaACECE:l;i77777777777777777R7S7S7S7S7S77777777777777777778;97777777CECEaAaAaAaACECECECE<7777777777777777777R7S7S7S7S7S77777777777777777777777777777CECECECECECE789777777777777777777777R7S7S7S7S7S77777777777777777777777777777777777777777777777777777777777R7S7S7S7S7S77777777777777777777777777777777777777777777777777777777777R7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S77777777777777777777777777777777777S7S7S7S7S7S7S7S7S7S7S7S7R7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S @pdfsam-1.1.4/pdfsam-launcher/javastarter.dev0000644000175000017500000000173011225355430021025 0ustar twernertwerner[Project] FileName=javastarter.dev Name=pdfsam UnitCount=1 Type=0 Ver=1 ObjFiles= Includes= Libs= PrivateResource=javastarter_private.rc ResourceIncludes= MakeIncludes= Compiler=_@@_ CppCompiler=_@@_ Linker=-s_@@_ IsCpp=1 Icon=javastarter.ico ExeOutput= ObjectOutput= OverrideOutput=1 OverrideOutputName=pdfsam-starter.exe HostApplication= Folders= CommandLine=-Xmx512m UseCustomMakefile=0 CustomMakefile= IncludeVersionInfo=1 SupportXPThemes=0 CompilerSet=0 CompilerSettings=0000000000000001000000 [Unit1] FileName=main.cpp CompileCpp=1 Folder=main.cpp Compile=1 Link=1 Priority=1000 OverrideBuildCmd=0 BuildCmd= [VersionInfo] Major=1 Minor=1 Release=4 Build=0 LanguageID=2057 CharsetID=1252 CompanyName= FileVersion=1.1.4 FileDescription=pdfsam-starter InternalName= LegalCopyright= LegalTrademarks= OriginalFilename= ProductName=PDF Split And Merge ProductVersion=1.1.4 AutoIncBuildNr=0 [Unit3] FileName=buffer.cpp pdfsam-1.1.4/pdfsam-launcher/pdf-basic.ico0000644000175000017500000004107610636000720020324 0ustar twernertwerner@@ (B(@ 7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7R7R7R7S7R7R7R7R7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7R7R7R7R7R7R7R7R7R7R7R7R777777777777777777777777777777777777777R7R7R7R7R7R7R7R7R7R7S7S7S7S7S77777777777777777777777777777777777777777777777777777777777R7R7S7S7S7S7777777777777777777777777{7{9s9T9T9Ty>y>y>y>y>y>y>y>y>y>eAfAbAaAaACECE::7777777777777777R7S7S7S7S7S777777777777777CECEdAi?k?y>y>y>y>y>y>y>y>y>y>y>y>y>y>y>y>fAfAdAeACECECE<777777777777777R7S7S7S7S7S77777777777777CEXBaAj?n?y>y>y>y>y>==========y>y>y>y>y>i@fAaACECECE97777777777777R7S7S7S7S7S7777777777777CE^AaAaAaAy>y>y>================y>y>y>y>h@dAaACECE7777777777777R7S7S7S7S7S777777777777:CEaAaAy>y>y>====<<<<<<<<<<======y>y>y>dAh@aACECE777777777777R7S7S7S7S7S777777777777CEaAbAy>y>y>==<<<<<<;;;;;;<<<<====y>y>y>y>fAbA^ACE77777777777R7S7S7S7S7777777777777CEaAcAy>y>y>==<<;;;;;:::;;;;<<<==y>y>y>y>y>g@dA^ACE7777777777R7R7S7S7S7777777777777CEbAf@i@y>y>===<;;;::::;;;;<=====y>y>y>i@g@^ACE7777777777S7S7S7S7777777777777CEaAf@m?y>y>y>==<<;;:::9988::;;;<<====y>y>y>y>eAfAFDCE777777777S7S7S7S7777777X8v7W77777CEaAdAdAy>y>===<<;;;;:::;;;;<<<===y>y>y>y>y>y>y>fAaACECE77777777S7S7S7S777777CEy>y>===<<<<;;;;;<<<<====y>y>y>y>i@bAaAaAbAaAaACE77777777S7S7S7S77777:CEZA9s777777CEaAaAg@y>y>y>=====<<<;<<<======y>y>y>eAdAdAaAaAaAaAaAaACECE7777777S7S7S7S77777:iCEaACE>777777CEaAaAfAy>y>y>y>=====<<=====y>y>y>y>y>g@dAi@KC77777777X9s9777777S7S7S7S7777:CEaAaAaA:o:777777CEaAfAg@fAy>y>y>y>y>=======y>y>y>y>y>h@fAdACE777777777777777777S7S7S7S7777;CEaAi@aAaA:o;777777CEaAaAcAfAg@y>y>y>y>====y>y>y>y>y>dAh@aACE77777777777777777777S7S7S7S7779CECEg@y>g@dAaA;i=777777CECEaAaAi@f@f@y>y>y>y>y>y>y>y>g@fAfAdACECE777777777777777777777S7S7S7S777:CEaAdAy>y>fAbAaA9s;7777777CEaAaAfAfAg@i?y>y>y>y>y>fAdAbACECE77777777777777777777777S7S7S7S77<9sCEdAy>y>y>y>i@aACE9s97777777CECECEaAaAaAdAf@e@e@e@aACECE7777777777777777777777777S7S7S7S77:CEbAfAy>y>y>y>y>dAdAaA9s9777777777CECECECECECECECECE777777777777CEaAaAaAaAaAaAaACE777777S7S7S7S77:lCGeAy>y>y>y>y>y>y>i@fAaA:o:9777777777777777777777777777CEaAaAaAaAaAaAaAaAaACE77777S7S7S7S77:l^AdAy>y>===y>y>y>dAj@bACEy>y>y>y>y>aAaACG7777S7S7S7S77:l^AfAy>y>====y>y>y>y>g@dAaAZACE77777777WWWW777777777CECECEaAaAy>y>y>y>y>y>y>y>aAaACE7X777S7S7S7S77:l^AdAy>y>=====y>y>y>y>i@aAaAZACE777777WWWWWW7777777CECEaAaAy>y>y>y>y>===y>y>y>aACE7777S7S7S7S77:laAdAy>y>=======y>y>y>g@eAaAaACE7777WWWWWWWW77777CECEaAaAy>y>y>y>y>=====y>y>aACE>777S7S7S7S77:laAdAy>y>==<<===y>y>y>y>g@fAaAaACE777WWWWWWWW7777CEaAaAaAy>y>y>y>y>======y>y>aACE>777S7S7S7S799saAdAy>y>==<<<====y>y>y>y>eAaAaACE77WWWWWWWW77aACEaAaAaAy>y>y>y>===<<<==y>y>aACE=777S7S7S7S799saAdAy>y>==:::<====y>y>y>l?i@aAaACE7WWWWWWWW7CECEaAaAaAy>y>y>====<<<<==y>y>aACE=777S7S7S7S7:y>==<:::<====y>y>y>m?e@aAaA77WWWWWW77CEaAaAaAy>y>y>====<<<<<==y>y>aACF=777S7S7S7S79y>==<::::<<====y>y>i@aAaAaACE7WWWW77CEaAaAaAy>y>y>===<<<::<<=y>y>y>aACE=777S7S7S7S779sUBdAy>y>==<<::::<<===y>y>y>e@aAaACE777777CEaAaAaAy>y>y>===<<<:::<<=y>y>aAaA9n>777S7S7S7S779CEaAh@y>y>==<::::::<<==y>y>y>fAaAaA777777CEaAaAy>y>y>===<<:::::<<=y>y>aAaA:g:777S7S7S7S777CEaAbAy>y>==<<::::::<<==y>y>i@aAaACE77777CEaAaAy>y>y>==<<<:::::<==y>y>aACE:l7777S7S7S7S777:l^AaAy>y>===<:::::<==y>y>y>h@aACE77777CEaAaAy>y>===<:::::<=y>y>aAaACE;7777S7S7S7S777;iCEbAy>y>y>==<::::::<===y>y>h@aACE77777CEaAaAy>y>==<<::::<==y>y>aAaACE<7777S7S7S7S7779CEaAi@y>y>y>==<:::::::<<=y>y>fAbACE77777CEaAaAy>y>==<<::::::<=y>y>y>aA^A:l77777S7S7S7S7777;gCEdAdAy>y>==<<::::::<<=y>y>fAbAZACE7777CEaAaAy>y>==<<::::<<==y>y>aAaACE9s77777S7S7S7S7777:CEbAfAy>y>y>==<<:::::<<=y>y>fAbA^ACE7777CEaAaAy>y>==<<:::<<==y>y>y>aAaA;f777777S7S7S7S777799CEi@eAy>y>===<<:::::<=y>y>fAbA^ACE7777CEaAaAy>y>==<<::<<===y>y>aAaACE9s777777S7S7S7S77777;CEdAdAy>y>y>===<:::::<=y>y>fAbA^ACE7777CEaAaAy>y>==<<:<<===y>y>aAaA^A>\9777777S7S7S7S777777:CEfAeAy>y>y>===<:::<<=y>y>fAbAaACE7777CEaAaAy>y>==<<<<===y>y>y>aAaACE:o7777777S7S7S7S7777777CEZAeAfAy>y>y>===<<<<<=y>y>fAbAaACE7777CEaAaAy>y>==<<<<==y>y>y>aAaA^A:l7777777R7S7S7S7S77777777CEWBaAi@y>y>y>===<<<==y>y>fAbAaACE7777CEaAaAy>y>==<<===y>y>y>aAaAaA:o=_7777777R7S7S7S7S777777777CEXBaAh@y>y>y>===<<==y>y>fAbAaACE7777CEaAaAy>y>======y>y>y>aAaAaACE:l77777777R7S7S7S7S7S777777779CE^AdAg@y>y>y>===<==y>y>i@bAaACE9777CEaAaAy>y>=====y>y>y>aAaACECE:o777777777R7S7S7S7S7S7777777779CEZAfAg@y>y>y>y>===y>y>y>h?aACE<7777CEaAaAy>y>===y>y>y>y>aAaAaACE;9777777777R7S7S7S7S7S77777777779CE^AbAfAfAy>y>y>y>y>y>y>fAcAaACE77777CEaAaAy>y>==y>y>y>y>aAaACECE:l77777777777R7S7S7S7S7S777777777777CEPCaAbAh@y>y>y>y>y>dAaAaACE:77777CEaAaAy>y>y>y>y>y>aAaAaACECE:777777777777R7S7S7S7S7S7777777777777CECFaA^AbAg@fAh@i@dAaAZACE977777CEaAaAy>y>y>aAaAaAaACECG;f97777777777777R7S7S7S7S7S777777777777777CECE^AaAbAaAaAaACECE7777777aAaAy>y>y>aAaAaA^ACECE9777777777777777R7S7S7S7S7S77777777777777777=ECECECECECE:7777777CEaAaAy>aAaAaACECE:l;i77777777777777777R7S7S7S7S7S77777777777777777778;97777777CECEaAaAaAaACECECECE<7777777777777777777R7S7S7S7S7S77777777777777777777777777777CECECECECECE789777777777777777777777R7S7S7S7S7S77777777777777777777777777777777777777777777777777777777777R7S7S7S7S7S77777777777777777777777777777777777777777777777777777777777R7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S77777777777777777777777777777777777S7S7S7S7S7S7S7S7S7S7S7S7R7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S7S @pdfsam-1.1.4/template-basic-1/0000755000175000017500000000000011076707110015755 5ustar twernertwernerpdfsam-1.1.4/template-basic-1/config.xml0000644000175000017500000000137111225341766017755 0ustar twernertwerner PDF Split and Merge basic PDF Split and Merge basic 1.1.4 12 July 2009 Java(TM) 2 SDK, Standard Edition, Version 1.4.2 5 14 en_GB 10000 1 1 Andrea Vacondio andrea.vacondio@gmail.com pdfsam-1.1.4/template-basic-1/plugins/0000755000175000017500000000000010756610774017453 5ustar twernertwernerpdfsam-1.1.4/template-basic-1/plugins/mix/0000755000175000017500000000000011104627606020236 5ustar twernertwernerpdfsam-1.1.4/template-basic-1/plugins/mix/config.xml0000644000175000017500000000022410717432222022220 0ustar twernertwerner org.pdfsam.plugin.mix.GUI.MixMainGUI pdfsam-1.1.4/template-basic-1/plugins/split/0000755000175000017500000000000010756610774020606 5ustar twernertwernerpdfsam-1.1.4/template-basic-1/plugins/split/config.xml0000644000175000017500000000023110724002432022546 0ustar twernertwerner org.pdfsam.plugin.split.GUI.SplitMainGUI pdfsam-1.1.4/template-basic-1/plugins/merge/0000755000175000017500000000000010756610776020554 5ustar twernertwernerpdfsam-1.1.4/template-basic-1/plugins/merge/config.xml0000644000175000017500000000022710727505560022534 0ustar twernertwerner org.pdfsam.plugin.merge.GUI.MergeMainGUI pdfsam-1.1.4/install/0000755000175000017500000000000011035172252014371 5ustar twernertwernerpdfsam-1.1.4/install/install-basic.nsi0000644000175000017500000005165711225342740017651 0ustar twernertwernerName "pdfsam" SetCompressor /SOLID zlib # Defines !define REGKEY "Software\$(^Name)" !define VERSION 1.1.4 !define COMPANY "Andrea Vacondio" !define URL "http://www.pdfsam.org/" # MUI defines !define MUI_ICON install-data\install.ico !define MUI_FINISHPAGE_NOAUTOCLOSE !define MUI_STARTMENUPAGE_REGISTRY_ROOT "HKLM" !define MUI_STARTMENUPAGE_REGISTRY_KEY ${REGKEY} ;!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME StartMenuGroup !define MUI_STARTMENUPAGE_DEFAULTFOLDER "PDF Split And Merge" !define MUI_WELCOMEFINISHPAGE_BITMAP install-data\install.bmp !define MUI_UNICON install-data\uninstall.ico !define MUI_UNFINISHPAGE_NOAUTOCLOSE !define LANGUAGE_TITLE "pdfsam language selection" !define MUI_LANGDLL_WINDOWTITLE "${LANGUAGE_TITLE}" # Remember language for uninstallation ;!define MUI_LANGDLL_REGISTRY_ROOT HKLM ;!define MUI_LANGDLL_REGISTRY_KEY "Software\$(^Name)" !define MUI_LANGDLL_REGISTRY_VALUENAME lang # Included files !include Sections.nsh !include MUI.nsh !include "WordFunc.nsh" !include Library.nsh !include "WinVer.nsh" !include "nsDialogs.nsh" !include "FileFunc.nsh" #for modern UI functionality !include "${NSISDIR}\Contrib\Modern UI\System.nsh" !include "XML.nsh" ;Required functions !insertmacro GetParameters !insertmacro GetOptions !insertmacro un.GetParameters !insertmacro un.GetOptions ;-------------------------------- # Variables Var StartMenuGroup Var LANG_NAME ;user control Var ALL_USERS Var ALL_USERS_FIXED Var ALL_USERS_BUTTON Var IS_ADMIN Var USERNAME ; uninstaller variables Var un.REMOVE_ALL_USERS Var un.REMOVE_CURRENT_USER ;------------------- # Installer pages !insertmacro MUI_PAGE_WELCOME !insertmacro MUI_PAGE_LICENSE install-data\gpl.txt Page custom PageAllUsers PageLeaveAllUsers ;call the user admin stuff !insertmacro MUI_PAGE_DIRECTORY !insertmacro MUI_PAGE_STARTMENU Application $StartMenuGroup !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_PAGE_FINISH !define MUI_PAGE_CUSTOMFUNCTION_PRE un.ConfirmPagePre ;for fancy uninstall !insertmacro MUI_UNPAGE_CONFIRM !insertmacro MUI_UNPAGE_INSTFILES !define MUI_PAGE_CUSTOMFUNCTION_PRE un.FinishPagePre ;for fancy uninstall !insertmacro MUI_UNPAGE_FINISH # Installer languages !insertmacro MUI_LANGUAGE "English" # first language is the default language !insertmacro MUI_LANGUAGE "Bosnian" !insertmacro MUI_LANGUAGE "Bulgarian" !insertmacro MUI_LANGUAGE "Croatian" !insertmacro MUI_LANGUAGE "Catalan" !insertmacro MUI_LANGUAGE "Czech" !insertmacro MUI_LANGUAGE "Danish" !insertmacro MUI_LANGUAGE "Galician" !insertmacro MUI_LANGUAGE "German" !insertmacro MUI_LANGUAGE "Greek" !insertmacro MUI_LANGUAGE "Spanish" !insertmacro MUI_LANGUAGE "Farsi" !insertmacro MUI_LANGUAGE "Finnish" !insertmacro MUI_LANGUAGE "French" !insertmacro MUI_LANGUAGE "Hebrew" !insertmacro MUI_LANGUAGE "Hungarian" !insertmacro MUI_LANGUAGE "Indonesian" !insertmacro MUI_LANGUAGE "Italian" !insertmacro MUI_LANGUAGE "Japanese" !insertmacro MUI_LANGUAGE "Korean" !insertmacro MUI_LANGUAGE "Latvian" !insertmacro MUI_LANGUAGE "Lithuanian" !insertmacro MUI_LANGUAGE "Norwegian" !insertmacro MUI_LANGUAGE "Dutch" !insertmacro MUI_LANGUAGE "Polish" !insertmacro MUI_LANGUAGE "Portuguese" !insertmacro MUI_LANGUAGE "PortugueseBR" !insertmacro MUI_LANGUAGE "Russian" !insertmacro MUI_LANGUAGE "Slovak" !insertmacro MUI_LANGUAGE "Slovenian" !insertmacro MUI_LANGUAGE "Swedish" !insertmacro MUI_LANGUAGE "Thai" !insertmacro MUI_LANGUAGE "Turkish" !insertmacro MUI_LANGUAGE "Ukrainian" !insertmacro MUI_LANGUAGE "SimpChinese" !insertmacro MUI_LANGUAGE "TradChinese" # Installer attributes OutFile pdfsam-win32inst-v1_1_4.exe InstallDir "$PROGRAMFILES\pdfsam" CRCCheck on XPStyle on ShowInstDetails show VIProductVersion 1.1.4.0 RequestExecutionLevel highest VIAddVersionKey /LANG=${LANG_ENGLISH} ProductName "pdfsam" VIAddVersionKey /LANG=${LANG_ENGLISH} ProductVersion "${VERSION}" VIAddVersionKey /LANG=${LANG_ENGLISH} CompanyName "${COMPANY}" VIAddVersionKey /LANG=${LANG_ENGLISH} FileVersion "${VERSION}" VIAddVersionKey /LANG=${LANG_ENGLISH} FileDescription "" VIAddVersionKey /LANG=${LANG_ENGLISH} LegalCopyright "2009" ;InstallDirRegKey HKLM "${REGKEY}" Path ShowUninstDetails hide !define getLanguageName "!insertmacro getLanguageName" #macro that resolves an id to an actual language !macro getLanguageName code Push ${code} Call getLangName !macroend ;function that gets called by the above macro Function getLangName ;pretty sure there's a better way to do this... ClearErrors Pop $0 ${Switch} $0 ${Case} ${LANG_ENGLISH} Push 'en_GB' ${Break} ${Case} ${LANG_ITALIAN} Push 'it' ${Break} ${Case} ${LANG_BULGARIAN} Push 'bg' ${Break} ${Case} ${LANG_BOSNIAN} Push 'bs' ${Break} ${Case} ${LANG_CATALAN} Push 'ca' ${Break} ${Case} ${LANG_CROATIAN} Push 'hr' ${Break} ${Case} ${LANG_CZECH} Push 'cs' ${Break} ${Case} ${LANG_SLOVAK} Push 'sk' ${Break} ${Case} ${LANG_ITALIAN} Push 'it' ${Break} ${Case} ${LANG_HEBREW} Push 'he' ${Break} ${Case} ${LANG_RUSSIAN} Push 'ru' ${Break} ${Case} ${LANG_NORWEGIAN} Push 'nb' ${Break} ${Case} ${LANG_SWEDISH} Push 'sv' ${Break} ${Case} ${LANG_SPANISH} Push 'es' ${Break} ${Case} ${LANG_PORTUGUESE} Push 'pt_PT' ${Break} ${Case} ${LANG_DUTCH} Push 'nl' ${Break} ${Case} ${LANG_FRENCH} Push 'fr' ${Break} ${Case} ${LANG_GREEK} Push 'el' ${Break} ${Case} ${LANG_TURKISH} Push 'tr' ${Break} ${Case} ${LANG_GERMAN} Push 'de' ${Break} ${Case} ${LANG_POLISH} Push 'pl' ${Break} ${Case} ${LANG_FINNISH} Push 'fi' ${Break} ${Case} ${LANG_SIMPCHINESE} Push 'zh_CN' ${Break} ${Case} ${LANG_HUNGARIAN} Push 'hu' ${Break} ${Case} ${LANG_DANISH} Push 'da' ${Break} ${Case} ${LANG_TRADCHINESE} Push 'zh_TW' ${Break} ${Case} ${LANG_INDONESIAN} Push 'id' ${Break} ${Case} ${LANG_FARSI} Push 'fa' ${Break} ${Case} ${LANG_KOREAN} Push 'ko' ${Break} ${Case} ${LANG_THAI} Push 'th' ${Break} ${Case} ${LANG_GALICIAN} Push 'gl' ${Break} ${Case} ${LANG_JAPANESE} Push 'ja' ${Break} ${Case} ${LANG_LATVIAN} Push 'lv' ${Break} ${Case} ${LANG_LITHUANIAN} Push 'lt' ${Break} ${Case} ${LANG_UKRAINIAN} Push 'uk' ${Break} ${Case} ${LANG_SLOVENIAN} Push 'sl' ${Break} ${Default} Push 'Default' ${Break} ${EndSwitch} Pop $LANG_NAME FunctionEnd Function WarnDirExists IfFileExists $INSTDIR\*.* DirExists DirExistsOK DirExists: MessageBox MB_YESNO|MB_ICONQUESTION|MB_DEFBUTTON2 \ "Installation directory already exists, please uninstall any previous installed version.$\nWould you like to install anyway?" \ IDYES DirExistsOK Abort DirExistsOK: FunctionEnd # Installer sections Section "-Install Section" SEC0000 Call WarnDirExists SetOutPath $INSTDIR SetOverwrite on File /r F:\pdfsam\pdfsam-basic\* ;WriteRegStr HKLM "${REGKEY}\Components" "Install Section" 1 SectionEnd Section -post SEC0001 SetOutPath $INSTDIR WriteUninstaller $INSTDIR\uninstall.exe !insertmacro MUI_STARTMENU_WRITE_BEGIN Application CreateDirectory "$SMPROGRAMS\$StartMenuGroup" SetOutPath $INSTDIR ;use the INSTDIR outpath for the next shortcut in order to launch the JAR file properly CreateShortcut "$SMPROGRAMS\$StartMenuGroup\pdfsam.lnk" $INSTDIR\pdfsam-starter.exe SetOutPath $SMPROGRAMS\$StartMenuGroup CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Readme.lnk" $INSTDIR\doc\readme.txt CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Tutorial.lnk" $INSTDIR\doc\pdfsam-1.1.0-tutorial.pdf CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Uninstall.lnk" $INSTDIR\uninstall.exe !insertmacro MUI_STARTMENU_WRITE_END WriteRegStr SHCTX "Software\$(^Name)" "" $INSTDIR WriteRegStr SHCTX "Software\$(^Name)" "Version" "${VERSION}" WriteRegExpandStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" "InstallLocation" "$INSTDIR" WriteRegExpandStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" UninstallString $INSTDIR\uninstall.exe WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayName "$(^Name)" WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayVersion "${VERSION}" WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayIcon $INSTDIR\uninstall.exe WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" "URLInfoAbout" "${URL}" WriteRegDWORD SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoModify 1 WriteRegDWORD SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoRepair 1 SectionEnd Section "-Write XML" ;writes to XML file ${xml::LoadFile} $INSTDIR\config.xml $0 ${xml::GotoPath} "/pdfsam/settings/i18n" $0 ${getLanguageName} $LANGUAGE ${xml::SetText} $LANG_NAME $1 ${xml::SaveFile} "$INSTDIR\config.xml" $0 SectionEnd # Uninstaller sections Section "Uninstall" Delete "$INSTDIR\uninstall.exe" Delete "$INSTDIR\config.xml" Delete "$INSTDIR\pdfsam-starter.exe" Delete "$INSTDIR\*.jar" RMDir /r "$INSTDIR\lib" RMDir /r "$INSTDIR\bin" RMDir /r "$INSTDIR\plugins" RMDir /r "$INSTDIR\doc" RMDir "$INSTDIR" ${If} $un.REMOVE_ALL_USERS == 1 SetShellVarContext all ${EndIf} ${If} $un.REMOVE_CURRENT_USER == 1 SetShellVarContext current ${EndIf} Call un.RemoveStartmenu DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DeleteRegKey SHCTX "Software\$(^Name)" SectionEnd ;This part controls installation for the current user / for all users Function GetUserInfo ClearErrors UserInfo::GetName ${If} ${Errors} StrCpy $IS_ADMIN 1 Return ${EndIf} Pop $USERNAME UserInfo::GetAccountType Pop $R0 ${Switch} $R0 ${Case} "Admin" ${Case} "Power" StrCpy $IS_ADMIN 1 ${Break} ${Default} StrCpy $IS_ADMIN 0 ${Break} ${EndSwitch} FunctionEnd Function ReadAllUsersCommandline ${GetParameters} $R0 ${GetOptions} $R0 "/user" $R1 ${Unless} ${Errors} ${If} $R1 == "current" ${OrIf} $R1 == "=current" ${If} $ALL_USERS_FIXED == 1 ${AndIf} $ALL_USERS == 1 MessageBox MB_ICONSTOP "Cannot install for current user only. pdfsam has been previously installed for all users.$\nPlease install this version for all users or uninstall previous version first." Abort ${EndIf} SetShellVarContext current StrCpy $ALL_USERS 0 StrCpy $ALL_USERS_FIXED 1 ${ElseIf} $R1 == "all" ${OrIf} $R1 == "=all" ${If} $ALL_USERS_FIXED == 1 ${AndIf} $ALL_USERS == 0 MessageBox MB_ICONSTOP "Cannot install for all users. pdfsam has been previously installed for the current user only.$\nPlease install this version for the current user only or uninstall previous version first." Abort ${EndIf} StrCpy $ALL_USERS 1 StrCpy $ALL_USERS_FIXED 1 SetShellVarContext all ${Else} MessageBox MB_ICONSTOP "Invalid option for /user. Has to be either /user=all or /user=current" Abort ${EndIf} ${EndUnless} FunctionEnd Function PageAllUsers !insertmacro MUI_HEADER_TEXT "Choose Installation Options" "Who should this application be installed for?" nsDialogs::Create /NOUNLOAD 1018 Pop $0 nsDialogs::CreateItem /NOUNLOAD STATIC ${WS_VISIBLE}|${WS_CHILD}|${WS_CLIPSIBLINGS} 0 0 0 100% 30 "Please select whether you wish to make this software available to all users or just yourself." Pop $R0 ${If} $IS_ADMIN == 1 ${If} $ALL_USERS_FIXED == 1 ${AndIf} $ALL_USERS == 0 StrCpy $R2 ${BS_AUTORADIOBUTTON}|${BS_VCENTER}|${BS_MULTILINE}|${WS_VISIBLE}|${WS_CHILD}|${WS_CLIPSIBLINGS}|${WS_GROUP}|${WS_TABSTOP}|${WS_DISABLED} ${Else} StrCpy $R2 ${BS_AUTORADIOBUTTON}|${BS_VCENTER}|${BS_MULTILINE}|${WS_VISIBLE}|${WS_CHILD}|${WS_CLIPSIBLINGS}|${WS_GROUP}|${WS_TABSTOP} ${EndIf} ${Else} StrCpy $R2 ${BS_AUTORADIOBUTTON}|${BS_VCENTER}|${BS_MULTILINE}|${WS_VISIBLE}|${WS_CHILD}|${WS_CLIPSIBLINGS}|${WS_GROUP}|${WS_TABSTOP}|${WS_DISABLED} ${EndIf} nsDialogs::CreateItem /NOUNLOAD BUTTON $R2 0 10 55 100% 30 "&Anyone who uses this computer (all users)" Pop $ALL_USERS_BUTTON ${If} $ALL_USERS_FIXED == 1 ${AndIf} $ALL_USERS == 1 StrCpy $R2 ${BS_AUTORADIOBUTTON}|${BS_TOP}|${BS_MULTILINE}|${WS_VISIBLE}|${WS_CHILD}|${WS_CLIPSIBLINGS}|${WS_DISABLED} ${Else} StrCpy $R2 ${BS_AUTORADIOBUTTON}|${BS_TOP}|${BS_MULTILINE}|${WS_VISIBLE}|${WS_CHILD}|${WS_CLIPSIBLINGS} ${EndIf} ${If} $USERNAME != "" nsDialogs::CreateItem /NOUNLOAD BUTTON $R2 0 10 85 100% 50 "&Only for me ($USERNAME)" ${Else} nsDialogs::CreateItem /NOUNLOAD BUTTON $R2 0 10 85 100% 50 "&Only for me" ${EndIf} Pop $R0 ${If} $ALL_USERS_FIXED == 1 ${If} $ALL_USERS == 1 nsDialogs::CreateItem /NOUNLOAD STATIC ${WS_VISIBLE}|${WS_CHILD}|${WS_CLIPSIBLINGS} 0 0 -30 100% 30 "pdfsam has been previously installed for all users. Please uninstall first before changing setup type." ${Else} nsDialogs::CreateItem /NOUNLOAD STATIC ${WS_VISIBLE}|${WS_CHILD}|${WS_CLIPSIBLINGS} 0 0 -30 100% 30 "pdfsam has been previously installed for this user only. Please uninstall first before changing setup type." ${EndIf} ${Else} nsDialogs::CreateItem /NOUNLOAD STATIC ${WS_VISIBLE}|${WS_CHILD}|${WS_CLIPSIBLINGS} 0 0 -30 100% 30 "Installation for all users requires Administrator privileges." ${EndIf} Pop $R1 ${If} $ALL_USERS == "1" SendMessage $ALL_USERS_BUTTON ${BM_SETCHECK} 1 0 ${Else} SendMessage $R0 ${BM_SETCHECK} 1 0 ${EndIf} nsDialogs::Show FunctionEnd Function PageLeaveAllUsers SendMessage $ALL_USERS_BUTTON ${BM_GETCHECK} 0 0 $R0 ${If} $R0 == 0 StrCpy $ALL_USERS "0" SetShellVarContext current ${Else} StrCpy $ALL_USERS "1" SetShellVarContext all ${EndIf} FunctionEnd ;end user control----------------------------------------------------------------- # Installer functions Function .onInit ;prevent multiple instances of the installer System::Call 'kernel32::CreateMutexA(i 0, i 0, t "myNSISMutex") i .r1 ?e' Pop $R0 StrCmp $R0 0 +3 MessageBox MB_OK|MB_ICONEXCLAMATION "The installer is already running." Abort ;Language selection dialog Push "" Push ${LANG_ENGLISH} Push English Push ${LANG_ITALIAN} Push Italian Push ${LANG_RUSSIAN} Push Russian Push ${LANG_BULGARIAN} Push Bulgarian Push ${LANG_SWEDISH} Push Swedish Push ${LANG_SPANISH} Push Spanish Push ${LANG_PORTUGUESE} Push Portuguese Push ${LANG_DUTCH} Push Dutch Push ${LANG_FRENCH} Push French Push ${LANG_GERMAN} Push German Push ${LANG_GALICIAN} Push Galician Push ${LANG_GREEK} Push Greek Push ${LANG_NORWEGIAN} Push Norwegian Push ${LANG_TURKISH} Push Turkish Push ${LANG_POLISH} Push Polish Push ${LANG_FINNISH} Push Finnish Push ${LANG_SIMPCHINESE} Push SimpChinese Push ${LANG_HUNGARIAN} Push Hungarian Push ${LANG_DANISH} Push Danish Push ${LANG_FARSI} Push Farsi Push ${LANG_KOREAN} Push Korean Push ${LANG_JAPANESE} Push Japanese Push ${LANG_LATVIAN} Push Latvian Push ${LANG_LITHUANIAN} Push Lithuanian Push ${LANG_TRADCHINESE} Push TradChinese Push ${LANG_INDONESIAN} Push Indonesian Push ${LANG_BOSNIAN} Push Bosnian Push ${LANG_CZECH} Push Czech Push ${LANG_SLOVAK} Push Slovak Push ${LANG_THAI} Push Thai Push ${LANG_CATALAN} Push Catalan Push ${LANG_UKRAINIAN} Push Ukrainian Push ${LANG_CROATIAN} Push Croatian Push ${LANG_HEBREW} Push Hebrew Push ${LANG_SLOVENIAN} Push Slovenian Push A ; A means auto count languages ; for the auto count to work the first empty push (Push "") must remain LangDLL::LangDialog "Installer Language" "Please select the language of the installer" Call GetUserInfo Call ReadAllUsersCommandline ${If} $ALL_USERS == 1 ${If} $IS_ADMIN == 0 ${If} $ALL_USERS_FIXED == 1 MessageBox MB_ICONSTOP "pdfsam has been previously installed for all users.$\nPlease restart the installer with Administrator privileges." Abort ${Else} StrCpy $All_USERS 0 ${EndIf} ${EndIf} ${EndIf} Pop $LANGUAGE StrCmp $LANGUAGE "cancel" 0 +2 Abort FunctionEnd # Uninstaller functions Function un.onInit ;copied Call un.GetUserInfo Call un.ReadPreviousVersion ${If} $un.REMOVE_ALL_USERS == 1 ${AndIf} $IS_ADMIN == 0 MessageBox MB_ICONSTOP "$(^Name) has been installed for all users.$\nPlease restart the uninstaller with Administrator privileges to remove it." Abort ${EndIf} ;------------ !insertmacro MUI_UNGETLANGUAGE ;TODO insert language dependent uninstall string below ;TODO uninstall prompt should not display location where files are being removed from MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Are you sure you want to completely remove $(^Name)?" IDYES +2 Abort FunctionEnd Function un.ReadPreviousVersion ReadRegStr $R0 HKLM "Software\$(^Name)" "" ${If} $R0 != "" ;Detect version ReadRegStr $R2 HKLM "Software\$(^Name)" "Version" ${If} $R2 == "" StrCpy $R0 "" ${EndIf} ${EndIf} ReadRegStr $R1 HKCU "Software\$(^Name)" "" ${If} $R1 != "" ;Detect version ReadRegStr $R2 HKCU "Software\$(^Name)" "Version" ${If} $R2 == "" StrCpy $R1 "" ${EndIf} ${EndIf} ${If} $R1 == $INSTDIR Strcpy $un.REMOVE_CURRENT_USER 1 ${EndIf} ${If} $R0 == $INSTDIR Strcpy $un.REMOVE_ALL_USERS 1 ${EndIf} ${If} $un.REMOVE_CURRENT_USER != 1 ${AndIf} $un.REMOVE_ALL_USERS != 1 ${If} $R1 != "" Strcpy $un.REMOVE_CURRENT_USER 1 ${If} $R0 == $R1 Strcpy $un.REMOVE_ALL_USERS 1 ${EndIf} ${Else} StrCpy $un.REMOVE_ALL_USERS = 1 ${EndIf} ${EndIf} FunctionEnd Function un.RemoveStartmenu !insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuGroup Delete "$SMPROGRAMS\$StartMenuGroup\Uninstall.lnk" Delete "$SMPROGRAMS\$StartMenuGroup\pdfsam.lnk" Delete "$SMPROGRAMS\$StartMenuGroup\readme.lnk" Delete "$SMPROGRAMS\$StartMenuGroup\tutorial.lnk" RMDir "$SMPROGRAMS\$StartMenuGroup" FunctionEnd ;fancy uninstaller sections Function un.onUninstSuccess HideWindow ;if we want a box saying "pdfsam completely removed we will uncomment below" ;MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) completely removed." FunctionEnd Function un.GetUserInfo ClearErrors UserInfo::GetName ${If} ${Errors} StrCpy $IS_ADMIN 1 Return ${EndIf} Pop $USERNAME UserInfo::GetAccountType Pop $R0 ${Switch} $R0 ${Case} "Admin" ${Case} "Power" StrCpy $IS_ADMIN 1 ${Break} ${Default} StrCpy $IS_ADMIN 0 ${Break} ${EndSwitch} FunctionEnd Function un.ConfirmPagePre ${un.GetParameters} $R0 ${un.GetOptions} $R0 "/frominstall" $R1 ${Unless} ${Errors} Abort ${EndUnless} FunctionEnd Function un.FinishPagePre ${un.GetParameters} $R0 ${un.GetOptions} $R0 "/frominstall" $R1 ${Unless} ${Errors} SetRebootFlag false Abort ${EndUnless} FunctionEnd ;-------------------------- pdfsam-1.1.4/pdfsam-merge/0000755000175000017500000000000010727477004015304 5ustar twernertwernerpdfsam-1.1.4/pdfsam-merge/ant/0000755000175000017500000000000010727477156016076 5ustar twernertwernerpdfsam-1.1.4/pdfsam-merge/ant/build.properties0000644000175000017500000000074011207771516021303 0ustar twernertwerner#where classes are compiled, jars distributed, javadocs created and release created build.dir=f:/build #libraries libs.dir=F:/pdfsam/workspace-enhanced/pdfsam-maine/lib pdfsam.release.jar.dir=f:/build/pdfsam-maine/release/jar log4j.jar.name=log4j-1.2.15 dom4j.jar.name=dom4j-1.6.1 jaxen.jar.name=jaxen-1.1 pdfsam-console.jar.name=pdfsam-console-1.1.2e pdfsam-merge.jar.name=pdfsam-merge-0.7.0 pdfsam-langpack.jar.name=pdfsam-langpack pdfsam.jar.name=pdfsam-1.0.0-b3 pdfsam-1.1.4/pdfsam-merge/ant/build.xml0000644000175000017500000000716410757576626017734 0ustar twernertwerner Merge plugin for pdfsam pdfsam-1.1.4/pdfsam-merge/apidocs/0000755000175000017500000000000011225360214016712 5ustar twernertwernerpdfsam-1.1.4/pdfsam-merge/images/0000755000175000017500000000000010727477156016561 5ustar twernertwernerpdfsam-1.1.4/pdfsam-merge/images/saveXml.png0000644000175000017500000000062411013606756020675 0ustar twernertwernerPNG  IHDRasRGBbKGDZ} pHYs&&%tIME &;NLtEXtCommentCreated with GIMPWIDAT8c p#?h #3c300000000v td>.6tm اlN˺BHn :q2} ^`4FF&u bl]> +q{7nr b`[I>p Lb頻 $:`, ݿЇY|=QR_ xa3^(liˍ- v1e$WEP gIENDB`pdfsam-1.1.4/pdfsam-merge/images/merge.png0000644000175000017500000000051310727477160020360 0ustar twernertwernerPNG  IHDRabKGD pHYs!3tIME*%}IDAT8˝ 0Jvágű>Ic})cM*,M#GO$BuPlij-V)Cx NRa9dmIGP N~1!~(}L2;'ey?77SkL~$?gɦ_1-?#LHnH'p$WA(;]? IENDB`pdfsam-1.1.4/pdfsam-merge/src/0000755000175000017500000000000010727477162016100 5ustar twernertwernerpdfsam-1.1.4/pdfsam-merge/src/java/0000755000175000017500000000000010727477202017014 5ustar twernertwernerpdfsam-1.1.4/pdfsam-merge/src/java/org/0000755000175000017500000000000010727477320017604 5ustar twernertwernerpdfsam-1.1.4/pdfsam-merge/src/java/org/pdfsam/0000755000175000017500000000000010727477320021056 5ustar twernertwernerpdfsam-1.1.4/pdfsam-merge/src/java/org/pdfsam/plugin/0000755000175000017500000000000010727477320022354 5ustar twernertwernerpdfsam-1.1.4/pdfsam-merge/src/java/org/pdfsam/plugin/merge/0000755000175000017500000000000010727477320023453 5ustar twernertwernerpdfsam-1.1.4/pdfsam-merge/src/java/org/pdfsam/plugin/merge/components/0000755000175000017500000000000011001121500025604 5ustar twernertwernerpdfsam-1.1.4/pdfsam-merge/src/java/org/pdfsam/plugin/merge/components/JSaveListAsXmlMenuItem.java0000644000175000017500000001202511104613632032744 0ustar twernertwerner/* * Created on 15-Apr-2008 * Copyright (C) 20078 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.plugin.merge.components; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import javax.swing.ImageIcon; import javax.swing.JFileChooser; import javax.swing.JMenuItem; import org.apache.log4j.Logger; import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; import org.dom4j.io.OutputFormat; import org.dom4j.io.XMLWriter; import org.pdfsam.guiclient.commons.panels.JPdfSelectionPanel; import org.pdfsam.guiclient.configuration.Configuration; import org.pdfsam.guiclient.dto.PdfSelectionTableItem; import org.pdfsam.guiclient.utils.filters.XmlFilter; import org.pdfsam.i18n.GettextResource; /** * Menu item to add the "save as xml" capability to the JPdfSelectionPanel * @author Andrea Vacondio */ public class JSaveListAsXmlMenuItem extends JMenuItem { private static final long serialVersionUID = -2401309408949258117L; private static final Logger log = Logger.getLogger(JSaveListAsXmlMenuItem.class.getPackage().getName()); private JPdfSelectionPanel selectionPanel; private JFileChooser fileChooser = null;; /** * @param selectionPanel */ public JSaveListAsXmlMenuItem(JPdfSelectionPanel selectionPanel) { super(); this.selectionPanel = selectionPanel; this.init(); } /** * initialize */ private void init(){ setIcon(new ImageIcon(this.getClass().getResource("/images/saveXml.png"))); setText(GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Export as xml")); addMouseListener(new MouseAdapter() { public void mouseReleased(MouseEvent e) { PdfSelectionTableItem[] rows = selectionPanel.getTableRows(); if (rows != null && rows.length>0){ try{ lazyInitJFileChooser(); if (fileChooser.showSaveDialog(selectionPanel) == JFileChooser.APPROVE_OPTION) { File selectedFile = fileChooser.getSelectedFile(); if(selectedFile.getName().toLowerCase().lastIndexOf(".xml") == -1){ selectedFile = new File(selectedFile.getParent(), selectedFile.getName()+".xml"); } writeXmlFile(rows, selectedFile); } } catch (Exception ex){ log.error(GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Unable to save xml file."), ex); } } } }); } /** * lazily initialize the JFileChooser */ private void lazyInitJFileChooser(){ if(fileChooser == null){ fileChooser = new JFileChooser(Configuration.getInstance().getDefaultWorkingDir()); fileChooser.setFileFilter(new XmlFilter()); fileChooser.setApproveButtonText(GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(), "Ok")); } } /** * Save the xml file * @param rows * @param selectedFile * @throws Exception */ public void writeXmlFile(PdfSelectionTableItem[] rows, File selectedFile) throws Exception{ if (selectedFile != null && rows != null){ Document document = DocumentHelper.createDocument(); Element root = document.addElement("filelist"); for (int i = 0; i0){ node.addAttribute("password", pwd); } } BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(selectedFile)); OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("UTF-8"); XMLWriter xmlWriter = new XMLWriter(bos, format); xmlWriter.write(document); xmlWriter.flush(); xmlWriter.close(); log.info(GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(), "File xml saved.")); }else{ log.error(GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(), "Error saving xml file, output file is null.")); } } } pdfsam-1.1.4/pdfsam-merge/src/java/org/pdfsam/plugin/merge/GUI/0000755000175000017500000000000010727477346024107 5ustar twernertwernerpdfsam-1.1.4/pdfsam-merge/src/java/org/pdfsam/plugin/merge/GUI/MergeMainGUI.java0000644000175000017500000007715011177610430027154 0ustar twernertwerner/* * Created on 06-Feb-2006 * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.plugin.merge.GUI; import java.awt.Component; import java.awt.Container; import java.awt.Dimension; import java.awt.FocusTraversalPolicy; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.Insets; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.io.File; import java.util.LinkedList; import java.util.List; import java.util.regex.Pattern; import javax.swing.BorderFactory; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JFileChooser; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.SpringLayout; import org.apache.log4j.Logger; import org.dom4j.Element; import org.dom4j.Node; import org.pdfsam.console.business.dto.commands.AbstractParsedCommand; import org.pdfsam.console.business.dto.commands.ConcatParsedCommand; import org.pdfsam.console.business.parser.validators.ConcatCmdValidator; import org.pdfsam.guiclient.business.listeners.EnterDoClickListener; import org.pdfsam.guiclient.commons.business.SoundPlayer; import org.pdfsam.guiclient.commons.business.WorkExecutor; import org.pdfsam.guiclient.commons.business.WorkThread; import org.pdfsam.guiclient.commons.business.listeners.CompressCheckBoxItemListener; import org.pdfsam.guiclient.commons.components.CommonComponentsFactory; import org.pdfsam.guiclient.commons.components.JPdfVersionCombo; import org.pdfsam.guiclient.commons.models.AbstractPdfSelectionTableModel; import org.pdfsam.guiclient.commons.panels.JPdfSelectionPanel; import org.pdfsam.guiclient.configuration.Configuration; import org.pdfsam.guiclient.dto.PdfSelectionTableItem; import org.pdfsam.guiclient.dto.StringItem; import org.pdfsam.guiclient.exceptions.LoadJobException; import org.pdfsam.guiclient.exceptions.SaveJobException; import org.pdfsam.guiclient.gui.components.JHelpLabel; import org.pdfsam.guiclient.plugins.interfaces.AbstractPlugablePanel; import org.pdfsam.guiclient.utils.DialogUtility; import org.pdfsam.guiclient.utils.filters.PdfFilter; import org.pdfsam.i18n.GettextResource; import org.pdfsam.plugin.merge.components.JSaveListAsXmlMenuItem; /** * Plugable JPanel provides a GUI for merge functions. * @author Andrea Vacondio * @see javax.swing.JPanel */ public class MergeMainGUI extends AbstractPlugablePanel implements PropertyChangeListener{ private static final String DEFAULT_OUPUT_NAME = "merged_file.pdf"; private static final long serialVersionUID = -992513717368544272L; private static final Logger log = Logger.getLogger(MergeMainGUI.class.getPackage().getName()); private JTextField destinationTextField = CommonComponentsFactory.getInstance().createTextField(CommonComponentsFactory.DESTINATION_TEXT_FIELD_TYPE); private JFileChooser browseDestFileChooser; private SpringLayout layoutDestinationPanel; private JPanel destinationPanel = new JPanel(); private SpringLayout layoutOptionPanel; private JPanel optionPanel = new JPanel(); private JHelpLabel mergeTypeHelpLabel; private JHelpLabel destinationHelpLabel; private Configuration config; private JCheckBox mergeTypeCheck = new JCheckBox(); private JPdfVersionCombo versionCombo = new JPdfVersionCombo(); private JPdfSelectionPanel selectionPanel = new JPdfSelectionPanel(JPdfSelectionPanel.UNLIMTED_SELECTABLE_FILE_NUMBER, AbstractPdfSelectionTableModel.MAX_COLUMNS_NUMBER); private JPanel topPanel = new JPanel(); //button private final JButton browseDestButton = CommonComponentsFactory.getInstance().createButton(CommonComponentsFactory.BROWSE_BUTTON_TYPE); private final JButton runButton = CommonComponentsFactory.getInstance().createButton(CommonComponentsFactory.RUN_BUTTON_TYPE); //checks private final JCheckBox overwriteCheckbox = CommonComponentsFactory.getInstance().createCheckBox(CommonComponentsFactory.OVERWRITE_CHECKBOX_TYPE); private final JCheckBox outputCompressedCheck = CommonComponentsFactory.getInstance().createCheckBox(CommonComponentsFactory.COMPRESS_CHECKBOX_TYPE); //keylisteners private final EnterDoClickListener runEnterKeyListener = new EnterDoClickListener(runButton); private final EnterDoClickListener browseEnterKeyListener = new EnterDoClickListener(browseDestButton); //focus policy private final MergeFocusPolicy mergeFocusPolicy = new MergeFocusPolicy(); private final JLabel outputVersionLabel = CommonComponentsFactory.getInstance().createLabel(CommonComponentsFactory.PDF_VERSION_LABEL); private static final String PLUGIN_AUTHOR = "Andrea Vacondio"; private static final String PLUGIN_VERSION = "0.7.0"; private static final String ALL_STRING = "All"; /** * Constructor */ public MergeMainGUI() { super(); initialize(); } /** * Panel initialization */ private void initialize() { config = Configuration.getInstance(); setPanelIcon("/images/merge.png"); setPreferredSize(new Dimension(500,550)); setLayout(new GridBagLayout()); topPanel.setLayout(new GridBagLayout()); GridBagConstraints topConst = new GridBagConstraints(); topConst.fill = GridBagConstraints.BOTH; topConst.ipady = 5; topConst.weightx = 1.0; topConst.weighty = 1.0; topConst.gridwidth = 3; topConst.gridheight = 2; topConst.gridx = 0; topConst.gridy = 0; topPanel.add(selectionPanel, topConst); selectionPanel.addPropertyChangeListener(this); //END_BROWSE_FILE_CHOOSER // OPTION_PANEL layoutOptionPanel = new SpringLayout(); optionPanel.setLayout(layoutOptionPanel); optionPanel.setBorder(BorderFactory.createTitledBorder(GettextResource.gettext(config.getI18nResourceBundle(),"Merge options"))); optionPanel.setMinimumSize(new Dimension(50,50)); optionPanel.setPreferredSize(new Dimension(50,60)); topConst.fill = GridBagConstraints.HORIZONTAL; topConst.weightx = 0.0; topConst.weighty = 0.0; topConst.gridwidth = 3; topConst.gridheight = 1; topConst.gridx = 0; topConst.gridy = 2; topPanel.add(optionPanel, topConst); mergeTypeCheck.setText(GettextResource.gettext(config.getI18nResourceBundle(),"PDF documents contain forms")); mergeTypeCheck.setSelected(false); optionPanel.add(mergeTypeCheck); String helpText = ""+GettextResource.gettext(config.getI18nResourceBundle(),"Merge type")+"
    " + "
  • "+GettextResource.gettext(config.getI18nResourceBundle(),"Unchecked")+": "+GettextResource.gettext(config.getI18nResourceBundle(),"Use this merge type for standard pdf documents")+".
  • " + "
  • "+GettextResource.gettext(config.getI18nResourceBundle(),"Checked")+": "+GettextResource.gettext(config.getI18nResourceBundle(),"Use this merge type for pdf documents containing forms")+"." + "
    "+GettextResource.gettext(config.getI18nResourceBundle(),"Note")+": "+GettextResource.gettext(config.getI18nResourceBundle(),"Setting this option the documents will be completely loaded in memory")+".
  • " + "
"; mergeTypeHelpLabel = new JHelpLabel(helpText, true); optionPanel.add(mergeTypeHelpLabel); //END_OPTION_PANEL GridBagConstraints c = new GridBagConstraints(); c.fill = GridBagConstraints.BOTH; c.ipady = 5; c.weightx = 1.0; c.weighty = 1.0; c.gridwidth = 3; c.gridx = 0; c.gridy = 0; c.insets = new Insets(0, 0, 10, 0); add(topPanel, c); //DESTINATION_PANEL layoutDestinationPanel = new SpringLayout(); destinationPanel.setLayout(layoutDestinationPanel); destinationPanel.setBorder(BorderFactory.createTitledBorder(GettextResource.gettext(config.getI18nResourceBundle(),"Destination output file"))); destinationPanel.setPreferredSize(new Dimension(200, 160)); destinationPanel.setMinimumSize(new Dimension(160, 150)); c.fill = GridBagConstraints.HORIZONTAL; c.ipady = 5; c.weightx = 1.0; c.weighty = 0.0; c.gridwidth = 3; c.gridx = 0; c.gridy = 1; c.insets = new Insets(0, 0, 0, 0); add(destinationPanel, c); //END_DESTINATION_PANEL destinationPanel.add(destinationTextField); //BROWSE_BUTTON browseDestButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if(browseDestFileChooser==null){ browseDestFileChooser = new JFileChooser(Configuration.getInstance().getDefaultWorkingDir()); browseDestFileChooser.setFileFilter(new PdfFilter()); } File chosenFile = null; if(destinationTextField.getText().length()>0){ browseDestFileChooser.setCurrentDirectory(new File(destinationTextField.getText())); } if (browseDestFileChooser.showOpenDialog(browseDestButton.getParent()) == JFileChooser.APPROVE_OPTION){ chosenFile = browseDestFileChooser.getSelectedFile(); } //write the destination in text field if (chosenFile != null){ try{ destinationTextField.setText(chosenFile.getAbsolutePath()); } catch (Exception ex){ log.error(GettextResource.gettext(config.getI18nResourceBundle(),"Error: "), ex); } } } }); destinationPanel.add(browseDestButton); //END_BROWSE_BUTTON //CHECK_BOX destinationPanel.add(overwriteCheckbox); outputCompressedCheck.addItemListener(new CompressCheckBoxItemListener(versionCombo)); outputCompressedCheck.setSelected(true); destinationPanel.add(outputCompressedCheck); destinationPanel.add(versionCombo); destinationPanel.add(outputVersionLabel); //END_CHECK_BOX //HELP_LABEL_DESTINATION String helpTextDest = ""+GettextResource.gettext(config.getI18nResourceBundle(),"Destination output file")+"" + "

"+GettextResource.gettext(config.getI18nResourceBundle(),"Browse or enter the full path to the destination output file.")+"

"+ "

"+GettextResource.gettext(config.getI18nResourceBundle(),"Check the box if you want to overwrite the output file if it already exists.")+"

"+ "

"+GettextResource.gettext(config.getI18nResourceBundle(),"Check the box if you want compressed output files.")+" "+GettextResource.gettext(config.getI18nResourceBundle(),"PDF version 1.5 or above.")+"

"+ "

"+GettextResource.gettext(config.getI18nResourceBundle(),"Set the pdf version of the ouput document.")+"

"+ ""; destinationHelpLabel = new JHelpLabel(helpTextDest, true); destinationPanel.add(destinationHelpLabel); //END_HELP_LABEL_DESTINATION //RUN_BUTTON runButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (WorkExecutor.getInstance().getRunningThreads() > 0 || selectionPanel.isAdding()){ log.info(GettextResource.gettext(config.getI18nResourceBundle(),"Please wait while all files are processed..")); return; } final LinkedList args = new LinkedList(); try{ PdfSelectionTableItem[] items = selectionPanel.getTableRows(); if(items != null && items.length >= 1){ String destination = ""; //if no extension given if ((destinationTextField.getText().length() > 0) && !(destinationTextField.getText().matches(PDF_EXTENSION_REGEXP))){ destinationTextField.setText(destinationTextField.getText()+"."+PDF_EXTENSION); } if(destinationTextField.getText().length()>0){ File destinationDir = new File(destinationTextField.getText()); File parent = destinationDir.getParentFile(); if(!(parent!=null && parent.exists())){ String suggestedDir = null; if(Configuration.getInstance().getDefaultWorkingDir()!=null && Configuration.getInstance().getDefaultWorkingDir().length()>0){ suggestedDir = new File(Configuration.getInstance().getDefaultWorkingDir(), destinationDir.getName()).getAbsolutePath(); }else{ if(items!=null & items.length>0){ PdfSelectionTableItem item = items[items.length-1]; if(item!=null && item.getInputFile()!=null){ suggestedDir = new File(item.getInputFile().getParent(), destinationDir.getName()).getAbsolutePath(); } } } if(suggestedDir != null){ int chosenOpt = DialogUtility.showConfirmOuputLocationDialog(getParent(),suggestedDir); if(JOptionPane.YES_OPTION == chosenOpt){ destinationTextField.setText(suggestedDir); }else if(JOptionPane.CANCEL_OPTION == chosenOpt){ return; } } } } destination = destinationTextField.getText(); //check if the file already exists and the user didn't select to overwrite File destFile = (destination!=null)? new File(destination):null; if(destFile!=null && destFile.exists() && !overwriteCheckbox.isSelected()){ int chosenOpt = DialogUtility.askForOverwriteOutputFileDialog(getParent(),destFile.getName()); if(JOptionPane.YES_OPTION == chosenOpt){ overwriteCheckbox.setSelected(true); }else if(JOptionPane.CANCEL_OPTION == chosenOpt){ return; } } args.add("-"+ConcatParsedCommand.O_ARG); args.add(destination); PdfSelectionTableItem item = null; String pageSelectionString = ""; for (int i = 0; i < items.length; i++){ item = items[i]; String pageSelection = (item.getPageSelection()!=null && item.getPageSelection().length()>0)?item.getPageSelection():ALL_STRING; //add ":" at the end if necessary if(!pageSelection.endsWith(":")){ pageSelection += ":"; } Pattern p = Pattern.compile(ConcatCmdValidator.SELECTION_REGEXP, Pattern.CASE_INSENSITIVE); if (!(p.matcher(pageSelection).matches())) { DialogUtility.errorValidatingBounds(getParent(), pageSelection); return; } else { args.add("-" + ConcatParsedCommand.F_ARG); String f = item.getInputFile().getAbsolutePath(); if ((item.getPassword()) != null && (item.getPassword()).length() > 0) { log.debug(GettextResource.gettext(config.getI18nResourceBundle(),"Found a password for input file.")); f += ":" + item.getPassword(); } args.add(f); pageSelectionString += pageSelection; } } args.add("-"+ConcatParsedCommand.U_ARG); args.add(pageSelectionString); if (overwriteCheckbox.isSelected()) args.add("-"+ConcatParsedCommand.OVERWRITE_ARG); if (outputCompressedCheck.isSelected()) args.add("-"+ConcatParsedCommand.COMPRESSED_ARG); if (mergeTypeCheck.isSelected()) args.add("-"+ConcatParsedCommand.COPYFIELDS_ARG); args.add("-"+ConcatParsedCommand.PDFVERSION_ARG); args.add(((StringItem)versionCombo.getSelectedItem()).getId()); args.add (AbstractParsedCommand.COMMAND_CONCAT); final String[] myStringArray = (String[])args.toArray(new String[args.size()]); WorkExecutor.getInstance().execute(new WorkThread(myStringArray)); }else{ JOptionPane.showMessageDialog(getParent(), GettextResource.gettext(config.getI18nResourceBundle(),"Please select at least one pdf document."), GettextResource.gettext(config.getI18nResourceBundle(),"Warning"), JOptionPane.WARNING_MESSAGE); } }catch(Exception ex){ log.error(GettextResource.gettext(config.getI18nResourceBundle(),"Error: "), ex); SoundPlayer.getInstance().playErrorSound(); } } }); runButton.setToolTipText(GettextResource.gettext(config.getI18nResourceBundle(),"Execute pdf merge")); runButton.setSize(new Dimension(88,25)); c.fill = GridBagConstraints.NONE; c.ipadx = 5; c.weightx = 0.0; c.weighty = 0.0; c.anchor = GridBagConstraints.LAST_LINE_END; c.gridwidth = 1; c.gridx = 2; c.gridy = 2; c.insets = new Insets(10,10,10,10); add(runButton, c); //END_RUN_BUTTON //KEY_LISTENER runButton.addKeyListener(runEnterKeyListener); browseDestButton.addKeyListener(browseEnterKeyListener); destinationTextField.addKeyListener(runEnterKeyListener); //LAYOUT selectionPanel.addPopupMenuItem(new JSaveListAsXmlMenuItem(selectionPanel)); setLayout(); //END_LAYOUT } /** * Set plugin layout for each component * */ private void setLayout(){ layoutOptionPanel.putConstraint(SpringLayout.SOUTH, mergeTypeCheck, 30, SpringLayout.NORTH, optionPanel); layoutOptionPanel.putConstraint(SpringLayout.EAST, mergeTypeCheck, -40, SpringLayout.EAST, optionPanel); layoutOptionPanel.putConstraint(SpringLayout.NORTH, mergeTypeCheck, 0, SpringLayout.NORTH, optionPanel); layoutOptionPanel.putConstraint(SpringLayout.WEST, mergeTypeCheck, 5, SpringLayout.WEST, optionPanel); layoutOptionPanel.putConstraint(SpringLayout.SOUTH, mergeTypeHelpLabel, -1, SpringLayout.SOUTH, optionPanel); layoutOptionPanel.putConstraint(SpringLayout.EAST, mergeTypeHelpLabel, -1, SpringLayout.EAST, optionPanel); layoutDestinationPanel.putConstraint(SpringLayout.EAST, destinationTextField, -105, SpringLayout.EAST, destinationPanel); layoutDestinationPanel.putConstraint(SpringLayout.NORTH, destinationTextField, 10, SpringLayout.NORTH, destinationPanel); layoutDestinationPanel.putConstraint(SpringLayout.SOUTH, destinationTextField, 30, SpringLayout.NORTH, destinationPanel); layoutDestinationPanel.putConstraint(SpringLayout.WEST, destinationTextField, 5, SpringLayout.WEST, destinationPanel); layoutDestinationPanel.putConstraint(SpringLayout.SOUTH, overwriteCheckbox, 17, SpringLayout.NORTH, overwriteCheckbox); layoutDestinationPanel.putConstraint(SpringLayout.NORTH, overwriteCheckbox, 5, SpringLayout.SOUTH, destinationTextField); layoutDestinationPanel.putConstraint(SpringLayout.WEST, overwriteCheckbox, 0, SpringLayout.WEST, destinationTextField); layoutDestinationPanel.putConstraint(SpringLayout.SOUTH, outputCompressedCheck, 17, SpringLayout.NORTH, outputCompressedCheck); layoutDestinationPanel.putConstraint(SpringLayout.NORTH, outputCompressedCheck, 5, SpringLayout.SOUTH, overwriteCheckbox); layoutDestinationPanel.putConstraint(SpringLayout.WEST, outputCompressedCheck, 0, SpringLayout.WEST, destinationTextField); layoutDestinationPanel.putConstraint(SpringLayout.SOUTH, outputVersionLabel, 17, SpringLayout.NORTH, outputVersionLabel); layoutDestinationPanel.putConstraint(SpringLayout.NORTH, outputVersionLabel, 5, SpringLayout.SOUTH, outputCompressedCheck); layoutDestinationPanel.putConstraint(SpringLayout.WEST, outputVersionLabel, 0, SpringLayout.WEST, destinationTextField); layoutDestinationPanel.putConstraint(SpringLayout.SOUTH, versionCombo, 0, SpringLayout.SOUTH, outputVersionLabel); layoutDestinationPanel.putConstraint(SpringLayout.NORTH, versionCombo, 0, SpringLayout.NORTH, outputVersionLabel); layoutDestinationPanel.putConstraint(SpringLayout.WEST, versionCombo, 2, SpringLayout.EAST, outputVersionLabel); layoutDestinationPanel.putConstraint(SpringLayout.SOUTH, browseDestButton, 25, SpringLayout.NORTH, browseDestButton); layoutDestinationPanel.putConstraint(SpringLayout.EAST, browseDestButton, -5, SpringLayout.EAST, destinationPanel); layoutDestinationPanel.putConstraint(SpringLayout.NORTH, browseDestButton, 0, SpringLayout.NORTH, destinationTextField); layoutDestinationPanel.putConstraint(SpringLayout.WEST, browseDestButton, -93, SpringLayout.EAST, destinationPanel); layoutDestinationPanel.putConstraint(SpringLayout.SOUTH, destinationHelpLabel, -1, SpringLayout.SOUTH, destinationPanel); layoutDestinationPanel.putConstraint(SpringLayout.EAST, destinationHelpLabel, -1, SpringLayout.EAST, destinationPanel); } /** * @return the Plugin author */ public String getPluginAuthor(){ return PLUGIN_AUTHOR; } /** * @return the Plugin name */ public String getPluginName(){ return GettextResource.gettext(config.getI18nResourceBundle(),"Merge/Extract"); } /** * @return the Plugin version */ public String getVersion(){ return PLUGIN_VERSION; } /** * @return the FocusTraversalPolicy associated with the plugin */ public FocusTraversalPolicy getFocusPolicy(){ return (FocusTraversalPolicy)mergeFocusPolicy; } public Node getJobNode(Node arg0, boolean savePasswords) throws SaveJobException { try{ if (arg0 != null){ Element filelist = ((Element)arg0).addElement("filelist"); PdfSelectionTableItem[] items = selectionPanel.getTableRows(); for (int i = 0; i < items.length; i++){ Element fileNode = ((Element)filelist).addElement("file"); fileNode.addAttribute("name",items[i].getInputFile().getAbsolutePath()); fileNode.addAttribute("pageselection",(items[i].getPageSelection()!=null)?items[i].getPageSelection():ALL_STRING); if(savePasswords){ fileNode.addAttribute("password",items[i].getPassword()); } } Element fileDestination = ((Element)arg0).addElement("destination"); fileDestination.addAttribute("value", destinationTextField.getText()); Element fileOverwrite = ((Element)arg0).addElement("overwrite"); fileOverwrite.addAttribute("value", overwriteCheckbox.isSelected()?TRUE:FALSE); Element mergeType = ((Element)arg0).addElement("merge_type"); mergeType.addAttribute("value", mergeTypeCheck.isSelected()?TRUE:FALSE); Element fileCompress = ((Element)arg0).addElement("compressed"); fileCompress.addAttribute("value", outputCompressedCheck.isSelected()?TRUE:FALSE); Element pdfVersion = ((Element)arg0).addElement("pdfversion"); pdfVersion.addAttribute("value", ((StringItem)versionCombo.getSelectedItem()).getId()); } return arg0; } catch (Exception ex){ throw new SaveJobException(ex); } } public void loadJobNode(Node arg0) throws LoadJobException { if(arg0 != null){ try{ resetPanel(); Node fileDestination = (Node) arg0.selectSingleNode("destination/@value"); if (fileDestination != null){ destinationTextField.setText(fileDestination.getText()); } Node fileOverwrite = (Node) arg0.selectSingleNode("overwrite/@value"); if (fileOverwrite != null){ overwriteCheckbox.setSelected(TRUE.equals(fileOverwrite.getText())); } Node mergeType = (Node) arg0.selectSingleNode("merge_type/@value"); if (mergeType != null){ mergeTypeCheck.setSelected(TRUE.equals(mergeType.getText())); } List fileList = arg0.selectNodes("filelist/file"); for (int i = 0; fileList != null && i < fileList.size(); i++) { Node fileNode = (Node) fileList.get(i); if(fileNode != null){ Node fileName = (Node) fileNode.selectSingleNode("@name"); if (fileName != null && fileName.getText().length()>0){ Node pageSelection = (Node) fileNode.selectSingleNode("@pageselection"); Node filePwd = (Node) fileNode.selectSingleNode("@password"); selectionPanel.getLoader().addFile(new File(fileName.getText()), (filePwd!=null)?filePwd.getText():null, (pageSelection!=null)?pageSelection.getText():null); } } } Node fileCompressed = (Node) arg0.selectSingleNode("compressed/@value"); if (fileCompressed != null && TRUE.equals(fileCompressed.getText())){ outputCompressedCheck.doClick(); } Node pdfVersion = (Node) arg0.selectSingleNode("pdfversion/@value"); if (pdfVersion != null){ for (int i = 0; i jcmdline pdfsam-1.1.4/jcmdline/apidocs/0000755000175000017500000000000011225360204016127 5ustar twernertwernerpdfsam-1.1.4/jcmdline/src/0000755000175000017500000000000010711620554015302 5ustar twernertwernerpdfsam-1.1.4/jcmdline/src/java/0000755000175000017500000000000010711620572016223 5ustar twernertwernerpdfsam-1.1.4/jcmdline/src/java/jcmdline/0000755000175000017500000000000010711667234020016 5ustar twernertwernerpdfsam-1.1.4/jcmdline/src/java/jcmdline/CmdLineHandler.java0000644000175000017500000002274310201471366023473 0ustar twernertwerner/* * CmdLineHandler.java * * Classes: * public CmdLineHandler * * ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is the Java jcmdline (command line management) package. * * The Initial Developer of the Original Code is Lynne Lawrence. * * Portions created by the Initial Developer are Copyright (C) 2002 * the Initial Developer. All Rights Reserved. * * Contributor(s): Lynne Lawrence * * ***** END LICENSE BLOCK ***** */ package jcmdline; import java.util.Collection; import java.util.List; /** * Interface that describes the API for a command line handler. A command * line handler is an object that is passed information concerning the * required structure of command's command line and then can be used to * parse the command line, taking action as configured. *

* Information on using CmdLineHandlers can be found in the jcmdline * User Guide. * * @author Lynne Lawrence * @version jcmdline Rel. @VERSION@ $Id: CmdLineHandler.java,v 1.2 2002/12/07 14:22:06 lglawrence Exp $ * @see Parameter * @see CmdLineParser * @see UsageFormatter */ public interface CmdLineHandler { /** * Sets a flag indicating that the program should exit in the case of * a parse error (after displaying the usage and an error message) - * defaults to true. * * @param val true (the default) if the * parse method should call System.exit() in * case of a parse error, false if * parse() should return to the user * for error processing. * @see #parse(String[]) parse() */ public void setDieOnParseError(boolean val) ; /** * Gets a flag indicating that the program should exit in the case of * a parse error (after displaying the usage and an error message). * * @return true (the default) if the * parse method should call System.exit() in * case of a parse error, false if * parse() should return to the user * for error processing. * @see #parse(String[]) parse() */ public boolean getDieOnParseError() ; /** * parse the specified command line arguments * * @param clargs command line arguments passed to the main() method * of CmdLineHandler's creating class. * @return This method will exit, rather than returning, if one of the * following conditions is met: *

    *
  • -h, or * -h!, or * -?, * are amongst the command line arguments - the * appropriate information is displayed on stdout, * and the program exits with status 0. *
  • OR, dieOnParseError is set to true AND: *
      *
    • a command line argument is incorrectly specified - * an error message is displayed and the program * exits with status 1. *
    • a required command line argument is missing - an error * message is displayed and the program exits with status 1. *
    *
* If dieOnParseError is set to false, * this method will return true if there are no parse errors. If * there are parse errors, falseis returned and * an appropriate error message may be obtained by calling * {@link #getParseError()}. */ public boolean parse(String[] clargs) ; /** * Sets the parser to be used to parse the command line. * * @param parser the parser to be used to parse the command line * @see #getParser() */ public void setParser(CmdLineParser parser) ; /** * Gets the parser to be used to parse the command line. * * @return the parser to be used to parse the command line * @see #setParser(CmdLineParser) setParser() */ public CmdLineParser getParser() ; /** * sets the value of the arguments (what is left on the command line after * all options, and their parameters, have been processed) associated * with the command * * @param args A Collection of {@link Parameter} objects. This may * be null if the command accepts no command line * arguments. */ public void setArgs(Parameter[] args) ; /** * Adds a command line arguement. * * @param arg the new command line argument * @throws IllegalArgumentException if arg * is null. */ public void addArg(Parameter arg) ; /** * gets the value of the arguments (what is left on the command line after * all options, and their parameters, have been processed) associated * with the command * * @return the command's options */ public List getArgs() ; /** * gets the argument specified by tag * * @param tag identifies the argument to be returned * @return The argument associated with tag. * If no matching argument is found, null is returned. */ public Parameter getArg(String tag) ; /** * Sets the value of the options associated with the command * * @param options A Collection of {@link Parameter} objects. This may * be null if the command accepts no command line * options. */ public void setOptions(Parameter[] options) ; /** * Adds a command line option. * * @param opt the new command line option * @throws IllegalArgumentException if the tag associated with * opt has already been defined for an * option. */ public void addOption(Parameter opt) ; /** * gets the value of the options associated with the command * * @return the command's options */ public Collection getOptions() ; /** * gets the option specified by tag * * @param tag identifies the option to be returned * @return the option associated with tag */ public Parameter getOption(String tag) ; /** * sets a description of the command's purpose * * @param cmdDesc a short description of the command's purpose * @throws IllegalArgumentException if cmdDesc * is null or of 0 length. */ public void setCmdDesc(String cmdDesc) ; /** * gets a description of the command's purpose * * @return the command's description */ public String getCmdDesc() ; /** * sets the value of the command name associated with this CmdLineHandler * * @param cmdName the name of the command associated with this * CmdLineHandler * @throws IllegalArgumentException if cmdName is null, * or of 0 length */ public void setCmdName(String cmdName) ; /** * gets the value of the command name associated with this CmdLineHandler * * @return the command name */ public String getCmdName() ; /** * Gets the usage statement associated with the command. * * @param hidden indicates whether hidden options are to be included * in the usage. * @return the usage statement associated with the command */ public String getUsage(boolean hidden) ; /** * Sets the error message from the last call to parse(). * * @param parseError the error message from the last call to parse() * @see #getParseError() */ public void setParseError(String parseError) ; /** * Gets the error message from the last call to parse(). * * @return the error message from the last call to parse() * @see #setParseError(String) setParseError() */ public String getParseError() ; /** * Prints the usage, followed by the specified error message, to stderr * and exits the program with exit status = 1. The error message will * be prefaced with 'ERROR: '. * * @param errMsg the error message * @return Doesn't return - exits the program with exit status * of 1. */ public void exitUsageError(String errMsg) ; } pdfsam-1.1.4/jcmdline/src/java/jcmdline/BasicCmdLineHandler.java0000644000175000017500000006005110722536316024434 0ustar twernertwerner/* * BasicCmdLineHandler.java * * Classes: * public BasicCmdLineHandler * * ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is the Java jcmdline (command line management) package. * * The Initial Developer of the Original Code is Lynne Lawrence. * * Portions created by the Initial Developer are Copyright (C) 2002 * the Initial Developer. All Rights Reserved. * * Contributor(s): Lynne Lawrence * * ***** END LICENSE BLOCK ***** */ package jcmdline; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.List; /** * Used to define, parse, and validate the parameters associated with an * executable's command line. *

* Objects of this class use a {@link CmdLineParser} to do the actual * parsing of the command line. By default, this class uses a * {@link PosixCmdLineParser}. *

* The following semantics are used throughout the documentation for this * class. A command line parameter refers to either a command line * option, or a command line argument. *

* A command line option is identified by a tag and may or * not have an associated value. For instance, in the following posix-type * option, "outfile" is the tag and "/tmp/myoutfile" is the * value: *

 *  --outfile /tmp/myoutfile
 * 
*

Command line * arguments are what are left on the command line after all * options have been processed. For example, again using a posix style * command line, "filename1" and "filename2" would be the arguments: *

 *  -e 's/red/blue/' filename1 filename2
 * 
*

* Parameters may be designated as hidden. * Hidden parameters are those that can be specified, * but whose documentation * is not displayed to the user when a normal usage is printed. *

* This class is used as in the following example of a 'cat' facsimile in java: *

 * public class Concat {
 *     static FileParam outfile = new FileParam(
 *             "out",
 *             "a file to receive the concatenated files (default is stdout)");
 *     static BooleanParam delete = new BooleanParam(
 *             "delete",
 *             "specifies that all of the original files are to be deleted");
 *     static FileParam infiles = new FileParam(
 *             "filename",
 *             "files to be concatenated",
 *             FileParam.IS_FILE & FileParam.IS_READABLE,
 *             FileParam.REQUIRED,
 *             FileParam.MULTI_VALUED);
 * 
 *     public static void main(String[] args) {
 *         outfile.setOptionLabel("outfile");
 *         BasicCmdLineHandler clp = new BasicCmdLineHandler(
 *                 "Concat", "concatenates the specified files",
 *                 new Parameter[] { outfile, delete },
 *                 new Parameter[] { infiles });
 *         clp.parse(args);
 * 
 *         if (outfile.isSet()) {
 *             ....
 *         } else {
 *             ...
 *         }
 *         for (Iterator itr = infiles.getFiles().iterator(); itr.hasNext(); ) {
 *             ...
 *         }
 *         if (delete.isTrue()) {
 *             ...
 *         }
 *     }
 * }
 * 
 * 
*

* This class implements no options on its own. It it typically used in * conjunction with one or more of the {@link AbstractHandlerDecorator} * classes that provide some useful options. *

* Post Processing Command Line Parameters *

* It may be the case that none of the supplied Parameter types fully * accomodates a program's needs. For instance, a program may require * a filename option that is an html filename, ending with '.html'. In * this case, the programmer has the options of creating their own * Parameter subclass, or post-processing the returned FileParam parameter * and generating their own error message. The * {@link #exitUsageError(String) exitUsageError()} method is * provided so that programs that post-process parameters can take * the same exit as would be taken for "normal" parameter processing * failures. For instance, in the case just described, the following * code could be used to exit the program if the specified file did not * end with '.html' (myfile * being a FileParam object, and cl * being the BasicCmdLineHandler object): *

 *    cl.parse(args);
 *    if (! myfile.getFile().getPath().endsWith(".html")) {
 *        cl.exitUsageError("Filename specified for '" +
 *                          myfile.getTag() + "' must end with '.html'");
 *    }
 * 
* * @author Lynne Lawrence * @version jcmdline Rel. @VERSION@ $Id: BasicCmdLineHandler.java,v 1.4 2005/02/06 13:19:19 lglawrence Exp $ * @see Parameter * @see CmdLineParser */ public class BasicCmdLineHandler implements CmdLineHandler { /** * the name of the command whose command line is to be parsed */ private String cmdName; /** * a short description of the command's purpose */ private String cmdDesc; /** * the options associated with the command */ private HashMap options = new HashMap(); /** * the arguments (after the options have been processed) associated * with the command */ private ArrayList args = new ArrayList(); /** * the parser to be used to parse the command line * @see #setParser(CmdLineParser) setParser() * @see #getParser() */ private CmdLineParser parser; /** * indicates that the command usage should be displayed, and System.exit(1) * called in the case of a parse error. * @see #setDieOnParseError(boolean) setDieOnParseError() */ private boolean dieOnParseError = true; /** * the error message from the last call to parse() * @see #setParseError(String) setParseError() * @see #getParseError() */ private String parseError; /** * constructor * * @param cmdName the name of the command * @param cmdDesc a short description of the command * @param options a collection of Parameter objects, describing the * command's command-line options * @param args a collection of Parameter objects, describing the * command's command-line arguments (what is left on * the command line after all options and their * parameters have been processed) * @param parser a CmdLineParser to be used to parse the command line * @throws IllegalArgumentException if any of the * parameters are not correctly specified. * @see #setCmdName(String) setCmdName() * @see #setCmdDesc(String) setCmdDesc() * @see #setOptions(Parameter[]) setOptions() * @see #setArgs(Parameter[]) setArgs() * @see #setParser(CmdLineParser) setParser() */ public BasicCmdLineHandler (String cmdName, String cmdDesc, Parameter[] options, Parameter[] args, CmdLineParser parser) { setCmdName(cmdName); setCmdDesc(cmdDesc); setOptions(options); setArgs(args); setParser(parser); } /** * constructor - uses the PosixCmdLineParser to parse the command line * * @param cmdName the name of the command * @param cmdDesc a short description of the command * @param options a collection of Parameter objects, describing the * command's command-line options * @param args a collection of Parameter objects, describing the * command's command-line arguments (what is left on * the command line after all options and their * parameters have been processed) * @throws IllegalArgumentException if any of the * parameters are not correctly specified. * @see #setCmdName(String) setCmdName() * @see #setCmdDesc(String) setCmdDesc() * @see #setOptions(Parameter[]) setOptions() * @see #setArgs(Parameter[]) setArgs() * @see PosixCmdLineParser */ public BasicCmdLineHandler (String cmdName, String cmdDesc, Parameter[] options, Parameter[] args) { this(cmdName, cmdDesc, options, args, new PosixCmdLineParser()); } /** * constructor - uses the PosixCmdLineParser to parse the command line * * @param cmdName the name of the command creating this * BasicCmdLineHandler * @param cmdDesc a short description of the command's purpose * @param options a collection of Parameter objects, describing the * command's command-line options * @param args a collection of Parameter objects, describing the * command's command-line arguments (what is left on * the command line after all options and their * parameters have been processed) * @throws IllegalArgumentException if any of the * parameters are not correctly specified. * @see #setCmdName(String) setCmdName() * @see #setCmdDesc(String) setCmdDesc() * @see #setOptions(Parameter[]) setOptions() * @see PosixCmdLineParser */ public BasicCmdLineHandler (String cmdName, String cmdDesc, Collection options, Collection args) { this(cmdName, cmdDesc, (Parameter[]) options.toArray(new Parameter[0]), (Parameter[]) args.toArray(new Parameter[0])); } /** * Parse the specified command line arguments. This method will fail if: *
    *
  • the CmdLineParser is unable to parse the command line * parameters into the required options and arguments. *
  • a required Parameter has not been set by the parser. *
* * @param clargs command line arguments passed to the main() method * of BasicCmdLineHandler's creating class. * @return If dieOnParseError is set to false, * this method will return true if there are no parse errors. If * there are parse errors, falseis returned and * an appropriate error message may be obtained by calling * {@link #getParseError()}. *

* If dieOnParseError is set to true * and the method fails, the program will exit with exit code 1 * after printing the usage to stderr. */ public boolean parse(String[] clargs) { if (clargs == null) { clargs = new String[] {}; } try { parser.parse(clargs, options, args); if (!canSkipRequiredCheck()) { checkForRequired(); } } catch (CmdLineException e) { if (dieOnParseError) { exitUsageError(e.getMessage()); } else { parseError = e.getMessage(); return false; } } return true; } /** * Sets the parser to be used to parse the command line. * * @param parser the parser to be used to parse the command line * @see #getParser() */ public void setParser(CmdLineParser parser) { this.parser = parser; } /** * Gets the parser to be used to parse the command line. * * @return the parser to be used to parse the command line * @see #setParser(CmdLineParser) setParser() */ public CmdLineParser getParser() { return parser; } /** * Sets a flag indicating that the program should exit in the case of * a parse error (after displaying the usage and an error message) - * defaults to true. * * @param val true (the default) if the * parse method should call System.exit() in * case of a parse error, false if * parse() should return to the user * for error processing. * @see #parse(String[]) parse() */ public void setDieOnParseError(boolean val) { dieOnParseError = val; } /** * Gets a flag indicating that the program should exit in the case of * a parse error (after displaying the usage and an error message). * * @return true (the default) if the * parse method should call System.exit() in * case of a parse error, false if * parse() should return to the user * for error processing. * @see #parse(String[]) parse() */ public boolean getDieOnParseError() { return dieOnParseError; } /** * Prints the usage, followed by the specified error message, to stderr * and exits the program with exit status = 1. The error message will * be prefaced with 'ERROR: '. * * @param errMsg the error message * @return Doesn't return - exits the program with exit status * of 1. */ public void exitUsageError(String errMsg) { System.err.println(getUsage(false)); System.err.println( "\n" + parser.getUsageFormatter().formatErrorMsg(errMsg)); quitProgram(1); } /** * sets the value of the arguments (what is left on the command line after * all options, and their parameters, have been processed) associated * with the command * * @param args A Collection of {@link Parameter} objects. This may * be null if the command accepts no command line * arguments. */ public void setArgs(Parameter[] args) { this.args.clear(); if (args != null) { for (int i = 0; i < args.length; i++) { addArg(args[i]); } } } /** * Adds a command line arguement. Command line arguments must be added * in the order that they will be specified on the command line. * * @param arg the new command line argument * @throws IllegalArgumentException if: *

    *
  • arg is null *
  • the previously added argument was multi-valued (only * the last argument can be multi-valued) *
  • arg is a required argument but the * previous argument was optional *
*/ public void addArg(Parameter arg) { if (arg == null) { throw new IllegalArgumentException(Strings.get( "BasicCmdLineHandler.nullArgNotAllowed")); } if (args.size() > 0) { Parameter lastArg = (Parameter) args.get(args.size() - 1); if (lastArg.isMultiValued()) { throw new IllegalArgumentException(Strings.get( "BasicCmdLineHandler.multiValueArgNotLast", new Object[] { lastArg.getTag() })); } if (! arg.isOptional() && lastArg.isOptional()) { throw new IllegalArgumentException(Strings.get( "BasicCmdLineHandler.requiredArgAfterOptArg", new Object[] { arg.getTag(), lastArg.getTag() })); } } args.add(arg); } /** * gets the value of the arguments (what is left on the command line after * all options, and their parameters, have been processed) associated * with the command * * @return the command's options */ public List getArgs() { return args; } /** * gets the argument specified by tag * * @param tag identifies the argument to be returned * @return The argument associated with tag. * If no matching argument is found, null is returned. */ public Parameter getArg(String tag) { Parameter arg; for (Iterator itr = args.iterator(); itr.hasNext(); ) { arg = (Parameter) itr.next(); if (arg.getTag().equals(tag)) { return arg; } } return null; } /** * Sets the value of the options associated with the command * * @param options A Collection of {@link Parameter} objects. This may * be null if the command accepts no command line * options. */ public void setOptions(Parameter[] options) { this.options.clear(); if (options != null) { for (int i = 0; i < options.length; i++) { addOption(options[i]); } } } /** * Adds a command line option. * * @param opt the new command line option * @throws NullPointerException if opt is null. * @throws IllegalArgumentException if an option with the * same tag has already been added. */ public void addOption(Parameter opt) { if (opt == null) { throw new NullPointerException(); } if (options.containsKey(opt.getTag())) { throw new IllegalArgumentException(Strings.get( "BasicCmdLineHandler.duplicateOption", new Object[] { opt.getTag() })); } options.put(opt.getTag().toLowerCase(), opt); } /** * gets the value of the options associated with the command * * @return the command's options */ public Collection getOptions() { return options.values(); } /** * gets the option specified by tag * * @param tag identifies the option to be returned * @return the option associated with tag */ public Parameter getOption(String tag) { return (Parameter) options.get(tag); } /** * sets a description of the command's purpose * * @param cmdDesc a short description of the command's purpose * @throws IllegalArgumentException if cmdDesc * is null or of 0 length. */ public void setCmdDesc(String cmdDesc) { if (cmdDesc == null || cmdDesc.length() <= 0) { throw new IllegalArgumentException(Strings.get( "BasicCmdLineHandler.cmdDescTooShort", new Object[] { cmdDesc })); } this.cmdDesc = cmdDesc; } /** * gets a description of the command's purpose * * @return the command's description */ public String getCmdDesc() { return cmdDesc; } /** * sets the value of the command name associated with this BasicCmdLineHandler * * @param cmdName the name of the command associated with this * BasicCmdLineHandler * @throws IllegalArgumentException if cmdName is null, * or of 0 length */ public void setCmdName(String cmdName) { if (cmdName == null && cmdName.length() <= 0) { throw new IllegalArgumentException(Strings.get( "BasicCmdLineHandler.cmdNameTooShort", new Object[] { cmdName })); } this.cmdName = cmdName; } /** * gets the value of the command name associated with this * BasicCmdLineHandler * * @return the command name */ public String getCmdName() { return cmdName; } /** * Gets the usage statement associated with the command. * * @param hidden indicates whether hidden options are to be included * in the usage. * @return the usage statement associated with the command */ public String getUsage(boolean hidden) { return parser.getUsageFormatter() .formatUsage(cmdName, cmdDesc, options, args, hidden); } /** * Sets the error message from the last call to parse(). * * @param parseError the error message from the last call to parse() * @see #getParseError() */ public void setParseError(String parseError) { this.parseError = parseError; } /** * Gets the error message from the last call to parse(). * * @return the error message from the last call to parse() * @see #setParseError(String) setParseError() */ public String getParseError() { return parseError; } /** * Indicates whether the check for required Parameters can be skipped * due to a Parameter with flag ignoreRequired = true * having been set. * * @return true if the check for required parameters may be * skipped */ private boolean canSkipRequiredCheck() { Parameter p; for (Iterator itr = options.values().iterator(); itr.hasNext(); ) { p = (Parameter) itr.next(); if (p.getIgnoreRequired() && p.isSet()) { return true; } } for (Iterator itr = args.iterator(); itr.hasNext(); ) { p = (Parameter)itr.next(); if (p.getIgnoreRequired() && p.isSet()) { return true; } } return false; } /** * Verifies that all required options and arguments have been specified. * * @throws CmdLineException if a required option or argument is not set. */ private void checkForRequired() throws CmdLineException { Parameter p; for (Iterator itr = options.values().iterator(); itr.hasNext(); ) { p = (Parameter) itr.next(); if (!p.isOptional() && !p.isSet()) { throw new CmdLineException(Strings.get( "BasicCmdLineHandler.missingRequiredOpt", new Object[] { p.getTag() })); } } for (Iterator itr = args.iterator(); itr.hasNext(); ) { p = (Parameter) itr.next(); if (!p.isOptional() && !p.isSet()) { throw new CmdLineException(Strings.get( "BasicCmdLineHandler.missingRequiredArg", new Object[] { p.getTag() })); } } } /** * Exits the program with the specified exit status. * * @param exitStatus the program's exit status * @return this method never returns - the program is * terminated */ private void quitProgram(int exitStatus) { System.exit(exitStatus); } } pdfsam-1.1.4/jcmdline/src/java/jcmdline/AbstractHandlerDecorator.java0000644000175000017500000004232710201471366025566 0ustar twernertwerner/* * AbstractHandlerDecorator.java * * Classes: * public AbstractHandlerDecorator * * ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is the Java jcmdline (command line management) package. * * The Initial Developer of the Original Code is Lynne Lawrence. * * Portions created by the Initial Developer are Copyright (C) 2002 * the Initial Developer. All Rights Reserved. * * Contributor(s): Lynne Lawrence * * ***** END LICENSE BLOCK ***** */ package jcmdline; import java.util.Collection; import java.util.List; /** * An abstract class implementing the Decorator design pattern for * decoration of CmdLineHandler subclasses. This * class implements all methods of the CmdLineHandler interface by * delegating them to a contained instance of CmdLineHandler. * The intended use for this class is specification and implementation of * a command option that can be reused, and can be used in series with * others of the same ilk. More information on CmdLineHandlers * and decorator classes can be found in the * * jcmdline User Guide. *

* Subclassing this Class *

* In order to subclass this class, do the following: *

    *
  • With regard to the subclass constructor(s): *
      *
    • All constructors should accept a CmdLineHandler * argument or create a CmdLineHandler to which * most method calls will be delegated. *
    • They should include a call to this class's * constructor, passing their contained CmdLineHandler * along as an argument (super(handler)) as * the first line of the constructor. *
    • In the constructor of the subclass, call setCustomOptions, * specifying the options supported by the subclass. This ensures * that the options are added to the contained handler, and that * they will be restored should setOptions() be called on the * contained handler. *
    *
  • Implement the processParsedOptions() method. This method will be * called after the command line has been parsed by the contained * handler. It is in this method that a subclass should do its * option processing. *
* An example of a subclass follows (note that, but for the lack of additional * constructors, this is basically how the {@link VersionCmdLineHandler} * is implemented). *
 *  public class VersionCmdLineHandler 
 *          extends AbstractHandlerDecorator {
 *  
 *      private BooleanParam versionOpt;
 *      private String version;
 *  
 *      public MyCmdLineHandler (String version, 
 *                               CmdLineHandler handler) {
 *          super(handler);
 *          if (version == null || version.length() == 0) {
 *              throw new IllegalArgumentException(
 *                          "version must be specified");
 *          }
 *          this.version = version;
 *          versionOpt = new BooleanParam(
 *              Strings.get("version"),
 *              Strings.get("displays the version and exits"));
 *          versionOpt.setIgnoreRequired(true);
 *          setCustomOptions(new Parameter[] { versionOpt });
 *      }
 *  
 *      protected boolean processParsedOptions(boolean parseOk) {
 *          if (parseOk) {
 *              if (versionOpt.isTrue()) {
 *                  System.out.println(version);
 *                  System.exit(0);
 *              }
 *          }
 *          return parseOk;
 *      }
 *  }
 * 
*

* A Note on Option Processing *

* CmdLineHandler decorator classes are particularly useful for options * that perform a task and call System.exit(), such as -help or * -version options. Options such as these should have the * ignoreRequired attribute set to true. If not, * and the command has required parameters, the option will never * be accepted unless the required parameters are also specified. *

* Notes on the {@link #processParsedOptions(boolean) processParsedOptions()} * method *

* The following should be kept in mind when coding the * processParsedOptions() method: *

    *
  • This method may never be reached. If the dieOnParseError * option is set true for the contained CmdLineHandler * (which it is by default), a parse error will cause the program * to exit before calling any processParsedOptions() * methods. *
  • If this method post-processes its option value and finds it to * be in error, it should either call {@link #exitUsageError(String) * exitUsageError()} or return false, as appropriate based on * the value returned by {@link #getDieOnParseError()}. For example: *
     *    if ((errorMsg = postProcess(myOpt.getValue()) != null) {
     *        // oops - have an error condition
     *        if (getDieOnParseError()) {
     *            exitUsageError(errorMsg);
     *        } else {
     *            return false;
     *        }
     *    }
     *        
    *
  • If this method does not call System.exit() or return * its own error, it should * always return the parse error that was passed to it. *
* * @author Lynne Lawrence * @version jcmdline Rel. @VERSION@ $Id: AbstractHandlerDecorator.java,v 1.2 2002/12/07 14:22:06 lglawrence Exp $ */ public abstract class AbstractHandlerDecorator implements CmdLineHandler { /** * the instance of CmdLineHandler this class decorates. */ private CmdLineHandler handler; /** * options specific to a subclass * @see #setCustomOptions(Parameter[]) setCustomOptions() * @see #getCustomOptions() */ private Parameter[] customOptions; /** * constructor * * @param handler the CmdLineHandler to which most methods will be * delegated * @param customOptions the custom options implemented by the subclass */ protected AbstractHandlerDecorator(CmdLineHandler handler) { this.handler = handler; } /** * Sets options specific to a subclass. * * @param customOptions options specific to a subclass * @see #getCustomOptions() */ protected void setCustomOptions(Parameter[] customOptions) { if (customOptions == null) { customOptions = new Parameter[] {}; } this.customOptions = customOptions; for (int i = 0; i < customOptions.length; i++) { handler.addOption(customOptions[i]); } } /** * Gets options specific to a subclass. * * @return options specific to a subclass * @see #setCustomOptions(Parameter[]) setCustomOptions() */ protected Parameter[] getCustomOptions() { return customOptions; } /** * Called from the parse() method after the command line has been * parsed. This is where a subclass performs processing specific to * its custom options. * * @param parseStatus the results of the parse() call. Note that * if dieOnParseError is set, or some * other AbstractHandlerDecorator exits first, this * method may never be called. * @return true if there were no problems * concerning the custom options, else * false. The return value from this * method will be returned from * {@link #parse(String[]) parse()}. */ protected abstract boolean processParsedOptions(boolean parseStatus) ; /** * Sets a flag indicating that the program should exit in the case of * a parse error (after displaying the usage and an error message). * This flag defaults to true. * * @param val true (the default) if the * parse method should call System.exit() in * case of a parse error, false if * parse() should return to the user * for error processing. * @see #parse(String[]) parse() */ public void setDieOnParseError(boolean val) { handler.setDieOnParseError(val); } /** * Gets a flag indicating that the program should exit in the case of * a parse error (after displaying the usage and an error message). * * @return true (the default) if the * parse method should call System.exit() in * case of a parse error, false if * parse() should return to the user * for error processing. * @see #parse(String[]) parse() */ public boolean getDieOnParseError() { return handler.getDieOnParseError(); } /** * parse the specified command line arguments * * @param clargs command line arguments passed to the main() method * of CmdLineHandler's creating class. * @return This method will exit, rather than returning, if one of the * following conditions is met: *
    *
  • -h, or * -h!, or * -?, * are amongst the command line arguments - the * appropriate information is displayed on stdout, * and the program exits with status 0. *
  • OR, dieOnParseError is set to true AND: *
      *
    • a command line argument is incorrectly specified - * an error message is displayed and the program * exits with status 1. *
    • a required command line argument is missing - an error * message is displayed and the program exits with status 1. *
    *
* If dieOnParseError is set to false, * this method will return true if there are no parse errors. If * there are parse errors, falseis returned and * an appropriate error message may be obtained by calling * {@link #getParseError()}. */ public boolean parse(String[] clargs) { boolean parseStatus = handler.parse(clargs); return processParsedOptions(parseStatus); } /** * Sets the parser to be used to parse the command line. * * @param parser the parser to be used to parse the command line * @see #getParser() */ public void setParser(CmdLineParser parser) { handler.setParser(parser); } /** * Gets the parser to be used to parse the command line. * * @return the parser to be used to parse the command line * @see #setParser(CmdLineParser) setParser() */ public CmdLineParser getParser() { return handler.getParser(); } /** * sets the value of the arguments (what is left on the command line after * all options, and their parameters, have been processed) associated * with the command * * @param args A Collection of {@link Parameter} objects. This may * be null if the command accepts no command line * arguments. */ public void setArgs(Parameter[] args) { handler.setArgs(args); } /** * Adds a command line arguement. * * @param arg the new command line argument * @throws IllegalArgumentException if arg * is null. */ public void addArg(Parameter arg) { handler.addArg(arg); } /** * gets the value of the arguments (what is left on the command line after * all options, and their parameters, have been processed) associated * with the command * * @return the command's options */ public List getArgs() { return handler.getArgs(); } /** * gets the argument specified by tag * * @param tag identifies the argument to be returned * @return The argument associated with tag. * If no matching argument is found, null is returned. */ public Parameter getArg(String tag) { return handler.getArg(tag); } /** * Sets the value of the options associated with the command * * @param options A Collection of {@link Parameter} objects. This may * be null if the command accepts no command line * options. */ public void setOptions(Parameter[] options) { handler.setOptions(options); for (int i = 0; i < customOptions.length; i++) { handler.addOption(customOptions[i]); } } /** * Adds a command line option. If an option with same tag has already been * added to this CmdLineHandler, this new option will override the old. * * @param opt the new command line option * @throws IllegalArgumentException if the tag associated with * opt has already been defined for an * option. */ public void addOption(Parameter opt) { handler.addOption(opt); } /** * gets the value of the options associated with the command * * @return the command's options */ public Collection getOptions() { return handler.getOptions(); } /** * gets the option specified by tag * * @param tag identifies the option to be returned * @return the option associated with tag */ public Parameter getOption(String tag) { return handler.getOption(tag); } /** * sets a description of the command's purpose * * @param cmdDesc a short description of the command's purpose * @throws IllegalArgumentException if cmdDesc * is null or of 0 length. */ public void setCmdDesc(String cmdDesc) { handler.setCmdDesc(cmdDesc); } /** * gets a description of the command's purpose * * @return the command's description */ public String getCmdDesc() { return handler.getCmdDesc(); } /** * sets the value of the command name associated with this CmdLineHandler * * @param cmdName the name of the command associated with this * CmdLineHandler * @throws IllegalArgumentException if cmdName is null, * or of 0 length */ public void setCmdName(String cmdName) { handler.setCmdName(cmdName); } /** * gets the value of the command name associated with this CmdLineHandler * * @return the command name */ public String getCmdName() { return handler.getCmdName(); } /** * Gets the usage statement associated with the command. * * @param hidden indicates whether hidden options are to be included * in the usage. * @return the usage statement associated with the command */ public String getUsage(boolean hidden) { return handler.getUsage(hidden); } /** * Sets the error message from the last call to parse(). * * @param parseError the error message from the last call to parse() * @see #getParseError() */ public void setParseError(String parseError) { handler.setParseError(parseError); } /** * Gets the error message from the last call to parse(). * * @return the error message from the last call to parse() */ public String getParseError() { return handler.getParseError(); } /** * Prints the usage, followed by the specified error message, to stderr * and exits the program with exit status = 1. The error message will * be prefaced with 'ERROR: '. * * @param errMsg the error message * @return Doesn't return - exits the program with exit status * of 1. */ public void exitUsageError(String errMsg) { handler.exitUsageError(errMsg); } } pdfsam-1.1.4/jcmdline/src/java/jcmdline/BooleanParam.java0000644000175000017500000001413410201471366023215 0ustar twernertwerner/* * BooleanParam.java * * Classes: * public BooleanParam * * ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is the Java jcmdline (command line management) package. * * The Initial Developer of the Original Code is Lynne Lawrence. * * Portions created by the Initial Developer are Copyright (C) 2002 * the Initial Developer. All Rights Reserved. * * Contributor(s): Lynne Lawrence * * ***** END LICENSE BLOCK ***** */ package jcmdline; /** * Encapsulate a boolean command line parameter. This parameter defaults * to "false" if not set by the user. *

* Sample usage: *

 *    BooleanParam deleteOpt =
 *        new BooleanParam("delete", "delete original file");
 *    FileParam outfileOpt =
 *        new FileParam("outfile", "the outfile file - defaults to stdout",
 *                      FileParam.DOESNT_EXIST);
 *    FileParam infileArg =
 *        new FileParam("infile", "the input file - defaults to stdin",
 *                      FileParam.IS_READABLE & FileParam.IS_FILE);
 *    CmdLineHandler clh = new DefaultCmdLineHandler(
 *        "filter",
 *        "filters files for obscenities",
 *        new Parameter[] { deleteOpt, outfileOpt },
 *        new Parameter[] { infileArg }
 *    );
 *    clh.parse(args);
 *    if (deleteOpt.isTrue()) {
 *        ....
 *    }
 * 
* * @author Lynne Lawrence * @version jcmdline Rel. @VERSION@ $Id: BooleanParam.java,v 1.2 2002/12/07 14:22:06 lglawrence Exp $ * @see CmdLineParser */ public class BooleanParam extends AbstractParameter implements OptionTakesNoValue { /** * The String value associated with boolean true (i.e. "true" in English). */ private String trueValue = Strings.get("BooleanParam.true"); /** * The String value associated with boolean false (i.e. "false" in English). */ private String falseValue = Strings.get("BooleanParam.false"); /** * constructor - creates a public boolean parameter * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @throws IllegalArgumentException if any specified * parameter is invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() */ public BooleanParam(String tag, String desc) { this(tag, desc, PUBLIC); } /** * constructor - creates a boolean parameter that is public or hidden, as * specified * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param hidden {@link Parameter#HIDDEN HIDDEN} if parameter is * not to be listed in the usage, * {@link Parameter#PUBLIC PUBLIC} * otherwise. * @throws IllegalArgumentException if any specified * parameter is invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see Parameter#HIDDEN HIDDEN * @see Parameter#PUBLIC PUBLIC */ public BooleanParam(String tag, String desc, boolean hidden) { this.setTag(tag); this.setDesc(desc); this.setOptional(optional); this.setMultiValued(SINGLE_VALUED); this.setHidden(hidden); this.setOptionLabel(""); this.setAcceptableValues(new String[] { trueValue, falseValue }); try { this.addValue(falseValue); // defaults to false this.set = false; } catch (Exception e) { // Should never get here throw new RuntimeException(Strings.get( "BooleanParam.setValueProgError")); } } /** * Sets the specified string as a value for this BooleanParam. Any * previously set value will be discarded. * * @param value the value to be set * @throws CmdLineException * if {@link #validateValue(String) validateValue()} * detects a problem. */ public void addValue(String value) throws CmdLineException { validateValue(value); values.clear(); values.add(value); set = true; } /** * Gets the default value of this Parameter when used as a command line * option, and specified just by its tag. * * @return the default value of this Parameter * @see OptionTakesNoValue */ public String getDefaultValue() { return trueValue; } /** * Returns the value of the parameter as a boolean. * * @return the parameter value as a boolean */ public boolean isTrue() { return (values.get(0).equals(trueValue) ? true : false); } /** * Verifies that value is either "true" or "false" - * called by add/setValue(s)(). * * @param value the value to be validated * @throws CmdLineException if value is not valid. */ public void validateValue(String value) throws CmdLineException { super.validateValue(value); } } pdfsam-1.1.4/jcmdline/src/java/jcmdline/dto/0000755000175000017500000000000010724044440020574 5ustar twernertwernerpdfsam-1.1.4/jcmdline/src/java/jcmdline/dto/PdfFile.java0000644000175000017500000000641710727535520022767 0ustar twernertwerner/* * PdfFile.java * * Classes: * public PdfFile * * ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is the Java jcmdline (command line management) package. * * The Initial Developer of the Original Code is Lynne Lawrence. * * Portions created by the Initial Developer are Copyright (C) 2002 * the Initial Developer. All Rights Reserved. * * Contributor(s): Andrea Vacondio * * ***** END LICENSE BLOCK ***** */ package jcmdline.dto; import java.io.File; import java.io.Serializable; public class PdfFile implements Serializable{ private static final long serialVersionUID = 7010970222698392953L; private File file; private String password; public PdfFile(){ } /** * @param file * @param password */ public PdfFile(File file, String password) { this.file = file; this.password = password; } /** * @param filePath * @param password */ public PdfFile(String filePath, String password) { this.file = new File(filePath); this.password = password; } /** * @return the file */ public File getFile() { return file; } /** * @param file the file to set */ public void setFile(File file) { this.file = file; } /** * @return the password */ public String getPassword() { return password; } /** * @return the password in bytes or null */ public byte[] getPasswordBytes() { return (password!=null)? password.getBytes():null; } /** * @param password the password to set */ public void setPassword(String password) { this.password = password; } /* (non-Javadoc) * @see java.lang.Object#hashCode() */ public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((file == null) ? 0 : file.hashCode()); result = prime * result + ((password == null) ? 0 : password.hashCode()); return result; } /* (non-Javadoc) * @see java.lang.Object#equals(java.lang.Object) */ public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; final PdfFile other = (PdfFile) obj; if (file == null) { if (other.file != null) return false; } else if (!file.equals(other.file)) return false; if (password == null) { if (other.password != null) return false; } else if (!password.equals(other.password)) return false; return true; } public String toString(){ StringBuffer retVal = new StringBuffer(); retVal.append(super.toString()); retVal.append((file== null)?"":"[file="+file.getAbsolutePath()+"]"); retVal.append("[password="+password+"]"); return retVal.toString(); } } pdfsam-1.1.4/jcmdline/src/java/jcmdline/LongParam.java0000644000175000017500000006423310711672122022541 0ustar twernertwerner/* * LongParam.java * * Classes: * public LongParam * * ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is the Java jcmdline (command line management) package. * * The Initial Developer of the Original Code is Lynne Lawrence. * * Portions created by the Initial Developer are Copyright (C) 2002 * the Initial Developer. All Rights Reserved. * * Contributor(s): Andrea Vacondio * * ***** END LICENSE BLOCK ***** */ package jcmdline; /** * Encapsulate a command line parameter whose value will be a signed * long in the same range as a java long. * @author a.vacondio * */ public class LongParam extends AbstractParameter { /** * the default label that will represent option values for this Parameter * when displaying usage. The following demonstrates a possible usage * excerpt for a LongParam option, where the option label is '<n>': *
     *    count <n>  Specifies the maximum number of files to be
     *               produced by this program.
     * 
* @see AbstractParameter#setOptionLabel(String) setOptionLabel() * @see "LongParam.defaultOptionLabel in 'strings' properties file" */ public static final String DEFAULT_OPTION_LABEL = Strings.get("LongParam.defaultOptionLabel"); /** * the maximum acceptable number - defaults to Integer.MAX_VALUE */ protected long max = Long.MAX_VALUE; /** * the minimum acceptable number - defaults to Integer.MIN_VALUE */ protected long min = Long.MIN_VALUE; /** * constructor - creates single-valued, optional, public * parameter which will * accept an integer between Integer.MIN_VALUE and Integer.MAX_VALUE. * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @throws IllegalArgumentException if tag * or are invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() */ public LongParam(String tag, String desc) { this(tag, desc, Integer.MIN_VALUE, Integer.MAX_VALUE, OPTIONAL, SINGLE_VALUED, PUBLIC); } /** * constructor - creates single-valued, public parameter which will * accept an integer between Integer.MIN_VALUE and Integer.MAX_VALUE, and * will be either optional or required, as specified. * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @throws IllegalArgumentException if any of the specified * parameters are invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() */ public LongParam(String tag, String desc, boolean optional) { this(tag, desc, Long.MIN_VALUE, Long.MAX_VALUE, optional, SINGLE_VALUED, PUBLIC); } /** * constructor - creates a public parameter which will * accept an integer between Long.MIN_VALUE and Long.MAX_VALUE, and * will be either optional or required, and/or multi-valued, as specified. * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @param multiValued {@link Parameter#MULTI_VALUED MULTI_VALUED} if * the parameter can accept multiple values, * {@link Parameter#SINGLE_VALUED SINGLE_VALUED} * if the parameter can contain only a single value * @throws IllegalArgumentException if any of the specified * parameters are invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see Parameter#SINGLE_VALUED SINGLE_VALUED * @see Parameter#MULTI_VALUED MULTI_VALUED */ public LongParam(String tag, String desc, boolean optional, boolean multiValued) { this(tag, desc, Long.MIN_VALUE, Long.MAX_VALUE, optional, multiValued, PUBLIC); } /** * constructor - creates a parameter which will * accept an integer between Long.MIN_VALUE and Long.MAX_VALUE, and * will be either optional or required, and/or multi-valued, as specified. * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @param multiValued {@link Parameter#MULTI_VALUED MULTI_VALUED} if * the parameter can accept multiple values, * {@link Parameter#SINGLE_VALUED SINGLE_VALUED} * if the parameter can contain only a single value * @param hidden {@link Parameter#HIDDEN HIDDEN} if parameter is * not to be listed in the usage, * {@link Parameter#PUBLIC PUBLIC} otherwise. * @throws IllegalArgumentException if any of the specified * parameters are invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see Parameter#SINGLE_VALUED SINGLE_VALUED * @see Parameter#MULTI_VALUED MULTI_VALUED * @see Parameter#HIDDEN HIDDEN * @see Parameter#PUBLIC PUBLIC */ public LongParam(String tag, String desc, boolean optional, boolean multiValued, boolean hidden) { this(tag, desc, Long.MIN_VALUE, Long.MAX_VALUE, optional, multiValued, hidden); } /** * constructor - creates a single-valued, optional, public, parameter * that will accept an integer between the specifed minimum and maximum * values. * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param min the minimum acceptable value * @param max the maximum acceptable value * @throws IllegalArgumentException if any parameter is * invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see #setMin(int) setMin() * @see #setMax(int) setMax() */ public LongParam(String tag, String desc, long min, long max) { this(tag, desc, min, max, OPTIONAL, SINGLE_VALUED, PUBLIC); } /** * constructor - creates a single-valued, public parameter * that will accept an integer between the specifed minimum and maximum * values, and which is required or optional, as specified. * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param min the minimum acceptable value * @param max the maximum acceptable value * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @throws IllegalArgumentException if any parameter is * invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see #setMin(int) setMin() * @see #setMax(int) setMax() * @see Parameter#OPTIONAL OPTIONAL * @see Parameter#REQUIRED REQUIRED */ public LongParam(String tag, String desc, long min, long max, boolean optional) { this(tag, desc, min, max, optional, SINGLE_VALUED, PUBLIC); } /** * constructor - creates a public parameter * that will accept an integer between the specifed minimum and maximum * values, and which is required or optional and/or multi-valued, * as specified. * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param min the minimum acceptable value * @param max the maximum acceptable value * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @param multiValued {@link Parameter#MULTI_VALUED MULTI_VALUED} if * the parameter can accept multiple values, * {@link Parameter#SINGLE_VALUED SINGLE_VALUED} * if the parameter can contain only a single value * @throws IllegalArgumentException if any parameter is * invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see #setMin(int) setMin() * @see #setMax(int) setMax() * @see Parameter#OPTIONAL OPTIONAL * @see Parameter#REQUIRED REQUIRED * @see Parameter#SINGLE_VALUED SINGLE_VALUED * @see Parameter#MULTI_VALUED MULTI_VALUED */ public LongParam(String tag, String desc, long min, long max, boolean optional, boolean multiValued) { this(tag, desc, min, max, optional, multiValued, PUBLIC); } /** * constructor - creates a parameter * that will accept an integer between the specifed minimum and maximum * values, and for which all other options are specified. * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param min the minimum acceptable value * @param max the maximum acceptable value * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @param multiValued {@link Parameter#MULTI_VALUED MULTI_VALUED} if * the parameter can accept multiple values, * {@link Parameter#SINGLE_VALUED SINGLE_VALUED} * if the parameter can contain only a single value * @param hidden {@link Parameter#HIDDEN HIDDEN} if parameter is * not to be listed in the usage, * {@link Parameter#PUBLIC PUBLIC} otherwise. * @throws IllegalArgumentException if any parameter is * invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see #setMin(int) setMin() * @see #setMax(int) setMax() * @see Parameter#OPTIONAL OPTIONAL * @see Parameter#REQUIRED REQUIRED * @see Parameter#SINGLE_VALUED SINGLE_VALUED * @see Parameter#MULTI_VALUED MULTI_VALUED * @see Parameter#HIDDEN HIDDEN * @see Parameter#PUBLIC PUBLIC */ public LongParam(String tag, String desc, long min, long max, boolean optional, boolean multiValued, boolean hidden) { this.setTag(tag); this.setMin(min); this.setMax(max); this.setDesc(desc); this.setOptional(optional); this.setMultiValued(multiValued); this.setHidden(hidden); this.setOptionLabel(DEFAULT_OPTION_LABEL); } /** * constructor - creates a single-valued, optional, public, * number parameter whose value must be one of the specified values. * * @param tag the tag associated with this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param acceptableValues the acceptable values for the parameter * @throws IllegalArgumentException if any parameter is * invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see #setAcceptablesLongValues(int[]) setAcceptableIntValues() */ public LongParam(String tag, String desc, long[] acceptableValues) { this(tag, desc, acceptableValues, OPTIONAL, SINGLE_VALUED, PUBLIC); } /** * constructor - creates a single-valued, public, * number parameter whose value must be one of the specified values, * and which is required or optional, as specified. * * @param tag the tag associated with this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param acceptableValues the acceptable values for the parameter * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @throws IllegalArgumentException if any parameter is * invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see #setAcceptablesLongValues(int[]) setAcceptableIntValues() * @see Parameter#OPTIONAL OPTIONAL * @see Parameter#REQUIRED REQUIRED */ public LongParam(String tag, String desc, long[] acceptableValues, boolean optional) { this(tag, desc, acceptableValues, optional, SINGLE_VALUED, PUBLIC); } /** * constructor - creates a public * number parameter whose value must be one of the specified values, * and which is required or optional and/or multi-valued, as specified. * * @param tag the tag associated with this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param acceptableValues the acceptable values for the parameter * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @param multiValued {@link Parameter#MULTI_VALUED MULTI_VALUED} if * the parameter can accept multiple values, * {@link Parameter#SINGLE_VALUED SINGLE_VALUED} * if the parameter can contain only a single value * @throws IllegalArgumentException if any parameter is * invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see #setAcceptablesLongValues(int[]) setAcceptableIntValues() * @see Parameter#OPTIONAL OPTIONAL * @see Parameter#REQUIRED REQUIRED * @see Parameter#SINGLE_VALUED SINGLE_VALUED * @see Parameter#MULTI_VALUED MULTI_VALUED */ public LongParam(String tag, String desc, long[] acceptableValues, boolean optional, boolean multiValued) { this(tag, desc, acceptableValues, optional, multiValued, PUBLIC); } /** * constructor - creates a * number parameter whose value must be one of the specified values, * and all of whose other options are specified. * * @param tag the tag associated with this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param acceptableValues the acceptable values for the parameter * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @param multiValued {@link Parameter#MULTI_VALUED MULTI_VALUED} if * the parameter can accept multiple values, * {@link Parameter#SINGLE_VALUED SINGLE_VALUED} * if the parameter can contain only a single value * @param hidden {@link Parameter#HIDDEN HIDDEN} if parameter is * not to be listed in the usage, * {@link Parameter#PUBLIC PUBLIC} otherwise. * @throws IllegalArgumentException if any parameter is * invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see #setAcceptablesLongValues(int[]) setAcceptableIntValues() * @see Parameter#OPTIONAL OPTIONAL * @see Parameter#REQUIRED REQUIRED * @see Parameter#SINGLE_VALUED SINGLE_VALUED * @see Parameter#MULTI_VALUED MULTI_VALUED * @see Parameter#HIDDEN HIDDEN * @see Parameter#PUBLIC PUBLIC */ public LongParam(String tag, String desc, long[] acceptableValues, boolean optional, boolean multiValued, boolean hidden) { this.setTag(tag); this.setAcceptablesLongValues(acceptableValues); this.setDesc(desc); this.setOptional(optional); this.setMultiValued(multiValued); this.setHidden(hidden); this.setOptionLabel(DEFAULT_OPTION_LABEL); } /** * Sets the minimum acceptable value for the parameter's value. *

* If both acceptableValues and/or a minimum or maximum * limit for the parameter value are specified, a valid value must * satisfy all of the constraints. * * @param min the minimum acceptable value * @throws IllegalArgumentException if min is * greater than max */ public void setMin(long min) { if (min > max) { throw new IllegalArgumentException(Strings.get( "LongParam.maxLessThanMin", new Object[] { tag })); } this.min = min; } /** * Gets the value of the LongParam as in int. If the LongParam is * multi-valued, only the first value is returned. * * @return the value as an int * @throws RuntimeException if the value of the LongParam * has not been set. * @see Parameter#isSet() */ public long longValue() { if (!set) { throw new RuntimeException(Strings.get( "LongParam.valueNotSet", new Object[] { tag })); } return Long.parseLong((String)values.get(0)); } /** * Gets the values of the LongParam as an int array. Note that if the * LongParam has no values, an empty array is returned. * * @return an array of int values * @see Parameter#isSet() */ public long[] longValues() { long[] vals = new long[values.size()]; for (int i = 0; i < vals.length; i++) { vals[i] = Long.parseLong((String)values.get(i)); } return vals; } /** * gets minimum acceptable value for the parameter's value * * @return the minimum acceptable value */ public long getMin() { return min; } /** * Sets the maximum acceptable value for the parameter. *

* If both acceptableValues and/or a minimum or maximum * limit for the parameter value are specified, a valid value must * satisfy all of the constraints. * * @param max the maximum acceptable value * @throws IllegalArgumentException if min is * greater than max */ public void setMax(long max) { if (min > max) { throw new IllegalArgumentException(Strings.get( "LongParam.maxLessThanMin", new Object[] { tag })); } this.max = max; } /** * gets the maximum acceptable value for the parameter * * @return the maximum acceptable value */ public long getMax() { return max; } /** * Sets the acceptable values for this parameter. *

* If both acceptableValues and/or a minimum or maximum * limit for the parameter value are specified, a valid value must * satisfy all of the constraints. * * @param acceptableValues An array of acceptable long values that * the parameter's values must match. If null, * the parameter's values can be any long. */ public void setAcceptablesLongValues(long[] longValues) { String[] sValues = new String[longValues.length]; for (int i = 0; i < longValues.length; i++) { sValues[i] = Long.toString(longValues[i]); } setAcceptableValues(sValues); } /** * gets the acceptable values for this parameter * * @return The acceptable values for this parameter. If no * acceptable values have been specified, this * method returns null. */ public long[] getAcceptableLongValues() { String[] sValues = getAcceptableValues(); long[] longValues = new long[sValues.length]; for (int i = 0; i < sValues.length; i++) { longValues[i] = Long.parseLong(sValues[i]); } return longValues; } /** * Validates a prospective value with regards to the minimum and maximum * values and the acceptableValues called by add/setValue(s)(). * * @param val the prospective value to validate * @throws CmdLineException if * value is not valid with regard to # the minimum and * maximum values, and the acceptableValues. */ public void validateValue(String val) throws CmdLineException { // Strip off any leading 0s before calling // AbstractParameter.validateValue() because the Strings we sent // as acceptable values were without. int offset = 0; while (val.startsWith("0", offset)) { offset++; } super.validateValue(val.substring(offset)); CmdLineException exception = new CmdLineException(Strings.get( "LongParam.validValues", new Object[] { tag, new Long(min), new Long(max) })); long longVal = 0; try { longVal = Long.parseLong(val); } catch (NumberFormatException e) { throw exception; } if (longVal < min || longVal > max) { throw exception; } } } pdfsam-1.1.4/jcmdline/src/java/jcmdline/Parameter.java0000644000175000017500000002643310711667534022614 0ustar twernertwerner/* * Parameter.java * * Interface: * public Parameter * * ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is the Java jcmdline (command line management) package. * * The Initial Developer of the Original Code is Lynne Lawrence. * * Portions created by the Initial Developer are Copyright (C) 2002 * the Initial Developer. All Rights Reserved. * * Contributor(s): Lynne Lawrence * * ***** END LICENSE BLOCK ***** */ package jcmdline; import java.util.Collection; /** * Interface for command line parameters. * * @author Lynne Lawrence * @version jcmdline Rel. @VERSION@ $Id: Parameter.java,v 1.2 2002/12/07 14:22:06 lglawrence Exp $ */ public interface Parameter { /** * when used as a value for the hidden indicator, * indicates that a parameter is public, and its description will be * listed in the usage. */ public static final boolean PUBLIC = false; /** * when used as a value for the hidden indicator, * indicates that a parameter is hidden, and its description will * not be listed in the usage. */ public static final boolean HIDDEN = true; /** * when used as a value for the optional indicator, * specifies that an parameter is optional */ public static final boolean OPTIONAL = true; /** * when used as a value for the optional indicator, * specifies that an parameter is required */ public static final boolean REQUIRED = false; /** * when used as a value for the multiValued indicator, * specifies that an parameter accepts mulitiple values */ public static final boolean MULTI_VALUED = true; /** * when used as a value for the multiValued indicator, * specifies that a parameter accepts only one value */ public static final boolean SINGLE_VALUED = false; /** * gets an indicator that the parameter's value has been set * * @return true if the parameter's value has been set, false * otherwise */ public boolean isSet() ; /** * gets the value of the hidden indicator * * @return true ({@link #HIDDEN}) if the parameter is a * hidden parameter */ public boolean isHidden() ; /** * sets the value of the hidden indicator * * @param hidden true ({@link #HIDDEN}) if the parameter is a * hidden parameter */ public void setHidden(boolean hidden) ; /** * gets the value of the parameter's description * * @return this parameter's description */ public String getDesc() ; /** * sets the value of this parameter's description * * @param desc a description of the parameter, suitable for display in * the command's usage * @throws IllegalArgumentException if desc is * fewer than 5 charaters. */ public void setDesc(String desc) throws IllegalArgumentException ; /** * gets the value of tag * * @return a unique identifier for this parameter */ public String getTag() ; /** * sets the value of tag * * @param tag a unique identifier for this parameter. If the * parameter is used as an option, it will be used to * identify the option on the command line. In the case * where the parameter is used as an argument, it will * only be used to identify the argument in the usage * statement. Tags must be made up of any character but * '='. * @throws IllegalArgumentException if the length of tag * is less than 1, or tag contains an * invalid character. */ public void setTag(String tag) throws IllegalArgumentException ; /** * gets the value of multiValued indicator * * @return true if the parameter can have multiple values */ public boolean isMultiValued() ; /** * sets the value of the multiValued indicator * * @param multiValued true if the parameter can have multiple values */ public void setMultiValued(boolean multiValued) ; /** * returns the value of the optional indicator * * @return true if the parameter is optional */ public boolean isOptional() ; /** * indicates whether or not the parameter is optional * * @param optional true if the parameter is optional */ public void setOptional(boolean optional) ; /** * Gets the values that are acceptable for this parameter, if a restricted * set exists. If there is no restricted set of acceptable values, null * is returned. * * @return a set of acceptable values for the Parameter, or * null if there is none. */ public String[] getAcceptableValues() ; /** * Sets the values that are acceptable for this parameter, if a restricted * set exists. A null vals value, or an empty vals * array, will result in any previously set acceptable values being cleared. * * @param vals the new acceptable values * @see #getAcceptableValues() */ public void setAcceptableValues(String[] vals) ; /** * Sets the values that are acceptable for this parameter, if a restricted * set exists. A null vals value, or an empty vals * Collection, will result in any previously set acceptable values being * cleared. *

* The toString() values of the Objects in vals * will be used for the acceptable values. * * @param vals the new acceptable values */ public void setAcceptableValues(Collection vals) ; /** * adds the specified string as a value for this entity * * @param value the value to be added * @throws CmdLineException if the value of the entity * has already been set and multiValued is * not true, or if * {@link #validateValue(String) validateValue()} * detects a problem. */ public void addValue(String value) throws CmdLineException ; /** * Sets the value of the parameter to the specified string. * * @param value the new value of the parameter * @throws if {@link #validateValue(String) validateValue()} * detects a problem. */ public void setValue(String value) throws CmdLineException ; /** * Sets the values of the parameter to those specified. * * @param values A collection of String objects to be used as the * parameter's values. * @throws ClassCastException if the Collection contains object that * are not Strings. * @throws CmdLineException if more than one value is specified * and multiValued is not true, or * if {@link #validateValue(String) validateValue()} * detects a problem. */ public void setValues(Collection values) throws CmdLineException ; /** * Sets the values of the parameter to those specified. * * @param values The String objects to be used as the * parameter's values. * @throws CmdLineException if more than one value is specified * and multiValued is not true, or * if {@link #validateValue(String) validateValue()} * detects a problem. */ public void setValues(String[] values) throws CmdLineException ; /** * verifies that value is valid for this entity * * @param value the value to be validated * @throws CmdLineException if value is not valid. */ public void validateValue(String value) throws CmdLineException; /** * The value of the parameter, in the case where the parameter is not * multi-valued. For a multi-valued parameter, the first value specified * is returned. * * @return The value of the parameter as a String, or null if * the paramter has not been set. * @see #getValues() */ public String getValue() ; /** * gets the values associated with this Parameter * * @return The values associated with this Parameter. Note * that this might be an empty Collection if the * Parameter has not been set. * @see #isSet() */ public Collection getValues() ; /** * gets the value of optionLabel * * @return the string used as a label for the parameter's * value */ public String getOptionLabel() ; /** * Sets the value of optionLabel. * This label will be used when the usage for the command is displayed. * For instance, a date parameter might use "<mm/dd/yy>". This could * then be displayed as in the following usage. *

     * st_date <mm/dd/yy>  the start date of the report
     * 
* The default is the empty string. * @param optionLabel The string used as a label for the parameter's * value. If null, an empty string is used. * @see #getOptionLabel() */ public void setOptionLabel(String optionLabel) ; /** * Gets the flag indicating that during parse, missing required * Parameters are ignored * if this Parameter is set. Typically used by Parameters that cause an * action then call System.exit(), like "-help". * * @return true if missing required Parameters * will be ignored when this Parameter is set. */ public boolean getIgnoreRequired() ; /** * Sets a flag such that during parse, missing required Parameters are * ignored * if this Parameter is set. Typically used by Parameters that cause an * action then call System.exit(), like "-help". * * @param ignoreRequired set to true to ignore missing * required Parameters if this Parameter is set * @see #getIgnoreRequired() */ public void setIgnoreRequired(boolean ignoreRequired) ; } pdfsam-1.1.4/jcmdline/src/java/jcmdline/HelpCmdLineHandler.java0000644000175000017500000005707010725313406024306 0ustar twernertwerner/* * HelpCmdLineHandler.java * * Classes: * public HelpCmdLineHandler * * ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is the Java jcmdline (command line management) package. * * The Initial Developer of the Original Code is Lynne Lawrence. * * Portions created by the Initial Developer are Copyright (C) 2002 * the Initial Developer. All Rights Reserved. * * Contributor(s): Lynne Lawrence * * ***** END LICENSE BLOCK ***** */ package jcmdline; import java.util.Collection; /** * A CmdLineHandler Decorator class that implements help options that * display verbose help messages. *

* Options are provided to display a regular help message (which includes * the regular usage associated with the command) or a help message that * includes the hidden parameters in its usage and, optionally, additional * help text specific to the hidden parameters. *

* The implemented options are BooleanParams whose tags are defined by * "HelpCmdLineHandler.help.tag" and "HelpCmdLineHandler.helpHidden.tag" * in the strings.properties file (set to "help" and "help!", in English). *

* Should the user specify the -help option on the command line, the command's * usage, followed by the more verbose help text specified to this Object's * constructor, is printed to stdout, and System.exit(0) is called. *

* Should the -help! option be specified the same is done, but hidden * parameter information and help is displayed as well. *

* Sample Usage * The following creates a CmdLineHandler that uses multiple Decorators * to enable the help options supported by this class, the version option * implemented by the {@link VersionCmdLineHandler} class, and the usage * options implemented by the {@link DefaultCmdLineHandler} class: *

 * public static void main(String[] args) {
 * 
 *     Parameter[] arguments = new Parameter[] {
 *         new StringParam("pattern", "the pattern to match", 
 *                         StringParam.REQUIRED),
 *         new FileParam("file",
 *                       "a file to be processed - defaults to stdin",
 *                       FileParam.IS_FILE & FileParam.IS_READABLE,
 *                       FileParam.OPTIONAL,
 *                       FileParam.MULTI_VALUED)
 *     };
 *     Parameter[] opts = new Parameter[] {
 *         new BooleanParam("ignorecase", "ignore case while matching"),
 *         new BooleanParam("listFiles", "list filenames containing pattern")
 *     };
 *     String helpText = "This command prints to stdout all lines within " +
 *                       "the specified files that contain the specified " +
 *                       "pattern.\n\n" +
 *                       "Optionally, the matching may be done without " +
 *                       "regard to case (using the -ignorecase option).\n\n" +
 *                       "If the -listFiles option is specified, only the " +
 *                       "names of the files containing the pattern will be " +
 *                       "listed.";
 * 
 *     CmdLineHandler cl =
 *         new VersionCmdLineHandler("V 5.2",
 *         new HelpCmdLineHandler(helpText,
 *             "grep",
 *             "find lines in files containing a specified pattern",
 *             opts,
 *             arguments));
 *     cl.parse(args);
 *     .
 *     .
 * 
*

*

* Help Text Formatting *

* The help text for a command will be formatted for output such that: *

    *
  • All lines will be word wrapped at the appropriate line length by the * formatter - it is suggested * that the user let the program handle line wrapping for best results, * except when a new paragraph is starting. *
  • Newlines (\n), and leading spaces that immediately follow a * newline, in the text will be honored - it is recommended that * they be used to mark new paragraphs, and when formatting/indenting * lines. *
*

* Information on using CmdLineHandlers can be found in the jcmdline * User Guide. * * @author Lynne Lawrence * @version 2007-Dec-04 modified by Andrea Vacondio, added -license param * @see CmdLineHandler * @see AbstractHandlerDecorator */ public class HelpCmdLineHandler extends AbstractHandlerDecorator { /** * a parameter that will cause standard help to be displayed */ private BooleanParam helpOpt; /** * a parameter that will cause license to be displayed */ private BooleanParam licenseOpt; /** * a parameter that will cause help including hidden information to be * displayed */ private BooleanParam hiddenHelpOpt; /** * the command's help */ private String help; /** * the license */ private String license; /** * the command's help for hidden Parameters */ private String hiddenHelp; /** * constructor * * @param help the command's help - see Help * Text Formatting. * @param hiddenHelp the command's help for hidden Parameters - may * be null or empty * @param handler the CmdLineHandler to which most functionality * will be delegated * @throws IllegalArgumentException if help is null or * empty. */ public HelpCmdLineHandler (String help, String license, String hiddenHelp, CmdLineHandler handler) { super(handler); if (help == null || help.length() == 0) { throw new IllegalArgumentException(Strings.get( "HelpCmdLineHandler.helpEmptyError")); } this.help = help; if (license == null || license.length() == 0) { this.license = Strings.get("HelpCmdLineHandler.license.nolicense"); } else { this.license = license; } if (hiddenHelp == null || hiddenHelp.length() == 0) { this.hiddenHelp = null; } else { this.hiddenHelp = hiddenHelp; } helpOpt = new BooleanParam( Strings.get("HelpCmdLineHandler.help.tag"), Strings.get("HelpCmdLineHandler.help.desc")); helpOpt.setIgnoreRequired(true); licenseOpt = new BooleanParam( Strings.get("HelpCmdLineHandler.license.tag"), Strings.get("HelpCmdLineHandler.license.desc")); licenseOpt.setIgnoreRequired(true); hiddenHelpOpt = new BooleanParam( Strings.get("HelpCmdLineHandler.helpHidden.tag"), Strings.get("HelpCmdLineHandler.helpHidden.desc"), BooleanParam.HIDDEN); hiddenHelpOpt.setIgnoreRequired(true); setCustomOptions(new Parameter[] { helpOpt, hiddenHelpOpt, licenseOpt }); } /** * constructor * * @param help the command's help - see Help * Text Formatting. * @param handler the CmdLineHandler to which most functionality * will be delegated * @throws IllegalArgumentException if help is null or * empty. */ public HelpCmdLineHandler (String help, CmdLineHandler handler) { this(help, null, null, handler); } /** * * @param help the command's help - see Help * Text Formatting. * @param license the license informations * @param handler the CmdLineHandler to which most functionality * will be delegated * @throws IllegalArgumentException if help is null or * empty. */ public HelpCmdLineHandler (String help, String license, CmdLineHandler handler) { this(help, license, null, handler); } /** * constructor - creates a new DefaultCmdLineHandler as its delegate * * @param help the command's help - see * Help Text Formatting. * @param cmdName the name of the command * @param cmdDesc a short description of the command * @param options a collection of Parameter objects, describing the * command's command-line options * @param args a collection of Parameter objects, describing the * command's command-line arguments (what is left on * the command line after all options and their * parameters have been processed) * @param parser a CmdLineParser to be used to parse the command line * @throws IllegalArgumentException if any of the * parameters are not correctly specified. * @see DefaultCmdLineHandler */ public HelpCmdLineHandler (String help, String cmdName, String cmdDesc, Parameter[] options, Parameter[] args, CmdLineParser parser) { this(help, null, null, new DefaultCmdLineHandler(cmdName, cmdDesc, options, args, parser)); } /** * constructor - creates a new DefaultCmdLineHandler as its delegate * * @param help the command's help - see * Help Text Formatting. * @param cmdName the name of the command * @param cmdDesc a short description of the command * @param options a collection of Parameter objects, describing the * command's command-line options * @param args a collection of Parameter objects, describing the * command's command-line arguments (what is left on * the command line after all options and their * parameters have been processed) * @throws IllegalArgumentException if any of the * parameters are not correctly specified. * @see DefaultCmdLineHandler */ public HelpCmdLineHandler (String help, String cmdName, String cmdDesc, Parameter[] options, Parameter[] args) { this(help, null, null, new DefaultCmdLineHandler(cmdName, cmdDesc, options, args)); } /** * constructor - uses the PosixCmdLineParser to parse the command line * * @param help the command's help - see * Help Text Formatting. * @param cmdName the name of the command creating this * DefaultCmdLineHandler * @param cmdDesc a short description of the command's purpose * @param options a collection of Parameter objects, describing the * command's command-line options * @param args a collection of Parameter objects, describing the * command's command-line arguments (what is left on * the command line after all options and their * parameters have been processed) * @throws IllegalArgumentException if any of the * parameters are not correctly specified. * @see #setCmdName(String) setCmdName() * @see #setCmdDesc(String) setCmdDesc() * @see #setOptions(Parameter[]) setOptions() * @see PosixCmdLineParser */ public HelpCmdLineHandler (String help, String cmdName, String cmdDesc, Collection options, Collection args) { this(help, null, null, new DefaultCmdLineHandler(cmdName, cmdDesc, options, args)); } /** * constructor - creates a new DefaultCmdLineHandler as its delegate * * @param help the command's help - see * Help Text Formatting. * @param hiddenHelp the command's help for hidden Parameters - may * be null or empty * @param cmdName the name of the command * @param cmdDesc a short description of the command * @param options a collection of Parameter objects, describing the * command's command-line options * @param args a collection of Parameter objects, describing the * command's command-line arguments (what is left on * the command line after all options and their * parameters have been processed) * @param parser a CmdLineParser to be used to parse the command line * @throws IllegalArgumentException if any of the * parameters are not correctly specified. * @see DefaultCmdLineHandler */ public HelpCmdLineHandler (String help, String hiddenHelp, String cmdName, String cmdDesc, Parameter[] options, Parameter[] args, CmdLineParser parser) { this(help, null, hiddenHelp, new DefaultCmdLineHandler(cmdName, cmdDesc, options, args, parser)); } /** * * @param help the command's help - see * Help Text Formatting. * @param license license informations * @param hiddenHelp the command's help for hidden Parameters - may * be null or empty * @param cmdName the name of the command * @param cmdDesc a short description of the command * @param options a collection of Parameter objects, describing the * command's command-line options * @param args a collection of Parameter objects, describing the * command's command-line arguments (what is left on * the command line after all options and their * parameters have been processed) * @param parser a CmdLineParser to be used to parse the command line * @throws IllegalArgumentException if any of the * parameters are not correctly specified. * @see DefaultCmdLineHandler */ public HelpCmdLineHandler (String help, String license, String hiddenHelp, String cmdName, String cmdDesc, Parameter[] options, Parameter[] args, CmdLineParser parser) { this(help, license, hiddenHelp, new DefaultCmdLineHandler(cmdName, cmdDesc, options, args, parser)); } /** * constructor - creates a new DefaultCmdLineHandler as its delegate * * @param help the command's help - see * Help Text Formatting. * @param hiddenHelp the command's help for hidden Parameters - may * be null or empty * @param cmdName the name of the command * @param cmdDesc a short description of the command * @param options a collection of Parameter objects, describing the * command's command-line options * @param args a collection of Parameter objects, describing the * command's command-line arguments (what is left on * the command line after all options and their * parameters have been processed) * @throws IllegalArgumentException if any of the * parameters are not correctly specified. * @see DefaultCmdLineHandler */ public HelpCmdLineHandler (String help, String hiddenHelp, String cmdName, String cmdDesc, Parameter[] options, Parameter[] args) { this(help, null, hiddenHelp, new DefaultCmdLineHandler(cmdName, cmdDesc, options, args)); } /** * * @param help the command's help - see * Help Text Formatting. * @param license license informations * @param hiddenHelp the command's help for hidden Parameters - may * be null or empty * @param cmdName the name of the command * @param cmdDesc a short description of the command * @param options a collection of Parameter objects, describing the * command's command-line options * @param args a collection of Parameter objects, describing the * command's command-line arguments (what is left on * the command line after all options and their * parameters have been processed) * @throws IllegalArgumentException if any of the * parameters are not correctly specified. * @see DefaultCmdLineHandler */ public HelpCmdLineHandler (String help, String license, String hiddenHelp, String cmdName, String cmdDesc, Parameter[] options, Parameter[] args) { this(help, license, hiddenHelp, new DefaultCmdLineHandler(cmdName, cmdDesc, options, args)); } /** * constructor - uses the PosixCmdLineParser to parse the command line * * @param help the command's help - see * Help Text Formatting. * @param license license informations * @param hiddenHelp the command's help for hidden Parameters - may * be null or empty * @param cmdName the name of the command creating this * DefaultCmdLineHandler * @param cmdDesc a short description of the command's purpose * @param options a collection of Parameter objects, describing the * command's command-line options * @param args a collection of Parameter objects, describing the * command's command-line arguments (what is left on * the command line after all options and their * parameters have been processed) * @throws IllegalArgumentException if any of the * parameters are not correctly specified. * @see #setCmdName(String) setCmdName() * @see #setCmdDesc(String) setCmdDesc() * @see #setOptions(Parameter[]) setOptions() * @see PosixCmdLineParser */ public HelpCmdLineHandler (String help, String hiddenHelp, String cmdName, String cmdDesc, Collection options, Collection args) { this(help, null, hiddenHelp, new DefaultCmdLineHandler(cmdName, cmdDesc, options, args)); } /** * constructor - uses the PosixCmdLineParser to parse the command line * * @param help the command's help - see * Help Text Formatting. * @param hiddenHelp the command's help for hidden Parameters - may * be null or empty * @param cmdName the name of the command creating this * DefaultCmdLineHandler * @param cmdDesc a short description of the command's purpose * @param options a collection of Parameter objects, describing the * command's command-line options * @param args a collection of Parameter objects, describing the * command's command-line arguments (what is left on * the command line after all options and their * parameters have been processed) * @throws IllegalArgumentException if any of the * parameters are not correctly specified. * @see #setCmdName(String) setCmdName() * @see #setCmdDesc(String) setCmdDesc() * @see #setOptions(Parameter[]) setOptions() * @see PosixCmdLineParser */ public HelpCmdLineHandler (String help, String license, String hiddenHelp, String cmdName, String cmdDesc, Collection options, Collection args) { this(help, license, hiddenHelp, new DefaultCmdLineHandler(cmdName, cmdDesc, options, args)); } /** * Called following the call to parse() of this class's * contained CmdLineHandler. This method checks for its option whether * parseStatus is true or not. * * @param parseStatus The result of the parse() call to this * class's contained CmdLineHandler. * @return This method will call System.exit(0), rather * than returning, if its option is set. * Otherwise, parseStatus is returned. */ protected boolean processParsedOptions(boolean parseOk) { if ( helpOpt.isTrue() || hiddenHelpOpt.isTrue() || licenseOpt.isTrue()) { if ( helpOpt.isTrue() || hiddenHelpOpt.isTrue() ) { System.out.println(getUsage(hiddenHelpOpt.isTrue())); int lineLen = getParser().getUsageFormatter().getLineLength(); StringFormatHelper sHelper = StringFormatHelper.getHelper(); System.out.println( "\n" + sHelper.formatBlockedText(help, 0, lineLen)); if (hiddenHelpOpt.isTrue() && hiddenHelp != null) { System.out.println( "\n" + sHelper.formatBlockedText(hiddenHelp, 0, lineLen)); } }else{ if(licenseOpt.isTrue()){ if (license != null) { int lineLen = getParser().getUsageFormatter().getLineLength(); StringFormatHelper sHelper = StringFormatHelper.getHelper(); System.out.println( "\n" + sHelper.formatBlockedText(license, 0, lineLen)); } } } System.exit(0); } return parseOk; } } pdfsam-1.1.4/jcmdline/src/java/jcmdline/DefaultCmdLineHandler.java0000644000175000017500000002004310722536224024772 0ustar twernertwerner/* * DefaultCmdLineHandler.java * * Classes: * public DefaultCmdLineHandler * * ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is the Java jcmdline (command line management) package. * * The Initial Developer of the Original Code is Lynne Lawrence. * * Portions created by the Initial Developer are Copyright (C) 2002 * the Initial Developer. All Rights Reserved. * * Contributor(s): Lynne Lawrence * * ***** END LICENSE BLOCK ***** */ package jcmdline; import java.util.Collection; /** * A Decorator class that implements command line options for the * display of the command's usage. * These options are (using the default 'strings' properties file): *

 *    -?         prints usage to stdout (optional)
 *    -h         prints usage to stdout (optional)
 *    -h!        prints usage (including hidden options) to stdout (optional)
 *               (hidden)
 *    
*

* Should any of these options be specified by the user, the usage (with or * without the hidden options, as appropriate) will be displayed and * System.exit(0) will be called. *

* Information on using CmdLineHandlers can be found in the jcmdline * User Guide. * * @author Lynne Lawrence * @version jcmdline Rel. @VERSION@ $Id: DefaultCmdLineHandler.java,v 1.2 2002/12/07 14:22:06 lglawrence Exp $ * @see Parameter * @see BasicCmdLineHandler * @see CmdLineParser */ public class DefaultCmdLineHandler extends AbstractHandlerDecorator { /** * a parameter that will cause the usage to be displayed */ private BooleanParam usageParam1; /** * a second parameter that will cause the usage to be displayed */ private BooleanParam usageParam2; /** * a parameter that will cause the usage to be displayed, including * hidden options */ private BooleanParam hiddenUsageParam; /** * constructor * * @param handler the CmdLineHandler to which most functionality * will be delegated */ public DefaultCmdLineHandler (CmdLineHandler handler) { super(handler); usageParam1 = new BooleanParam( Strings.get("DefaultCmdLineHandler.usageOptTag1"), Strings.get("DefaultCmdLineHandler.usageOptDesc")); usageParam1.setIgnoreRequired(true); usageParam2 = new BooleanParam( Strings.get("DefaultCmdLineHandler.usageOptTag2"), Strings.get("DefaultCmdLineHandler.usageOptDesc")); usageParam2.setIgnoreRequired(true); hiddenUsageParam = new BooleanParam( Strings.get("DefaultCmdLineHandler.hiddenUsageOptTag"), Strings.get("DefaultCmdLineHandler.hiddenUsageOptDesc"), BooleanParam.HIDDEN); hiddenUsageParam.setIgnoreRequired(true); setCustomOptions(new Parameter[] { usageParam1, usageParam2, hiddenUsageParam }); } /** * constructor - creates a new BasicCmdLineHandler as its delegate * * @param cmdName the name of the command * @param cmdDesc a short description of the command * @param options a collection of Parameter objects, describing the * command's command-line options * @param args a collection of Parameter objects, describing the * command's command-line arguments (what is left on * the command line after all options and their * parameters have been processed) * @param parser a CmdLineParser to be used to parse the command line * @throws IllegalArgumentException if any of the * parameters are not correctly specified. * @see BasicCmdLineHandler */ public DefaultCmdLineHandler (String cmdName, String cmdDesc, Parameter[] options, Parameter[] args, CmdLineParser parser) { this(new BasicCmdLineHandler(cmdName, cmdDesc, options, args, parser)); } /** * constructor - creates a new BasicCmdLineHandler as its delegate * * @param cmdName the name of the command * @param cmdDesc a short description of the command * @param options a collection of Parameter objects, describing the * command's command-line options * @param args a collection of Parameter objects, describing the * command's command-line arguments (what is left on * the command line after all options and their * parameters have been processed) * @throws IllegalArgumentException if any of the * parameters are not correctly specified. * @see BasicCmdLineHandler */ public DefaultCmdLineHandler (String cmdName, String cmdDesc, Parameter[] options, Parameter[] args) { this(new BasicCmdLineHandler(cmdName, cmdDesc, options, args)); } /** * constructor - uses the PosixCmdLineParser to parse the command line * * @param cmdName the name of the command creating this * BasicCmdLineHandler * @param cmdDesc a short description of the command's purpose * @param options a collection of Parameter objects, describing the * command's command-line options * @param args a collection of Parameter objects, describing the * command's command-line arguments (what is left on * the command line after all options and their * parameters have been processed) * @throws IllegalArgumentException if any of the * parameters are not correctly specified. * @see #setCmdName(String) setCmdName() * @see #setCmdDesc(String) setCmdDesc() * @see #setOptions(Parameter[]) setOptions() * @see PosixCmdLineParser */ public DefaultCmdLineHandler (String cmdName, String cmdDesc, Collection options, Collection args) { this(new BasicCmdLineHandler(cmdName, cmdDesc, options, args)); } /** * Called following the call to parse() of this class's * contained CmdLineHandler. This method checks for its options even if * parseStatus is false. * * @param parseStatus The result of the parse() call to this * class's contained CmdLineHandler. * @return This method will call System.exit(0), * rather than returning, if one of its * supported options (-h, -h!, or -?) is * specified. Otherwise, parseStatus is returned. */ protected boolean processParsedOptions(boolean parseStatus) { if (usageParam1.isSet() || usageParam2.isSet()) { System.out.println(getUsage(false)); System.exit(0); } else if (hiddenUsageParam.isSet()) { System.out.println(getUsage(true)); System.exit(0); } return parseStatus; } } pdfsam-1.1.4/jcmdline/src/java/jcmdline/IntParam.java0000644000175000017500000006333310201471366022375 0ustar twernertwerner/* * IntParam.java * * Classes: * public IntParam * * ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is the Java jcmdline (command line management) package. * * The Initial Developer of the Original Code is Lynne Lawrence. * * Portions created by the Initial Developer are Copyright (C) 2002 * the Initial Developer. All Rights Reserved. * * Contributor(s): Lynne Lawrence * * ***** END LICENSE BLOCK ***** */ package jcmdline; /** * Encapsulate a command line parameter whose value will be a signed * integer in the same range as a java int. * * @author Lynne Lawrence * @version jcmdline Rel. @VERSION@ $Id: IntParam.java,v 1.2 2002/12/07 14:22:06 lglawrence Exp $ * @see CmdLineParser */ public class IntParam extends AbstractParameter { /** * the default label that will represent option values for this Parameter * when displaying usage. The following demonstrates a possible usage * excerpt for a IntParam option, where the option label is '<n>': *

     *    count <n>  Specifies the maximum number of files to be
     *               produced by this program.
     * 
* @see AbstractParameter#setOptionLabel(String) setOptionLabel() * @see "IntParam.defaultOptionLabel in 'strings' properties file" */ public static final String DEFAULT_OPTION_LABEL = Strings.get("IntParam.defaultOptionLabel"); /** * the maximum acceptable number - defaults to Integer.MAX_VALUE */ protected int max = Integer.MAX_VALUE; /** * the minimum acceptable number - defaults to Integer.MIN_VALUE */ protected int min = Integer.MIN_VALUE; /** * constructor - creates single-valued, optional, public * parameter which will * accept an integer between Integer.MIN_VALUE and Integer.MAX_VALUE. * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @throws IllegalArgumentException if tag * or are invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() */ public IntParam(String tag, String desc) { this(tag, desc, Integer.MIN_VALUE, Integer.MAX_VALUE, OPTIONAL, SINGLE_VALUED, PUBLIC); } /** * constructor - creates single-valued, public parameter which will * accept an integer between Integer.MIN_VALUE and Integer.MAX_VALUE, and * will be either optional or required, as specified. * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @throws IllegalArgumentException if any of the specified * parameters are invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() */ public IntParam(String tag, String desc, boolean optional) { this(tag, desc, Integer.MIN_VALUE, Integer.MAX_VALUE, optional, SINGLE_VALUED, PUBLIC); } /** * constructor - creates a public parameter which will * accept an integer between Integer.MIN_VALUE and Integer.MAX_VALUE, and * will be either optional or required, and/or multi-valued, as specified. * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @param multiValued {@link Parameter#MULTI_VALUED MULTI_VALUED} if * the parameter can accept multiple values, * {@link Parameter#SINGLE_VALUED SINGLE_VALUED} * if the parameter can contain only a single value * @throws IllegalArgumentException if any of the specified * parameters are invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see Parameter#SINGLE_VALUED SINGLE_VALUED * @see Parameter#MULTI_VALUED MULTI_VALUED */ public IntParam(String tag, String desc, boolean optional, boolean multiValued) { this(tag, desc, Integer.MIN_VALUE, Integer.MAX_VALUE, optional, multiValued, PUBLIC); } /** * constructor - creates a parameter which will * accept an integer between Integer.MIN_VALUE and Integer.MAX_VALUE, and * will be either optional or required, and/or multi-valued, as specified. * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @param multiValued {@link Parameter#MULTI_VALUED MULTI_VALUED} if * the parameter can accept multiple values, * {@link Parameter#SINGLE_VALUED SINGLE_VALUED} * if the parameter can contain only a single value * @param hidden {@link Parameter#HIDDEN HIDDEN} if parameter is * not to be listed in the usage, * {@link Parameter#PUBLIC PUBLIC} otherwise. * @throws IllegalArgumentException if any of the specified * parameters are invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see Parameter#SINGLE_VALUED SINGLE_VALUED * @see Parameter#MULTI_VALUED MULTI_VALUED * @see Parameter#HIDDEN HIDDEN * @see Parameter#PUBLIC PUBLIC */ public IntParam(String tag, String desc, boolean optional, boolean multiValued, boolean hidden) { this(tag, desc, Integer.MIN_VALUE, Integer.MAX_VALUE, optional, multiValued, hidden); } /** * constructor - creates a single-valued, optional, public, parameter * that will accept an integer between the specifed minimum and maximum * values. * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param min the minimum acceptable value * @param max the maximum acceptable value * @throws IllegalArgumentException if any parameter is * invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see #setMin(int) setMin() * @see #setMax(int) setMax() */ public IntParam(String tag, String desc, int min, int max) { this(tag, desc, min, max, OPTIONAL, SINGLE_VALUED, PUBLIC); } /** * constructor - creates a single-valued, public parameter * that will accept an integer between the specifed minimum and maximum * values, and which is required or optional, as specified. * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param min the minimum acceptable value * @param max the maximum acceptable value * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @throws IllegalArgumentException if any parameter is * invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see #setMin(int) setMin() * @see #setMax(int) setMax() * @see Parameter#OPTIONAL OPTIONAL * @see Parameter#REQUIRED REQUIRED */ public IntParam(String tag, String desc, int min, int max, boolean optional) { this(tag, desc, min, max, optional, SINGLE_VALUED, PUBLIC); } /** * constructor - creates a public parameter * that will accept an integer between the specifed minimum and maximum * values, and which is required or optional and/or multi-valued, * as specified. * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param min the minimum acceptable value * @param max the maximum acceptable value * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @param multiValued {@link Parameter#MULTI_VALUED MULTI_VALUED} if * the parameter can accept multiple values, * {@link Parameter#SINGLE_VALUED SINGLE_VALUED} * if the parameter can contain only a single value * @throws IllegalArgumentException if any parameter is * invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see #setMin(int) setMin() * @see #setMax(int) setMax() * @see Parameter#OPTIONAL OPTIONAL * @see Parameter#REQUIRED REQUIRED * @see Parameter#SINGLE_VALUED SINGLE_VALUED * @see Parameter#MULTI_VALUED MULTI_VALUED */ public IntParam(String tag, String desc, int min, int max, boolean optional, boolean multiValued) { this(tag, desc, min, max, optional, multiValued, PUBLIC); } /** * constructor - creates a parameter * that will accept an integer between the specifed minimum and maximum * values, and for which all other options are specified. * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param min the minimum acceptable value * @param max the maximum acceptable value * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @param multiValued {@link Parameter#MULTI_VALUED MULTI_VALUED} if * the parameter can accept multiple values, * {@link Parameter#SINGLE_VALUED SINGLE_VALUED} * if the parameter can contain only a single value * @param hidden {@link Parameter#HIDDEN HIDDEN} if parameter is * not to be listed in the usage, * {@link Parameter#PUBLIC PUBLIC} otherwise. * @throws IllegalArgumentException if any parameter is * invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see #setMin(int) setMin() * @see #setMax(int) setMax() * @see Parameter#OPTIONAL OPTIONAL * @see Parameter#REQUIRED REQUIRED * @see Parameter#SINGLE_VALUED SINGLE_VALUED * @see Parameter#MULTI_VALUED MULTI_VALUED * @see Parameter#HIDDEN HIDDEN * @see Parameter#PUBLIC PUBLIC */ public IntParam(String tag, String desc, int min, int max, boolean optional, boolean multiValued, boolean hidden) { this.setTag(tag); this.setMin(min); this.setMax(max); this.setDesc(desc); this.setOptional(optional); this.setMultiValued(multiValued); this.setHidden(hidden); this.setOptionLabel(DEFAULT_OPTION_LABEL); } /** * constructor - creates a single-valued, optional, public, * number parameter whose value must be one of the specified values. * * @param tag the tag associated with this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param acceptableValues the acceptable values for the parameter * @throws IllegalArgumentException if any parameter is * invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see #setAcceptableIntValues(int[]) setAcceptableIntValues() */ public IntParam(String tag, String desc, int[] acceptableValues) { this(tag, desc, acceptableValues, OPTIONAL, SINGLE_VALUED, PUBLIC); } /** * constructor - creates a single-valued, public, * number parameter whose value must be one of the specified values, * and which is required or optional, as specified. * * @param tag the tag associated with this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param acceptableValues the acceptable values for the parameter * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @throws IllegalArgumentException if any parameter is * invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see #setAcceptableIntValues(int[]) setAcceptableIntValues() * @see Parameter#OPTIONAL OPTIONAL * @see Parameter#REQUIRED REQUIRED */ public IntParam(String tag, String desc, int[] acceptableValues, boolean optional) { this(tag, desc, acceptableValues, optional, SINGLE_VALUED, PUBLIC); } /** * constructor - creates a public * number parameter whose value must be one of the specified values, * and which is required or optional and/or multi-valued, as specified. * * @param tag the tag associated with this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param acceptableValues the acceptable values for the parameter * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @param multiValued {@link Parameter#MULTI_VALUED MULTI_VALUED} if * the parameter can accept multiple values, * {@link Parameter#SINGLE_VALUED SINGLE_VALUED} * if the parameter can contain only a single value * @throws IllegalArgumentException if any parameter is * invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see #setAcceptableIntValues(int[]) setAcceptableIntValues() * @see Parameter#OPTIONAL OPTIONAL * @see Parameter#REQUIRED REQUIRED * @see Parameter#SINGLE_VALUED SINGLE_VALUED * @see Parameter#MULTI_VALUED MULTI_VALUED */ public IntParam(String tag, String desc, int[] acceptableValues, boolean optional, boolean multiValued) { this(tag, desc, acceptableValues, optional, multiValued, PUBLIC); } /** * constructor - creates a * number parameter whose value must be one of the specified values, * and all of whose other options are specified. * * @param tag the tag associated with this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param acceptableValues the acceptable values for the parameter * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @param multiValued {@link Parameter#MULTI_VALUED MULTI_VALUED} if * the parameter can accept multiple values, * {@link Parameter#SINGLE_VALUED SINGLE_VALUED} * if the parameter can contain only a single value * @param hidden {@link Parameter#HIDDEN HIDDEN} if parameter is * not to be listed in the usage, * {@link Parameter#PUBLIC PUBLIC} otherwise. * @throws IllegalArgumentException if any parameter is * invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see #setAcceptableIntValues(int[]) setAcceptableIntValues() * @see Parameter#OPTIONAL OPTIONAL * @see Parameter#REQUIRED REQUIRED * @see Parameter#SINGLE_VALUED SINGLE_VALUED * @see Parameter#MULTI_VALUED MULTI_VALUED * @see Parameter#HIDDEN HIDDEN * @see Parameter#PUBLIC PUBLIC */ public IntParam(String tag, String desc, int[] acceptableValues, boolean optional, boolean multiValued, boolean hidden) { this.setTag(tag); this.setAcceptableIntValues(acceptableValues); this.setDesc(desc); this.setOptional(optional); this.setMultiValued(multiValued); this.setHidden(hidden); this.setOptionLabel(DEFAULT_OPTION_LABEL); } /** * Sets the minimum acceptable value for the parameter's value. *

* If both acceptableValues and/or a minimum or maximum * limit for the parameter value are specified, a valid value must * satisfy all of the constraints. * * @param min the minimum acceptable value * @throws IllegalArgumentException if min is * greater than max */ public void setMin(int min) { if (min > max) { throw new IllegalArgumentException(Strings.get( "IntParam.maxLessThanMin", new Object[] { tag })); } this.min = min; } /** * Gets the value of the IntParam as in int. If the IntParam is * multi-valued, only the first value is returned. * * @return the value as an int * @throws RuntimeException if the value of the IntParam * has not been set. * @see Parameter#isSet() */ public int intValue() { if (!set) { throw new RuntimeException(Strings.get( "IntParam.valueNotSet", new Object[] { tag })); } return Integer.parseInt((String)values.get(0)); } /** * Gets the values of the IntParam as an int array. Note that if the * IntParam has no values, an empty array is returned. * * @return an array of int values * @see Parameter#isSet() */ public int[] intValues() { int[] vals = new int[values.size()]; for (int i = 0; i < vals.length; i++) { vals[i] = Integer.parseInt((String)values.get(i)); } return vals; } /** * gets minimum acceptable value for the parameter's value * * @return the minimum acceptable value */ public int getMin() { return min; } /** * Sets the maximum acceptable value for the parameter. *

* If both acceptableValues and/or a minimum or maximum * limit for the parameter value are specified, a valid value must * satisfy all of the constraints. * * @param max the maximum acceptable value * @throws IllegalArgumentException if min is * greater than max */ public void setMax(int max) { if (min > max) { throw new IllegalArgumentException(Strings.get( "IntParam.maxLessThanMin", new Object[] { tag })); } this.max = max; } /** * gets the maximum acceptable value for the parameter * * @return the maximum acceptable value */ public int getMax() { return max; } /** * Sets the acceptable values for this parameter. *

* If both acceptableValues and/or a minimum or maximum * limit for the parameter value are specified, a valid value must * satisfy all of the constraints. * * @param acceptableValues An array of acceptable int values that * the parameter's values must match. If null, * the parameter's values can be any int. */ public void setAcceptableIntValues(int[] intValues) { String[] sValues = new String[intValues.length]; for (int i = 0; i < intValues.length; i++) { sValues[i] = Integer.toString(intValues[i]); } setAcceptableValues(sValues); } /** * gets the acceptable values for this parameter * * @return The acceptable values for this parameter. If no * acceptable values have been specified, this * method returns null. */ public int[] getAcceptableIntValues() { String[] sValues = getAcceptableValues(); int[] intValues = new int[sValues.length]; for (int i = 0; i < sValues.length; i++) { intValues[i] = Integer.parseInt(sValues[i]); } return intValues; } /** * Validates a prospective value with regards to the minimum and maximum * values and the acceptableValues called by add/setValue(s)(). * * @param val the prospective value to validate * @throws CmdLineException if * value is not valid with regard to # the minimum and * maximum values, and the acceptableValues. */ public void validateValue(String val) throws CmdLineException { // Strip off any leading 0s before calling // AbstractParameter.validateValue() because the Strings we sent // as acceptable values were without. int offset = 0; while (val.startsWith("0", offset)) { offset++; } super.validateValue(val.substring(offset)); CmdLineException exception = new CmdLineException(Strings.get( "IntParam.validValues", new Object[] { tag, new Integer(min), new Integer(max) })); int intVal = 0; try { intVal = Integer.parseInt(val); } catch (NumberFormatException e) { throw exception; } if (intVal < min || intVal > max) { throw exception; } } } pdfsam-1.1.4/jcmdline/src/java/jcmdline/StringParam.java0000644000175000017500000005657010201471366023116 0ustar twernertwerner/* * StringParam.java * * Classes: * public StringParam * * ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is the Java jcmdline (command line management) package. * * The Initial Developer of the Original Code is Lynne Lawrence. * * Portions created by the Initial Developer are Copyright (C) 2002 * the Initial Developer. All Rights Reserved. * * Contributor(s): Lynne Lawrence * * ***** END LICENSE BLOCK ***** */ package jcmdline; /** * Encapsulate a command line parameter whose value will be a string. *

* Usage: *

 * public class Sample {
 *     public static void main(String[] args) {
 * 
 *         // command line arguments
 *         StringParam patternArg =
 *             new StringParam("pattern", "the pattern to match",
 *                             StringParam.REQUIRED);
 *         // other param definitions omitted
 *         .
 *         .
 *         CmdLineHandler cl =
 *             new VersionCmdLineHandler("V 5.2",
 *             new HelpCmdLineHandler(helpText,
 *                 "kindagrep",
 *                 "find lines in files containing a specified pattern",
 *                 new Parameter[] { ignorecaseOpt, listfilesOpt },
 *                 new Parameter[] { patternArg, filesArg } ));
 *         cl.parse(args);
 *         .
 *         .
 *         // don't need to check patternArg.isSet() because is REQUIRED
 *         String pattern = patternArg.getValue();
 * 
 * 
* * @author Lynne Lawrence * @version jcmdline Rel. @VERSION@ $Id: StringParam.java,v 1.3 2005/02/06 23:42:23 lglawrence Exp $ * @see CmdLineParser */ public class StringParam extends AbstractParameter { /** * the default label that will represent option values for this Parameter * when displaying usage. The following demonstrates a possible usage * excerpt for a StringParam option, where the option label is '<s>': *
     *    suffix <s> Specifies the file suffix to use for all output files
     *               produced by this program.
     * 
* @see AbstractParameter#setOptionLabel(String) setOptionLabel() * @see "StringParam.defaultOptionLabel in 'strings' properties file" */ public static final String DEFAULT_OPTION_LABEL = Strings.get("StringParam.defaultOptionLabel"); /** * the value of the minimum or maximum length if they have not been * explicitly specified. This value may be compared with the results of * getMinValLen() or getMaxValLen() to see whether a min/max had been * set, but will cause an Exception to be thrown if passed to * setMaxValLen() or setMinValLen(). */ public static final int UNSPECIFIED_LENGTH = -1; /** * the maximum acceptable string length for the parameter value - if not * specified, defaults to StringParam.UNSPECIFIED_LENGTH, which permits * the value to be any length. */ protected int maxValLen = UNSPECIFIED_LENGTH; /** * the minimum acceptable string length for the parameter value - if not * specified, defaults to 0. */ protected int minValLen = UNSPECIFIED_LENGTH; /** * constructor - creates single-valued, optional, parameter accepting a * string value of any length * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @throws IllegalArgumentException if tag * or are invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() */ public StringParam(String tag, String desc) { this(tag, desc, 0, -1, OPTIONAL, SINGLE_VALUED, PUBLIC); } /** * constructor - creates single-valued, parameter accepting a string value * of any length, and either optional or required, as specified. * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @throws IllegalArgumentException if any of the specified * parameters are invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() */ public StringParam(String tag, String desc, boolean optional) { this(tag, desc, 0, -1, optional, SINGLE_VALUED, PUBLIC); } /** * constructor - creates a single-valued, optional, parameter accepting * a value whose length is within the specified minimum and maximum lengths. * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param minValLen the minimum acceptable length * @param maxValLen the maximum acceptable length, or a negative number * if there is no maximum length limit * @throws IllegalArgumentException if any parameter is * invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see #setMinValLen(int) setMinValLen() * @see #setMaxValLen(int) setMaxValLen() */ public StringParam(String tag, String desc, int minValLen, int maxValLen) { this(tag, desc, minValLen, maxValLen, OPTIONAL, SINGLE_VALUED, PUBLIC); } /** * constructor - creates a single-valued, parameter accepting a value * whose length is within the specified minimum and maximum lengths, * and is optional or required, as specified. * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param minValLen the minimum acceptable length * @param maxValLen the maximum acceptable length, or a negative number * if there is no maximum length limit * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @throws IllegalArgumentException if any parameter is * invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see #setMinValLen(int) setMinValLen() * @see #setMaxValLen(int) setMaxValLen() * @see Parameter#OPTIONAL OPTIONAL * @see Parameter#REQUIRED REQUIRED */ public StringParam(String tag, String desc, int minValLen, int maxValLen, boolean optional) { this(tag, desc, minValLen, maxValLen, optional, SINGLE_VALUED, PUBLIC); } /** * constructor - creates a single-valued, parameter accepting a value * whose length is within the specified minimum and maximum lengths, and * optional and/or multi-valued, as specified * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param minValLen the minimum acceptable length * @param maxValLen the maximum acceptable length, or a negative number * if there is no maximum length limit * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @param multiValued {@link Parameter#MULTI_VALUED MULTI_VALUED} if * the parameter can accept multiple values, * {@link Parameter#SINGLE_VALUED SINGLE_VALUED} * if the parameter can contain only a single value * @throws IllegalArgumentException if any parameter is * invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see #setMinValLen(int) setMinValLen() * @see #setMaxValLen(int) setMaxValLen() * @see Parameter#OPTIONAL OPTIONAL * @see Parameter#REQUIRED REQUIRED * @see Parameter#SINGLE_VALUED SINGLE_VALUED * @see Parameter#MULTI_VALUED MULTI_VALUED */ public StringParam(String tag, String desc, int minValLen, int maxValLen, boolean optional, boolean multiValued) { this(tag, desc, minValLen, maxValLen, optional, multiValued, PUBLIC); } /** * constructor - creates a single-valued, parameter accepting a value * whose length is within the specified minimum and maximum lengths, * with all other options specified. * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param minValLen the minimum acceptable length * @param maxValLen the maximum acceptable length, or a negative number * if there is no maximum length limit * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @param multiValued {@link Parameter#MULTI_VALUED MULTI_VALUED} if * the parameter can accept multiple values, * {@link Parameter#SINGLE_VALUED SINGLE_VALUED} * if the parameter can contain only a single value * @param hidden {@link Parameter#HIDDEN HIDDEN} if parameter is * not to be listed in the usage, * {@link Parameter#PUBLIC PUBLIC} otherwise. * @throws IllegalArgumentException if any parameter is * invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see #setMinValLen(int) setMinValLen() * @see #setMaxValLen(int) setMaxValLen() * @see Parameter#OPTIONAL OPTIONAL * @see Parameter#REQUIRED REQUIRED * @see Parameter#SINGLE_VALUED SINGLE_VALUED * @see Parameter#MULTI_VALUED MULTI_VALUED * @see Parameter#HIDDEN HIDDEN * @see Parameter#PUBLIC PUBLIC */ public StringParam(String tag, String desc, int minValLen, int maxValLen, boolean optional, boolean multiValued, boolean hidden) { this.setTag(tag); this.setMinValLen(minValLen); if (maxValLen >= 0) { this.setMaxValLen(maxValLen); } this.setDesc(desc); this.optional = optional; this.multiValued = multiValued; this.hidden = hidden; this.setOptionLabel(DEFAULT_OPTION_LABEL); } /** * constructor - creates a single-valued, optional, string parameter whose * value must be one of the specified values. * * @param tag the tag associated with this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param acceptableValues the acceptable values for the parameter * @throws IllegalArgumentException if any parameter is * invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see #setAcceptableValues(String[]) setAcceptableValues() * @see #setMinValLen(int) setMinValLen() */ public StringParam(String tag, String desc, String[] acceptableValues) { this(tag, desc, acceptableValues, OPTIONAL, SINGLE_VALUED, PUBLIC); } /** * constructor - creates a single-valued, string parameter whose * value must be a specified value, and which is optional * or required, as specified. * * @param tag the tag associated with this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param acceptableValues the acceptable values for the parameter * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @throws IllegalArgumentException if any parameter is * invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see #setAcceptableValues(String[]) setAcceptableValues() * @see #setMinValLen(int) setMinValLen() * @see Parameter#OPTIONAL OPTIONAL * @see Parameter#REQUIRED REQUIRED */ public StringParam(String tag, String desc, String[] acceptableValues, boolean optional) { this(tag, desc, acceptableValues, optional, SINGLE_VALUED, PUBLIC); } /** * constructor - creates a string parameter whose value must be a * specified value and is optional and/or * multi-valued, as specified. * * @param tag the tag associated with this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param acceptableValues the acceptable values for the parameter * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @param multiValued {@link Parameter#MULTI_VALUED MULTI_VALUED} if * the parameter can accept multiple values, * {@link Parameter#SINGLE_VALUED SINGLE_VALUED} * if the parameter can contain only a single value * @throws IllegalArgumentException if any parameter is * invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see #setAcceptableValues(String[]) setAcceptableValues() * @see #setMinValLen(int) setMinValLen() * @see Parameter#OPTIONAL OPTIONAL * @see Parameter#REQUIRED REQUIRED * @see Parameter#SINGLE_VALUED SINGLE_VALUED * @see Parameter#MULTI_VALUED MULTI_VALUED */ public StringParam(String tag, String desc, String[] acceptableValues, boolean optional, boolean multiValued) { this(tag, desc, acceptableValues, optional, multiValued, PUBLIC); } /** * constructor - creates a string parameter whose value must be a * specified value and all other options are as specified. * * @param tag the tag associated with this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param acceptableValues the acceptable values for the parameter * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @param multiValued {@link Parameter#MULTI_VALUED MULTI_VALUED} if * the parameter can accept multiple values, * {@link Parameter#SINGLE_VALUED SINGLE_VALUED} * if the parameter can contain only a single value * @param hidden {@link Parameter#HIDDEN HIDDEN} if parameter is * not to be listed in the usage, * {@link Parameter#PUBLIC PUBLIC} otherwise. * @throws IllegalArgumentException if any parameter is * invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see #setAcceptableValues(String[]) setAcceptableValues() * @see #setMinValLen(int) setMinValLen() * @see Parameter#OPTIONAL OPTIONAL * @see Parameter#REQUIRED REQUIRED * @see Parameter#SINGLE_VALUED SINGLE_VALUED * @see Parameter#MULTI_VALUED MULTI_VALUED * @see Parameter#HIDDEN HIDDEN * @see Parameter#PUBLIC PUBLIC */ public StringParam(String tag, String desc, String[] acceptableValues, boolean optional, boolean multiValued, boolean hidden) { setTag(tag); setDesc(desc); setAcceptableValues(acceptableValues); this.optional = optional; this.multiValued = multiValued; this.hidden = hidden; this.setOptionLabel(DEFAULT_OPTION_LABEL); } /** * Validates a prospective value with regards to the minimum and maximum * values and the acceptableValues - called by add/setValue(s)(). * * @param val the prospective value to validate * @throws CmdLineException if * value * is not valid with regard to the minimum and * maximum lengths, and the acceptableValues. */ public void validateValue(String val) throws CmdLineException { super.validateValue(val); if (minValLen != UNSPECIFIED_LENGTH && val.length() < minValLen) { throw new CmdLineException(Strings.get( "StringParam.valTooShort", new Object[] { tag, new Integer(minValLen) })); } if (maxValLen != UNSPECIFIED_LENGTH && val.length() > maxValLen) { throw new CmdLineException(Strings.get( "StringParam.valTooLong", new Object[] { tag, new Integer(maxValLen) })); } } /** * gets the value of the minimum acceptable length for the string value * * @return the minimum acceptable length for string value * This will be equal to 0 if it had never been set. */ public int getMinValLen() { return minValLen; } /** * sets the value of the minimum acceptable length for the string value * * @param minValLen the minimum acceptable length * @throws IllegalArgumentException if * minValLen * less than 0, or is greater than maxValLen * . */ public void setMinValLen(int minValLen) { if (minValLen < 0) { throw new IllegalArgumentException(Strings.get( "StringParam.minTooSmall", new Object[] { tag })); } if (maxValLen != UNSPECIFIED_LENGTH && minValLen > maxValLen) { throw new IllegalArgumentException(Strings.get( "StringParam.maxLessThanMin", new Object[] { tag })); } this.minValLen = minValLen; } /** * gets the value of the maximum acceptable length for the string value * * @return The maximum acceptable length for string value. * This will be equal to StingParam.UNSPECIFIED_LENGTH * if it had never been set. */ public int getMaxValLen() { return maxValLen; } /** * sets the value of the maximum acceptable length for the string value * * @param maxValLen the maximum acceptable length * @throws IllegalArgumentException if maxValLen * * less than 0, or is less than minValLen * . */ public void setMaxValLen(int maxValLen) { if (maxValLen < 0) { throw new IllegalArgumentException(Strings.get( "StringParam.maxTooSmall", new Object[] { tag })); } if (minValLen != UNSPECIFIED_LENGTH && maxValLen < minValLen) { throw new IllegalArgumentException(Strings.get( "StringParam.maxLessThanMin", new Object[] { tag })); } this.maxValLen = maxValLen; } /** * sets the value of the maximum acceptable length for the string value * * @param maxValLen the maximum acceptable length * @throws IllegalArgumentException if maxValLen * * less than 0, or is less than minValLen * . * @deprecated This method deprecated in favor of setMaxValLen(), * which is more in line with the naming convetions * used elsewhere in this class. * @see #setMaxValLen(int) setMaxValLen() */ public void setMaxLength(int maxValLen) { if (maxValLen < 0) { throw new IllegalArgumentException(Strings.get( "StringParam.maxTooSmall", new Object[] { tag })); } if (minValLen != UNSPECIFIED_LENGTH && maxValLen < minValLen) { throw new IllegalArgumentException(Strings.get( "StringParam.maxLessThanMin", new Object[] { tag })); } this.maxValLen = maxValLen; } } pdfsam-1.1.4/jcmdline/src/java/jcmdline/Strings.java0000644000175000017500000000761410201471366022313 0ustar twernertwerner/* * Strings.java * * jcmdline Rel. @VERSION@ $Id: Strings.java,v 1.2 2002/12/07 14:22:06 lglawrence Exp $ * * Classes: * public Strings * * ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is the Java jcmdline (command line management) package. * * The Initial Developer of the Original Code is Lynne Lawrence. * * Portions created by the Initial Developer are Copyright (C) 2002 * the Initial Developer. All Rights Reserved. * * Contributor(s): Lynne Lawrence * * ***** END LICENSE BLOCK ***** */ package jcmdline; import java.text.MessageFormat; import java.util.ResourceBundle; /** * A helper class used to obtain Strings for this package. Strings are * retrieved from the ResourceBundle in "jcmdline.strings" which may be * localized as necessary. * * @author Lynne Lawrence * @version jcmdline Rel. @VERSION@ $Id: Strings.java,v 1.2 2002/12/07 14:22:06 lglawrence Exp $ * @see java.util.ResourceBundle */ public class Strings { /** * The resource bundle for this package. */ private static final ResourceBundle rb = ResourceBundle.getBundle("jcmdline.strings"); /** * The String that prefaces return values when a key is not defined * in the ResourceBundle. Note that this is checked for in the unit * tests (see BetterTestCase) so a change in methodology here will * require a change to the unit tests. */ private static final String missingKeyMsg = rb.getString("Strings.missingKey") + " "; /** * Gets a String, filling in the supplied parameters. * * @param key the key with which to look up the String in the * ResourceBundle * @param params parameters to be plugged into the String * @return The String, associated with key, with * the supplied params plugged in as * described for java.text.MessageFormat. * Should key not exist in the * ResourceBundle a String containing the key and a list * of the parameters is returned. * @see java.text.MessageFormat * @see java.util.ResourceBundle */ public static String get(String key, Object[] params) { String ret = missingKeyMsg + key; try { ret = rb.getString(key); ret = MessageFormat.format(ret, params); } catch (Exception e) { ret += "; params: "; for (int i = 0; i < params.length; i++) { ret += "[" + params[i] + "] "; } } return ret; } /** * Gets a String. * * @param key the key with which to look up the String in the * ResourceBundle * @return The String, associated with key. * Should key not exist in the * ResourceBundle a String consisting of the key * is returned. * @see java.util.ResourceBundle */ public static String get(String key) { String ret = missingKeyMsg + key; try { ret = rb.getString(key); } catch (Exception e) { // ignore - return the key } return ret; } } pdfsam-1.1.4/jcmdline/src/java/jcmdline/PdfFileParam.java0000644000175000017500000004643710724046170023163 0ustar twernertwerner/* * PdfFileParam.java * * Classes: * public FileParam * * ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is the Java jcmdline (command line management) package. * * The Initial Developer of the Original Code is Lynne Lawrence. * * Portions created by the Initial Developer are Copyright (C) 2002 * the Initial Developer. All Rights Reserved. * * Contributor(s): Andrea Vacondio * * ***** END LICENSE BLOCK ***** */ package jcmdline; import java.io.File; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import jcmdline.dto.PdfFile; /** * Encapsulate a command line parameter whose value will be the name of * a pdf document amd its password (Ex. file.pdf:pwd). Attributes, such as whether * it must be readable, etc, may be specified and will be validated. *

* Usage: *

 * public static void main(String[] args) {
 * 
 *     PdfFileParam filesArg =
 *         new PdfFileParam("file",
 *                       "a file to be processed - defaults to stdin",
 *                       PdfFileParam.IS_READABLE,
 *                       PdfFileParam.OPTIONAL,
 *                       PdfFileParam.MULTI_VALUED);
 * 
 *    
 * }
 * 
* * @author Andrea Vacondio * @version jcmdline Rel. @VERSION@ $Id: PdfFileParam.java * @see CmdLineParser */ public class PdfFileParam extends AbstractParameter { // Note: attributes are specified with kind of a "reverse map" so // that they can be "ANDed" together when set, which is more natural // since that is the way they are processed. /** * indicates that no file/dir attributes are required or will be checked * @see #setAttributes(int) setAttributes() */ public static final int NO_ATTRIBUTES = 0xffff; /** * indicates that a file specified as a value for this * PdfFileParam must exist * @see #setAttributes(int) setAttributes() */ public static final int EXISTS = 0xfffe; /** * indicates that a value specified for this PdfFileParam must name an * existing file for which the caller has read access * @see #setAttributes(int) setAttributes() */ public static final int IS_READABLE = 0xffef; /** * indicates that a value specified for this PdfFileParam must name an * existing file for which the caller has write access * @see #setAttributes(int) setAttributes() */ public static final int IS_WRITEABLE = 0xffdf; /** * the default label that will represent option values for this Parameter. * The following demonstrates a possible usage for a PdfFileParam option, * where the option label is '<file>': *
	     *    out <file>  the output file
	     * 
* @see AbstractParameter#setOptionLabel(String) setOptionLabel() * @see "PdfFileParam.defaultFileOptionLabel in 'strings' properties * file" */ public static final String DEFAULT_FILE_OPTION_LABEL = Strings.get("PdfFileParam.defaultFileOptionLabel"); /** * Attributes which a file/directory value must have * @see #setAttributes(int) setAttributes() * @see #getAttributes() */ private int attributes; /** * constructor - creates single-valued, optional, public parameter * which accepts any valid file name as its value * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @throws IllegalArgumentException if tag * or are invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() */ public PdfFileParam(String tag, String desc) { this(tag, desc, NO_ATTRIBUTES, OPTIONAL, SINGLE_VALUED, PUBLIC); } /** * constructor - creates single-valued, public parameter which accepts * any valid file name as its value and is optional or * required, as specified. * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @throws IllegalArgumentException if any of the specified * parameters are invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see Parameter#OPTIONAL OPTIONAL * @see Parameter#REQUIRED REQUIRED */ public PdfFileParam(String tag, String desc, boolean optional) { this(tag, desc, NO_ATTRIBUTES, optional, SINGLE_VALUED, PUBLIC); } /** * constructor - creates a single-valued, optional, public, parameter * accepts a file name with the specified attributes. * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param attributes the attributes that must apply to a file or * directory specified as a value to this FileParam * @throws IllegalArgumentException if any parameter is * invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see #setAttributes(int) setAttributes() */ public PdfFileParam(String tag, String desc, int attributes) { this(tag, desc, attributes, OPTIONAL, SINGLE_VALUED, PUBLIC); } /** * constructor - creates a single-valued, public, parameter * that accepts a file name with the specified attributes, * and which is required or optional, as specified. * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param attributes the attributes that must apply to a file or * directory specified as a value to this FileParam * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @throws IllegalArgumentException if any parameter is * invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see #setAttributes(int) setAttributes() * @see Parameter#OPTIONAL OPTIONAL * @see Parameter#REQUIRED REQUIRED */ public PdfFileParam(String tag, String desc, int attributes, boolean optional) { this(tag, desc, attributes, optional, SINGLE_VALUED, PUBLIC); } /** * constructor - creates a public parameter that accepts a file * name with the specified attributes, and which is required * or optional and/or multi-valued, as specified. * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param attributes the attributes that must apply to a file or * directory specified as a value to this FileParam * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @param multiValued {@link Parameter#MULTI_VALUED MULTI_VALUED} if * the parameter can accept multiple values, * {@link Parameter#SINGLE_VALUED SINGLE_VALUED} * if the parameter can contain only a single value * @throws IllegalArgumentException if any parameter is * invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see #setAttributes(int) setAttributes() * @see Parameter#OPTIONAL OPTIONAL * @see Parameter#REQUIRED REQUIRED * @see Parameter#SINGLE_VALUED SINGLE_VALUED * @see Parameter#MULTI_VALUED MULTI_VALUED */ public PdfFileParam(String tag, String desc, int attributes, boolean optional, boolean multiValued) { this(tag, desc, attributes, optional, multiValued, PUBLIC); } /** * constructor - creates a parameter that accepts a file * name with the specified attributes, and which is required or optional * and/or multi-valued or hidden, as specified. *

* If the IS_DIR attribute is specified, the option label for * this FileParam will be set to {@link #DEFAULT_DIR_OPTION_LABEL}, * else it will be {@link #DEFAULT_FILE_OPTION_LABEL}. * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param attributes the attributes that must apply to a file or * directory specified as a value to this FileParam * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @param multiValued {@link Parameter#MULTI_VALUED MULTI_VALUED} if * the parameter can accept multiple values, * {@link Parameter#SINGLE_VALUED SINGLE_VALUED} * if the parameter can contain only a single value * @param hidden {@link Parameter#HIDDEN HIDDEN} if parameter is * not to be listed in the usage, * {@link Parameter#PUBLIC PUBLIC} otherwise. * @throws IllegalArgumentException if any parameter is * invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see AbstractParameter#setOptionLabel(String) setOptionLabel() * @see #setAttributes(int) setAttributes() * @see Parameter#OPTIONAL OPTIONAL * @see Parameter#REQUIRED REQUIRED * @see Parameter#SINGLE_VALUED SINGLE_VALUED * @see Parameter#MULTI_VALUED MULTI_VALUED * @see Parameter#HIDDEN HIDDEN * @see Parameter#PUBLIC PUBLIC */ public PdfFileParam(String tag, String desc, int attributes, boolean optional, boolean multiValued, boolean hidden) { this.setTag(tag); this.setAttributes(attributes); this.setDesc(desc); this.optional = optional; this.multiValued = multiValued; this.hidden = hidden; this.setOptionLabel(DEFAULT_FILE_OPTION_LABEL); } /** * Gets the value of the PdfFileParam as a PdfFileParam object. If the PdfFileParam is * multi-valued, the first value is returned. * * @return the value as a PdfFile object * @throws RuntimeException if the value of the FileParam * has not been set. * @see Parameter#isSet() */ public PdfFile getPdfFile() { PdfFile retVal = null; if (!set) { throw new RuntimeException(Strings.get( "PdfFileParam.valueNotSet", new Object[] { tag })); } retVal = getPdfFile((String)values.get(0)); return retVal; } /** * Gets the values of the PdfFileParam as a Collection of PdfFile objects. * If the PdfFileParam has no values, an empty Collection is returned. * * @return a Collection of PdfFile objects, possibly empty * @see Parameter#isSet() */ public Collection getPdfFiles() { ArrayList vals = new ArrayList(values.size()); for (Iterator itr = values.iterator(); itr.hasNext(); ) { vals.add(getPdfFile((String)itr.next())); } return vals; } /** * Validates a prospective value for the PdfFileParam - called by * add/setValue(s)(). All of the attributes are validated and the a * CmdLineException is thrown if any are not satisfied. * * @param val the value to validate * @throws CmdLineException if value is not valid. * @see #setAttributes(int) setAttributes() */ public void validateValue(String val) throws CmdLineException { super.validateValue(val); PdfFile f = null; try { f = getPdfFile(val); } catch (Exception e) { throwIllegalValueException(val); } if (attrSpecified(EXISTS) && !f.getFile().exists()) { throwIllegalValueException(val); } if (attrSpecified(IS_READABLE) && !f.getFile().canRead()) { throwIllegalValueException(val); } if (attrSpecified(IS_WRITEABLE) && !f.getFile().canWrite()) { throwIllegalValueException(val); } } /** * Indicates whether an attribute has been specified for this FileParam. * * @param attr one of {@link #NO_ATTRIBUTES}, {@link #EXISTS}, * {@link #IS_READABLE}, or * {@link #IS_WRITEABLE} * @return true if the attribute is set, * false if the attribute is not set or * attr is not a valid attribute */ public boolean attrSpecified(int attr) { if (!(attr == EXISTS || attr == NO_ATTRIBUTES || attr == IS_READABLE || attr == IS_WRITEABLE)) { return false; } return (((attributes | attr) ^ 0xffff) != 0); } /** * Sets the value of attributes. Multiple attributes may be specified * by ANDing them together. If multiple attributes are specified, * all conditions must be met for a parameter value to be considered * valid. For example: *

	     *    FileParam fp = new FileParam("tempDir", 
	     *            "a directory in which temporary files can be stored", 
	     *            FileParam.IS_DIR & FileParam.IS_WRITEABLE);
	     * 
* In this case, a valid parameter value would have to be both a * directory and writeable. *

* Specify NO_ATTRIBUTES if none of the other attributes is * required. * * @param attributes a combination of {@link #NO_ATTRIBUTES}, * {@link #EXISTS}, * {@link #IS_READABLE}, and {@link #IS_WRITEABLE} * @throws IllegalArgumentException if the attributes value * is invalid. * @see #getAttributes() */ public void setAttributes(int attributes) { if ((attributes ^ 0xffff) >= ((IS_WRITEABLE ^ 0xffff) * 2)) { throw new IllegalArgumentException(Strings.get( "PdfFileParam.invalidAttributes", new Object[] { new Integer(attributes) })); } this.attributes = attributes; } /** * gets the value of attributes * * @return The attributes specified for this FileParam * @see #setAttributes(int) setAttributes() */ public int getAttributes() { return attributes; } /** * Throws a nicely formatted error message when an invalid value is * attempted to be validated. * * @param val the value that failed validation * @return doesn't - throws a CmdLineException * @throws CmdLineException - that's its goal! */ private void throwIllegalValueException (String val) throws CmdLineException { String s1 = Strings.get("FileParam.file"); String s2; if (attrSpecified(EXISTS) || attrSpecified(IS_READABLE) || attrSpecified(IS_WRITEABLE)) { s2 = Strings.get("PdfFileParam.an_existing"); } else { s2 = Strings.get("PdfFileParam.a"); } String s3 = ""; if (attrSpecified(IS_READABLE)) { if (attrSpecified(IS_WRITEABLE)) { s3 = Strings.get("FileParam.readable_writeable"); } else { s3 = Strings.get("PdfFileParam.readable"); } } else if (attrSpecified(IS_WRITEABLE)) { s3 = Strings.get("PdfFileParam.writeable"); } throw new CmdLineException(Strings.get( "PdfFileParam.illegalValue",new Object[] { s2, s1, s3, val, tag })); } /** * @param value * @return the PdfFile */ private PdfFile getPdfFile(String value){ PdfFile retVal = null; int k = value.toLowerCase().lastIndexOf(".pdf:"); if (k < 0){ retVal = new PdfFile(new File(value),""); }else{ retVal = new PdfFile(new File(value.substring(0, k+4)),value.substring(k+5, value.length())); } return retVal; } } pdfsam-1.1.4/jcmdline/src/java/jcmdline/LoggerCmdLineHandler.java0000644000175000017500000002544610201471366024636 0ustar twernertwerner/* * LoggerCmdLineHandler.java * * Classes: * public LoggerCmdLineHandler * * ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is the Java jcmdline (command line management) package. * * The Initial Developer of the Original Code is Lynne Lawrence. * * Portions created by the Initial Developer are Copyright (C) 2002 * the Initial Developer. All Rights Reserved. * * Contributor(s): Lynne Lawrence * * ***** END LICENSE BLOCK ***** */ package jcmdline; import java.io.OutputStream; import java.util.Collection; import java.util.logging.Formatter; import java.util.logging.Handler; import java.util.logging.Level; import java.util.logging.Logger; import java.util.logging.SimpleFormatter; import java.util.logging.StreamHandler; /** * A CmdLineHandler Decorator class that implements a logging option that * implements rudimentary support for the java.util.logging package. *

* The implemented option is a StringParam whose tag is defined by * "LoggerCmdLineHandler.logOpt.tag" in the strings.properties * file (set to "log", in English). * The acceptable values for the parameter are set to the localized * strings that are valid logging levels as defined by the * java.util.logging.Level class. *

* Should the user set this option * a StreamHandler is added to the root logger and the * logging level of the root logger and the StreamHandler are set * to that specified on the command line. It is possible to set a * Formatter for the log messages (the default is * java.util.logging.SimpleFormatter) with the * {@link #setLogFormatter(Formatter) setLogFormatter()} method. * This method, if used, must be called prior to any calls to * parse(). *

* Information on using CmdLineHandlers can be found in the jcmdline * User Guide. * * @author Lynne Lawrence * @version jcmdline Rel. @VERSION@ $Id: LoggerCmdLineHandler.java,v 1.2 2002/12/07 14:22:06 lglawrence Exp $ * @see CmdLineHandler * @see AbstractHandlerDecorator * @see java.util.logging.Logger */ public class LoggerCmdLineHandler extends AbstractHandlerDecorator { /** * a parameter that will cause the root logger level to be set */ private Parameter logOpt; /** * the OutputStream to which to write log messages */ private OutputStream stream; /** * the formatter for log messages, defaults to * java.util.logging.SimpleFormatter * @see #setLogFormatter(Formatter) setLogFormatter() * @see #getLogFormatter() */ private Formatter logFormatter; /** * constructor * * @param stream the OutputStream to which to write log messages * @param handler the CmdLineHandler to which most functionality * will be delegated * @throws IllegalArgumentException if stream is null */ public LoggerCmdLineHandler (OutputStream stream, CmdLineHandler handler) { super(handler); if (stream == null) { throw new IllegalArgumentException(Strings.get( "LoggerCmdLineHandler.streamNullError")); } this.stream = stream; String[] validVals = new String[] { Level.ALL.getLocalizedName(), Level.OFF.getLocalizedName(), Level.FINEST.getLocalizedName(), Level.FINER.getLocalizedName(), Level.FINE.getLocalizedName(), Level.CONFIG.getLocalizedName(), Level.INFO.getLocalizedName(), Level.WARNING.getLocalizedName(), Level.SEVERE.getLocalizedName()}; logFormatter = new SimpleFormatter(); logOpt = new StringParam( Strings.get("LoggerCmdLineHandler.logOpt.tag"), Strings.get("LoggerCmdLineHandler.logOpt.desc", validVals), validVals, Parameter.OPTIONAL); setCustomOptions(new Parameter[] { logOpt }); } /** * constructor - creates a new DefaultCmdLineHandler as its delegate * * @param stream the OutputStream to which to write log messages * @param cmdName the name of the command * @param cmdDesc a short description of the command * @param options a collection of Parameter objects, describing the * command's command-line options * @param args a collection of Parameter objects, describing the * command's command-line arguments (what is left on * the command line after all options and their * parameters have been processed) * @param parser a CmdLineParser to be used to parse the command line * @throws IllegalArgumentException if any of the * parameters are not correctly specified. * @see DefaultCmdLineHandler */ public LoggerCmdLineHandler ( OutputStream stream, String cmdName, String cmdDesc, Parameter[] options, Parameter[] args, CmdLineParser parser) { this(stream, new DefaultCmdLineHandler( cmdName, cmdDesc, options, args, parser)); } /** * constructor - creates a new DefaultCmdLineHandler as its delegate * * @param stream the OutputStream to which to write log messages * @param cmdName the name of the command * @param cmdDesc a short description of the command * @param options a collection of Parameter objects, describing the * command's command-line options * @param args a collection of Parameter objects, describing the * command's command-line arguments (what is left on * the command line after all options and their * parameters have been processed) * @throws IllegalArgumentException if any of the * parameters are not correctly specified. * @see DefaultCmdLineHandler */ public LoggerCmdLineHandler ( OutputStream stream, String cmdName, String cmdDesc, Parameter[] options, Parameter[] args) { this(stream, new DefaultCmdLineHandler(cmdName, cmdDesc, options, args)); } /** * constructor - uses the PosixCmdLineParser to parse the command line * * @param stream the OutputStream to which to write log messages * @param cmdName the name of the command creating this * DefaultCmdLineHandler * @param cmdDesc a short description of the command's purpose * @param options a collection of Parameter objects, describing the * command's command-line options * @param args a collection of Parameter objects, describing the * command's command-line arguments (what is left on * the command line after all options and their * parameters have been processed) * @throws IllegalArgumentException if any of the * parameters are not correctly specified. * @see #setCmdName(String) setCmdName() * @see #setCmdDesc(String) setCmdDesc() * @see #setOptions(Parameter[]) setOptions() * @see PosixCmdLineParser */ public LoggerCmdLineHandler ( OutputStream stream, String cmdName, String cmdDesc, Collection options, Collection args) { this(stream, new DefaultCmdLineHandler(cmdName, cmdDesc, options, args)); } /** * Called following the call to parse() of this class's * contained CmdLineHandler. This method only checks for its option if * parseStatus is true. *

* This method adds a ConsoleHandler to the root logger and sets the * logging level of the root logger to that specified on the command line. * * @param parseStatus The result of the parse() call to this * class's contained CmdLineHandler. * @return This method will call System.exit(0), rather * than returning, if its option is set. * Otherwise, parseStatus is returned. */ protected boolean processParsedOptions(boolean parseOk) { if (parseOk) { if (logOpt.isSet()) { Level level = Level.parse(logOpt.getValue()); Handler h = new StreamHandler(stream, logFormatter); h.setLevel(level); Logger rootLogger = Logger.getLogger(""); rootLogger.addHandler(h); rootLogger.setLevel(level); } } return parseOk; } /** * Sets the formatter for log messages, defaults to * java.util.logging.SimpleFormatter. This method must be * called prior to calling parse() - calling this method after * the command line has been parsed will have no effect. * * @param logFormatter the formatter for log messages * @throws IllegalArgumentException if logFormatter is null * @see #getLogFormatter() */ public void setLogFormatter(Formatter logFormatter) { if (logFormatter == null) { throw new IllegalArgumentException(Strings.get( "LoggerCmdLineHandler.logFormatterNullError")); } this.logFormatter = logFormatter; } /** * Gets the formatter for log messages, defaults to * java.util.logging.SimpleFormatter. * * @return the formatter for log messages * @see #setLogFormatter(Formatter) setLogFormatter() */ public Formatter getLogFormatter() { return logFormatter; } } pdfsam-1.1.4/jcmdline/src/java/jcmdline/CmdLineException.java0000644000175000017500000000560210722536300024045 0ustar twernertwerner/* * CmdLineException.java * * Classes: * public CmdLineException * * ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is the Java jcmdline (command line management) package. * * The Initial Developer of the Original Code is Lynne Lawrence. * * Portions created by the Initial Developer are Copyright (C) 2002 * the Initial Developer. All Rights Reserved. * * Contributor(s): Lynne Lawrence * * ***** END LICENSE BLOCK ***** */ package jcmdline; import java.text.MessageFormat; /** * An Exception that indicates a command line processing error. *

* Sample Usage: *

* To use this for an exception in package 'mypackage', * a properties file called 'errors.properties' might be created in * directory 'mypackage' with the following properties: *

 *     # Contents of errors.properties file
 *
 *     PercentTooLow: \
 *     Percent must be greater than {0}, got {1}.
 * 
 *     PercentTooHigh: \
 *     Percent must be less than {0}, got {1}.
 * 
*

* Throwing an exception would be done as in the following: *

 * if (percent > 100) {
 *     ResourceBundle rb = ResourceBundle.getBundle("mypackage.errors");
 *     String msg = rb.getString("PercentTooHigh");
 *     throw new CmdLineException(msg,
 *                                new Object[] { new Integer(100),
 *                                               new Integer(percent) });
 * }
 * 
*

* The package may now be modified to accomodate a French Locale by creating * a file 'errors_fr.properties' in directory 'mypackage' that contains all * messages in 'errors.properties', converted to French. * * @author Lynne Lawrence * @version jcmdline Rel. @VERSION@ $Id: CmdLineException.java,v 1.2 2002/12/07 14:22:06 lglawrence Exp $ */ public class CmdLineException extends Exception { private static final long serialVersionUID = 7450308469367315829L; /** * constructor * * @param message message associated with the exception */ public CmdLineException(String message) { super(message); } /** * constructor * * @param message message associated with the exception * @param params parameters to be plugged into message */ public CmdLineException(String message, Object[] params) { super(MessageFormat.format(message, params)); } } pdfsam-1.1.4/jcmdline/src/java/jcmdline/TimeParam.java0000644000175000017500000006667510722536036022561 0ustar twernertwerner/* * TimeParam.java * * jcmdline Rel. @VERSION@ $Id: TimeParam.java,v 1.2 2002/12/07 14:22:06 lglawrence Exp $ * * Classes: * public TimeParam * * ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is the Java jcmdline (command line management) package. * * The Initial Developer of the Original Code is Lynne Lawrence. * * Portions created by the Initial Developer are Copyright (C) 2002 * the Initial Developer. All Rights Reserved. * * Contributor(s): Lynne Lawrence * * ***** END LICENSE BLOCK ***** */ package jcmdline; import java.text.DecimalFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Collection; import java.util.Date; import java.util.Iterator; /** * A parameter that accepts a time as its value. *

* The format for the time is "HH:mm:ss:SSS", where * the seconds and/or milliseconds portion may be left off by the user, * in which case they will be defaulted. *

* Sample Usage: *

 *     TimeParam startTimeParam = 
 *         new TimeParam("startTime", 
 *                       "start time of report", 
 *                       TimeParam.REQUIRED);
 *     TimeParam endTimeParam = 
 *         new TimeParam("endTime", 
 *                       "end time of report", 
 *                       TimeParam.REQUIRED);
 * 
 *     // Seconds and millis for startTime will both be 0 by default.
 *     // Set the seconds and millis for the end of the report to be the end 
 *     // of a minute.
 *     endTimeParam.setDefaultSeconds(59);
 *     endTimeParam.setDefaultMilliSeconds(999);
 * 
 *     CmdLineHandler cl = new DefaultCmdLineHandler(
 *         "myreport", "generate current activity report",
 *         new Parameter[] {}, 
 *         new Parameter[] { startTimeParam, endTimeParam });
 *     
 *     cl.parse();
 * 
 *     // Don't need to check isSet() because params are REQUIRED
 *     Date today = new Date();
 *     Date stTime = startTimeParam.getDate(today);
 *     Date enTime = endTimeParam.getDate(today);
 *     .
 *     .
 *  
* This will result in a command line that may be executed as: *
 *   myreport "10:12" "23:34"
 *  
* or *
 *   myreport "10:12:34:567" "23:34:34:567"
 *  
* * @author Lynne Lawrence * @version jcmdline Rel. @VERSION@ $Id: TimeParam.java,v 1.2 2002/12/07 14:22:06 lglawrence Exp $ * @see DateParam * @see TimeParam */ public class TimeParam extends AbstractParameter { private static final String sTimeFmt = "HH:mm:ss:SSS"; private static final String sTimeFmtDisplay = "HH:mm[:ss[:SSS]]"; private static final DecimalFormat secondFmt = new DecimalFormat("00"); private static final DecimalFormat msFmt = new DecimalFormat("000"); private static final long MILLIS_PER_SECOND = 1000; private static final long MILLIS_PER_MINUTE = MILLIS_PER_SECOND * 60; private static final long MILLIS_PER_HOUR = MILLIS_PER_MINUTE * 60; /** * The seconds default to use if not specified by the user. * This will default to 0 if never specified for a TimeParam object. * @see #setDefaultSeconds(int) setDefaultSeconds() * @see #getDefaultSeconds() */ private int defaultSeconds = 0; /** * The default millisecond value to use if not specified by the user. * This will default to 0 if never specified for a TimeParam object. * @see #setDefaultMilliSeconds(int) setDefaultMilliSeconds() * @see #getDefaultMilliSeconds() */ private int defaultMilliSeconds = 0; /** * An array of acceptable time values. We are bypassing the superclass * acceptable values implementation altogether because we do an * "approximate" time match using default seconds and milliseconds * at the time of the parse. */ private String[] acceptableTimes = null; /** * constructor - creates single-valued, optional, public * parameter * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @throws IllegalArgumentException if tag * or are invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() */ public TimeParam(String tag, String desc) { this(tag, desc, OPTIONAL, SINGLE_VALUED, PUBLIC); } /** * constructor - creates single-valued, public parameter which will * will be either optional or required, as specified. * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @throws IllegalArgumentException if any of the specified * parameters are invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() */ public TimeParam(String tag, String desc, boolean optional) { this(tag, desc, optional, SINGLE_VALUED, PUBLIC); } /** * constructor - creates a public parameter which will * will be either optional or required, and/or multi-valued, as specified. * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @param multiValued {@link Parameter#MULTI_VALUED MULTI_VALUED} if * the parameter can accept multiple values, * {@link Parameter#SINGLE_VALUED SINGLE_VALUED} * if the parameter can contain only a single value * @throws IllegalArgumentException if any of the specified * parameters are invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see Parameter#SINGLE_VALUED SINGLE_VALUED * @see Parameter#MULTI_VALUED MULTI_VALUED */ public TimeParam(String tag, String desc, boolean optional, boolean multiValued) { this(tag, desc, optional, multiValued, PUBLIC); } /** * constructor - creates a parameter which will * will be either optional or required, single or multi-valued, and * hidden or public as specified. * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @param multiValued {@link Parameter#MULTI_VALUED MULTI_VALUED} if * the parameter can accept multiple values, * {@link Parameter#SINGLE_VALUED SINGLE_VALUED} * if the parameter can contain only a single value * @param hidden {@link Parameter#HIDDEN HIDDEN} if parameter is * not to be listed in the usage, * {@link Parameter#PUBLIC PUBLIC} otherwise. * @throws IllegalArgumentException if any of the specified * parameters are invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see Parameter#SINGLE_VALUED SINGLE_VALUED * @see Parameter#MULTI_VALUED MULTI_VALUED * @see Parameter#HIDDEN HIDDEN * @see Parameter#PUBLIC PUBLIC */ public TimeParam(String tag, String desc, boolean optional, boolean multiValued, boolean hidden) { this.setTag(tag); this.setDesc(desc); this.setOptional(optional); this.setMultiValued(multiValued); this.setHidden(hidden); this.setOptionLabel(sTimeFmtDisplay); } /** * constructor - creates a single-valued, optional, public, * number parameter whose value must be one of the specified values. * * @param tag the tag associated with this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param acceptableValues the acceptable values for the parameter * @throws IllegalArgumentException if any parameter is * invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see #setAcceptableValues(String[]) setAcceptableValues() */ public TimeParam(String tag, String desc, String[] acceptableValues) { this(tag, desc, acceptableValues, OPTIONAL, SINGLE_VALUED, PUBLIC); } /** * constructor - creates a single-valued, public, * number parameter whose value must be one of the specified values, * and which is required or optional, as specified. * * @param tag the tag associated with this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param acceptableValues the acceptable values for the parameter * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @throws IllegalArgumentException if any parameter is * invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see #setAcceptableValues(String[]) setAcceptableValues() * @see Parameter#OPTIONAL OPTIONAL * @see Parameter#REQUIRED REQUIRED */ public TimeParam(String tag, String desc, String[] acceptableValues, boolean optional) { this(tag, desc, acceptableValues, optional, SINGLE_VALUED, PUBLIC); } /** * constructor - creates a public * number parameter whose value must be one of the specified values, * and which is required or optional and/or multi-valued, as specified. * * @param tag the tag associated with this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param acceptableValues the acceptable values for the parameter * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @param multiValued {@link Parameter#MULTI_VALUED MULTI_VALUED} if * the parameter can accept multiple values, * {@link Parameter#SINGLE_VALUED SINGLE_VALUED} * if the parameter can contain only a single value * @throws IllegalArgumentException if any parameter is * invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see #setAcceptableValues(String[]) setAcceptableValues() * @see Parameter#OPTIONAL OPTIONAL * @see Parameter#REQUIRED REQUIRED * @see Parameter#SINGLE_VALUED SINGLE_VALUED * @see Parameter#MULTI_VALUED MULTI_VALUED */ public TimeParam(String tag, String desc, String[] acceptableValues, boolean optional, boolean multiValued) { this(tag, desc, acceptableValues, optional, multiValued, PUBLIC); } /** * constructor - creates a * Parameter, all of whose options are specified. * * @param tag the tag associated with this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param acceptableValues the acceptable values for the parameter * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @param multiValued {@link Parameter#MULTI_VALUED MULTI_VALUED} if * the parameter can accept multiple values, * {@link Parameter#SINGLE_VALUED SINGLE_VALUED} * if the parameter can contain only a single value * @param hidden {@link Parameter#HIDDEN HIDDEN} if parameter is * not to be listed in the usage, * {@link Parameter#PUBLIC PUBLIC} otherwise. * @throws IllegalArgumentException if any parameter is * invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see #setAcceptableValues(String[]) setAcceptableValues() * @see Parameter#OPTIONAL OPTIONAL * @see Parameter#REQUIRED REQUIRED * @see Parameter#SINGLE_VALUED SINGLE_VALUED * @see Parameter#MULTI_VALUED MULTI_VALUED * @see Parameter#HIDDEN HIDDEN * @see Parameter#PUBLIC PUBLIC */ public TimeParam(String tag, String desc, String[] acceptableValues, boolean optional, boolean multiValued, boolean hidden) { this.setTag(tag); this.setAcceptableValues(acceptableValues); this.setDesc(desc); this.setOptional(optional); this.setMultiValued(multiValued); this.setHidden(hidden); this.setOptionLabel(sTimeFmtDisplay); } /** * Verifies that value is valid for this entity - called by * add/setValue(s)(). * * @param value the value to be validated * @throws CmdLineException if value is not valid. */ public void validateValue(String val) throws CmdLineException { super.validateValue(val); String fullval = fullTime(val); if (acceptableTimes != null) { for (int i = 0; i < acceptableTimes.length; i++) { if (fullval.equals(fullTime(acceptableTimes[i]))) { return; } } int maxExpectedAVLen = 200; StringBuffer b = new StringBuffer(maxExpectedAVLen); for (int i = 0; i < acceptableTimes.length; i++) { b.append("\n " + acceptableTimes[i]); } throw new CmdLineException(Strings.get( "Parameter.valNotAcceptableVal", new Object[] { val, tag, b.toString() })); } try { if (fullval.length() > 12) { throw new Exception(); } int n = Integer.parseInt(fullval.substring(0,2)); if (n < 0 || n > 23) { throw new Exception(); } n = Integer.parseInt(fullval.substring(3,5)); if (n < 0 || n > 59) { throw new Exception(); } n = Integer.parseInt(fullval.substring(6,8)); if (n < 0 || n > 59) { throw new Exception(); } n = Integer.parseInt(fullval.substring(9,12)); if (n < 0 || n > 999) { throw new Exception(); } } catch (Exception e) { throw new CmdLineException(Strings.get( "TimeParam.invalidTimeFormat", new Object[] { val, sTimeFmtDisplay })); } } /** * Returns a Date object whose date portion is taken from the * passed Date object, and whose time portion is * taken from the first value set. * * @param datePortion The date portion of the returned date will match * the date portion of this object. Any time * portion of this object will be discarded, and * the time associated with the initial value of * this parameter substituted. * @return See the paramter description. */ public Date getDate(Date datePortion) { SimpleDateFormat fmt = new SimpleDateFormat("MM/dd/yy"); String sDate = fmt.format(datePortion); Date ret; try { fmt = new SimpleDateFormat("MM/dd/yy " + sTimeFmt); ret = fmt.parse(sDate + " " + fullTime(getValue())); } catch (ParseException e) { // should never happen!! throw new RuntimeException(e); } return ret; } /** * Returns Date objects whose date portion is taken from the * passed Date object, and whose time portion is * taken from the first value set. * * @param datePortion The date portion of the returned dates will match * the date portion of this object. Any time * portion of this object will be discarded, and * the time associated with the values of * this parameter substituted. * @return See the paramter description. */ public Date[] getDates(Date datePortion) { SimpleDateFormat fmt = new SimpleDateFormat("MM/dd/yy"); String sDate = fmt.format(datePortion); Collection vals = getValues(); Date[] ret = new Date[vals.size()]; fmt = new SimpleDateFormat("MM/dd/yy " + sTimeFmt); int i = 0; for (Iterator itr = vals.iterator(); itr.hasNext(); ) { try { ret[i] = fmt.parse(sDate + " " + fullTime((String)itr.next())); i++; } catch (ParseException e) { // should never happen!! throw new RuntimeException(e); } } return ret; } /** * Gets the number of milliseconds represented by the first value * of the parameter. * This is equal to: *
     * hours*MILLIS_PER_HOUR + mins*MILLIS_PER_MINUTE + secs*MILLIS_PER_SECOND + ms
     * 
* * @return the number of milliseconds represented by the * first value of the parameter */ public long getMilliValue() { String val = fullTime(getValue()); long ret; try { ret = calculateMillis(val); } catch (NumberFormatException e) { // should never happen throw new RuntimeException(e); } return ret; } /** * Gets the number of milliseconds represented by all values. * * @return the number of milliseconds represented by all values * @see #getMilliValue() */ public long[] getMilliValues() { Collection vals = getValues(); long[] ret = new long[vals.size()]; int i = 0; for (Iterator itr = vals.iterator(); itr.hasNext(); ) { String val = fullTime((String)itr.next()); try { ret[i] = calculateMillis(val); i++; } catch (NumberFormatException e) { // should never happen throw new RuntimeException(e); } } return ret; } /** * Convenience method to calculate the number of milliseconds a String * time represents. * * @param time the String time * @return the number of milliseconds represented by * time * @throws NumberFormatException if time does not parse * as it should */ private long calculateMillis(String val) throws NumberFormatException { return Long.parseLong(val.substring(0,2)) * MILLIS_PER_HOUR + Long.parseLong(val.substring(3,5)) * MILLIS_PER_MINUTE + Long.parseLong(val.substring(6,8)) * MILLIS_PER_SECOND + Long.parseLong(val.substring(9,12)); } /** * Gets the first value with all time components filled in, from the * defaults, if necessary. This method is guaranteed to return a * String in the format "HH:mm:ss:SSS", even if the user did not * specify second or millisecond components (unlike getValue() * , which returns exactly what the user specified). * * @return see description */ public String getFullValue() { return fullTime(getValue()); } /** * Gets the values with all time components filled in, from the * defaults, if necessary. This method is guaranteed to return * Strings in the format "HH:mm:ss:SSS", even if the user did not * specify second or millisecond components (unlike getValues() * , which returns exactly what the user specified). * * @return see description */ public String[] getFullValues() { Collection vals = getValues(); String[] ret = new String[vals.size()]; int i = 0; for (Iterator itr = vals.iterator(); itr.hasNext(); ) { ret[i] = fullTime((String)itr.next()); } return ret; } /** * Sets the seconds default to use if not specified by the user. * This will default to 0 if never specified for a TimeParam object. * * @param defaultSeconds the seconds default to use if not specified * by the user * @see #getDefaultSeconds() */ public void setDefaultSeconds(int defaultSeconds) { if (defaultSeconds < 0 || defaultSeconds > 59) { throw new IllegalArgumentException(Strings.get( "TimeParam.invalidSeconds", new Object[] { new Integer(defaultSeconds) })); } this.defaultSeconds = defaultSeconds; } /** * Gets the seconds default to use if not specified by the user. * This will default to 0 if never specified for a TimeParam object. * * @return the seconds default to use if not specified by * the user * @see #setDefaultSeconds(int) setDefaultSeconds() */ public int getDefaultSeconds() { return defaultSeconds; } /** * Sets the default millisecond value to use if not specified by the user. * This will default to 0 if never specified for a TimeParam object. * * @param defaultMilliSeconds the default millisecond value to use if * not specified by the user * @see #getDefaultMilliSeconds() */ public void setDefaultMilliSeconds(int defaultMilliSeconds) { if (defaultMilliSeconds < 0 || defaultMilliSeconds > 999) { throw new IllegalArgumentException(Strings.get( "TimeParam.invalidMilliSeconds", new Object[] { new Integer(defaultMilliSeconds) })); } this.defaultMilliSeconds = defaultMilliSeconds; } /** * Gets the default millisecond value to use if not specified by the user. * This will default to 0 if never specified for a TimeParam object. * * @return the default millisecond value to use if not * specified by the user * @see #setDefaultMilliSeconds(int) setDefaultMilliSeconds() */ public int getDefaultMilliSeconds() { return defaultMilliSeconds; } /** * Sets acceptable values for this Parameter. * * @param vals A Collection of Strings representing * the acceptable times. If the seconds and/or * milliseconds portion of the time is left off, * the default values will be used when user input * is compared. */ public void setAcceptableValues(Collection vals) { if (vals == null || vals.size() == 0) { acceptableTimes = null; } else { acceptableTimes = new String[vals.size()]; int i = 0; for (Iterator itr = vals.iterator(); itr.hasNext(); ) { acceptableTimes[i] = itr.next().toString(); i++; } } } /** * Sets acceptable values for this Parameter. * * @param vals An array of Strings representing * the acceptable times. If the seconds and/or * milliseconds portion of the time is left off, * the default values will be used when user input * is compared. */ public void setAcceptableValues(String[] vals) { if (vals == null || vals.length == 0) { acceptableTimes = null; } else { acceptableTimes = vals; } } /** * Gets the values that are acceptable for this parameter, if a restricted * set exists. If there is no restricted set of acceptable values, null * is returned. * * @return a set of acceptable values for the Parameter, or * null if there is none. * @see #setAcceptableValues(String[]) setAcceptableValues() */ public String[] getAcceptableValues() { return acceptableTimes; } /** * Converts a String value to its Date equivalent, filling in default * seconds and milliseconds as necessary. * * @param val the String to be converted * @return the Date object represented by val */ private String fullTime(String val) { if (val.length() == 5) { val = val + ":" + secondFmt.format(defaultSeconds); } if (val.length() == 8) { val = val + ":" + msFmt.format(defaultMilliSeconds); } return val; } } pdfsam-1.1.4/jcmdline/src/java/jcmdline/PosixCmdLineParser.java0000644000175000017500000002627710722536254024411 0ustar twernertwerner/* * PosixCmdLineParser.java * * Classes: * public PosixCmdLineParser * * ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is the Java jcmdline (command line management) package. * * The Initial Developer of the Original Code is Lynne Lawrence. * * Portions created by the Initial Developer are Copyright (C) 2002 * the Initial Developer. All Rights Reserved. * * Contributor(s): Lynne Lawrence * * ***** END LICENSE BLOCK ***** */ package jcmdline; import java.util.Iterator; import java.util.List; import java.util.Map; /** * Used to parse the parameters associated with an executable's * command line. *

* The following semantics are used throughout the documentation for this * class. A command line parameter refers to either a command line * option, or a command line argument. *

A command line option is * preceded by either a '-', * or a '--', and may, optionally, have an associated value separated from the * option "tag" by a space or an '='. Command line options end with the * first parameter (that has not already been parsed as an * option or option value) that * does not start with a '-' or a '--', or when a '--' appears by itself * as a parameter. A '--' must be specified * alone to signal the end of options when the * first command line argument starts with a '-'. *

Command line * arguments are what are left on the command line after all * options have been processed. *

* This class is used as in the following example of a 'cat' facsimile in java: *

* Command Line Parsing *

* The {@link #parse(String[], Map, List) parse()} * method parses option tags in a * case insensitive manner. * It will accept truncated option tags as long as the tag remains * un-ambiguous, execpt for hidden options. The tag for hidden options * must be fully specified. An option's value may be separated from its' * tag by a space or an '='. A BooleanParam may be specified either without * a value (in which case it is set to true), or with an '=' * followed by its value. If a BooleanParam is specified more than once, * the final specification takes precedence. *

* The following command lines are all equivalent: *

 * java Concat -delete -out myoutfile infile1 infile2
 * java Concat -d -o myoutfile infile1 infile2
 * java Concat -delete=true -o myoutfile infile1 infile2
 * java Concat -d=true -o=myoutfile infile1 infile2
 * java Concat -Delete -OUT myoutfile infile1 infile2
 * 
* Any problem found while parse() processes the command * line will cause a {@link CmdLineException} to be thrown. *

* Information on using CmdLineParsers can be found in the jcmdline * User Guide. * * @author Lynne Lawrence * @version jcmdline Rel. @VERSION@ $Id: PosixCmdLineParser.java,v 1.2 2002/12/07 14:22:06 lglawrence Exp $ * @see Parameter */ public class PosixCmdLineParser implements CmdLineParser { /** * a usage formatter suitable for this CmdLineParser's format * @see #setUsageFormatter(UsageFormatter) setUsageFormatter() * @see #getUsageFormatter() */ private UsageFormatter usageFormatter; /** * constructor */ public PosixCmdLineParser () { setUsageFormatter(new TextUsageFormatter()); } /** * parse the specified command line arguments * * @param params command line arguments passed to the main() method * of CmdLineParser's creating class. * @return This method will exit, rather than returning, if one of the * following conditions is met: *

    *
  • -help, * -help!, * -version, * -h, or * -?, * are amongst the command line arguments - the * appropriate information is displayed on stdout, * and the program exits with status 0. *
  • a command line argument is incorrectly specified - * an error message is displayed and the program * exits with status 1. *
  • a required command line argument is missing - an error * message is displayed and the program exits with status 1. *
* @throws CmdLineException in case of any parse error. */ public void parse(String[] clargs, Map opts, List args) throws CmdLineException { if (clargs == null) { clargs = new String[] {}; } int i = processOptions(clargs, opts); processArguments(i, clargs, args); } /** * Sets a usage formatter suitable for this CmdLineParser's format. * * @param usageFormatter a usage formatter suitable for this * CmdLineParser's format * @see #getUsageFormatter() */ public void setUsageFormatter(UsageFormatter usageFormatter) { this.usageFormatter = usageFormatter; } /** * Gets a usage formatter suitable for this CmdLineParser's format. * * @return a usage formatter suitable for this * CmdLineParser's format * @see #setUsageFormatter(UsageFormatter) setUsageFormatter() */ public UsageFormatter getUsageFormatter() { return usageFormatter; } /** * Processes the command line options. *

This method has package visibility in order that it may be called * by unit tests. * * @param params the command line arguments * @return the number of command line arguments that were * "used up" in option processing * @throws CmdLineException if any processing errors are * encountered. */ private int processOptions(String[] params, Map options) throws CmdLineException { String tag; String val; int equalsIdx; Parameter p; int tagIdx; int i; for (i = 0; i < params.length; i++) { val = null; if (params[i].equals("--")) { // end of options i++; break; } else if (params[i].startsWith("-")) { // have an option tagIdx = 1; if (params[i].startsWith("--")) { tagIdx = 2; } if (params[i].length() == tagIdx) { throw new CmdLineException( Strings.get("PosixCmdLineParser.optionNoTag")); } tag = params[i].substring(tagIdx); // See if we have an option specified as = if ((equalsIdx = tag.indexOf("=")) != -1) { val = tag.substring(equalsIdx + 1); tag = tag.substring(0, equalsIdx); } p = findMatchingOption(tag, options); if (p instanceof OptionTakesNoValue) { if (val == null) { val = ((OptionTakesNoValue) p).getDefaultValue(); } } else if (val == null) { if (i == params.length - 1) { throw new CmdLineException( Strings.get("PosixCmdLineParser.missingOptionValue", new Object[] { tag })); } val = params[++i]; } p.addValue(val); } else { break; // end of options } } return i; } /** * processes the command line arguments (what is left on the command line * after all options and their values have been processed) * * @param stIdx the index into params where processing * is to start * @param params the command line parameters * @throws CmdLineException if any processing errors are * encountered. */ private void processArguments(int stIdx, String[] params, List args) throws CmdLineException { int argIdx = 0; Parameter p; for (int pIdx = stIdx; pIdx < params.length; pIdx++) { if (argIdx >= args.size()) { throw new CmdLineException( Strings.get("PosixCmdLineParser.extraArg", new Object[] { params[pIdx] })); } p = (Parameter) args.get(argIdx); p.addValue(params[pIdx]); if (! p.isMultiValued()) { argIdx++; } } } /** * Find an option that matches the specified tag. The tag may be an * abbreviation for the option. Abbreviations will work as long as they * are unique enough to match one, and only one, option. Comparison is * done in a case-insensitive manner. * * @param tag the option tag to be matched * @return The associated Parameter object. If a matching * Parameter * is not found, this method will issue the appropriate * error message and the program will exit with * exit status 1. * @throws CmdLineException if an option tag is ambiguous or not defined. */ private Parameter findMatchingOption(String tag, Map options) throws CmdLineException { String lctag = tag.toLowerCase(); String fulltag = null; String tmptag; if (options.containsKey(lctag)) { return (Parameter) options.get(lctag); } for (Iterator itr = options.keySet().iterator(); itr.hasNext(); ) { tmptag = (String)itr.next(); if (((Parameter) options.get(tmptag)).isHidden()) { // hidden options must be fully specified continue; } if (tmptag.startsWith(lctag)) { if (fulltag != null) { throw new CmdLineException( Strings.get("PosixCmdLineParser.ambiguousOption", new Object[] { "-" + tag })); } fulltag = tmptag; } } if (fulltag == null) { throw new CmdLineException( Strings.get("PosixCmdLineParser.invalidOption", new Object[] { tag })); } return (Parameter)options.get(fulltag); } } pdfsam-1.1.4/jcmdline/src/java/jcmdline/AbstractParameter.java0000644000175000017500000004352210711667504024273 0ustar twernertwerner/* * AbstractParameter.java * * Classes: * public AbstractParameter * * ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is the Java jcmdline (command line management) package. * * The Initial Developer of the Original Code is Lynne Lawrence. * * Portions created by the Initial Developer are Copyright (C) 2002 * the Initial Developer. All Rights Reserved. * * Contributor(s): Lynne Lawrence * * ***** END LICENSE BLOCK ***** */ package jcmdline; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; /** * Base class for command line parameters. *

* To implement a concrete Parameter class by subclassing this class, * the following should be done: *

    *
  • Override the {@link #validateValue(String) validateValue()} method. * This method is called any time an attempt is made to add or set * values. *
  • Implement constructors applicable for the new type of Parameter. *
  • Call {@link #setOptionLabel(String) setOptionLabel()} from the * constructors to set a * reasonable option label for the new type of parameter. *
  • Provide type-specific access methods for retrieval of the Parameter * value. For instance, {@link FileParam} provides the * getFiles() method to retrieve its values as File * objects. *
*

* A simple Parameter class that accepts only strings of a specified length * might look as follows: *

 * public class FixedLenParam extends AbstractParameter {
 * 
 *     private int length;
 * 
 *     public FixedLenParam(String tag, String desc, int length) {
 *         setTag(tag);
 *         setDesc(desc);
 *         this.length = length;
 *         setOptionLabel("<s>");
 *     }
 * 
 *     public void validateValue(String val) throws CmdLineException {
 *         super.validateValue(val); // check acceptable values, etc..
 *         if (val.length() != length) {
 *             throw new CmdLineException(getTag() + " must be a string of " +
 *                                        length + " characters in length");
 *         }
 * 
 *     }
 * }
 * 
* * @author Lynne Lawrence * @version jcmdline Rel. @VERSION@ $Id: AbstractParameter.java,v 1.2 2002/12/07 14:22:06 lglawrence Exp $ */ public abstract class AbstractParameter implements Parameter { /** * the tag which uniquely identifies the parameter, and will be used to * identify the parameter on the command line if the parameter is used * as an option */ protected String tag; /** * Indicates whether or not the parameter is optional. The default is * true, indicating that the parameter is optional. */ protected boolean optional = true; /** * Indicates whether the parameter can have multiple values. * The default is * false, indicating that the parameter can only accept a single value. */ protected boolean multiValued = false; /** * a description of the parameter to be displayed in the usage */ protected String desc; /** * indicates that the parameter is hidden and will not be displayed in the * normal usage - default is false */ protected boolean hidden = false; /** * indicates that the value of the parameter has been set */ protected boolean set; /** * the value(s) of the entity */ protected ArrayList values = new ArrayList(); /** * The label that should be used for a Parameter option's value in the * usage * @see #setOptionLabel(String) setOptionLabel() * @see #getOptionLabel() */ protected String optionLabel = null; /** * a set of restricted values the Parameter may take * @see #setAcceptableValues(String[]) setAcceptableValues() * @see #getAcceptableValues() */ protected String[] acceptableValues; /** * During parse, ignore missing required Parameters if this Parameter is * set. Typically used by Parameters that cause an action then call * System.exit(), like "-help". * @see #setIgnoreRequired(boolean) setIgnoreRequired() * @see #getIgnoreRequired() */ protected boolean ignoreRequired; /** * gets an indicator that the parameter's value has been set * * @return true if the parameter's value has been set, false * otherwise */ public boolean isSet() { return set; } /** * sets the value of the hidden indicator * * @param hidden true ({@link #HIDDEN}) if the parameter is a * hidden parameter */ public void setHidden(boolean hidden) { this.hidden = hidden; } /** * gets the value of the hidden indicator * * @return true ({@link #HIDDEN}) if the parameter is a * hidden parameter */ public boolean isHidden() { return hidden; } /** * sets the value of this parameter's description * * @param desc a description of the parameter, suitable for display in * the command's usage * @throws IllegalArgumentException if desc is * fewer than 5 charaters. */ public void setDesc(String desc) throws IllegalArgumentException { int minDescLen = 5; if (desc.length() < minDescLen) { throw new IllegalArgumentException(Strings.get( "AbstractParameter.descTooShort", new Object[] { tag })); } this.desc = desc; } /** * gets the value of the parameter's description * * @return this parameter's description */ public String getDesc() { return desc; } /** * sets the value of tag * * @param tag a unique identifier for this parameter. If the * parameter is used as an option, it will be used to * identify the option on the command line. In the case * where the parameter is used as an argument, it will * only be used to identify the argument in the usage * statement. Tags must be made up of any character but * '='. * @throws IllegalArgumentException if the length of tag * is less than 1, or tag contains an * invalid character. */ public void setTag(String tag) throws IllegalArgumentException { if (tag == null || tag.length() < 1) { throw new IllegalArgumentException(Strings.get( "AbstractParameter.emptyTag")); } if (tag.indexOf("=") != -1) { throw new IllegalArgumentException(Strings.get( "AbstractParameter.illegalCharInTag", new Object[] { tag, "=" })); } this.tag = tag; } /** * gets the value of tag * * @return a unique identifier for this parameter * @see #setTag(String) setTag() */ public String getTag() { return tag; } /** * sets the value of the multiValued indicator * * @param multiValued true if the parameter can have multiple values */ public void setMultiValued(boolean multiValued) { this.multiValued = multiValued; } /** * gets the value of multiValued indicator * * @return true if the parameter can have multiple values */ public boolean isMultiValued() { return multiValued; } /** * indicates whether or not the parameter is optional * * @param optional true if the parameter is optional */ public void setOptional(boolean optional) { this.optional = optional; } /** * returns the value of the optional indicator * * @return true if the parameter is optional */ public boolean isOptional() { return optional; } /** * Gets the values that are acceptable for this parameter, if a restricted * set exists. If there is no restricted set of acceptable values, null * is returned. * * @return a set of acceptable values for the Parameter, or * null if there is none. * @see #setAcceptableValues(String[]) setAcceptableValues() */ public String[] getAcceptableValues() { return acceptableValues; } /** * Sets the values that are acceptable for this parameter, if a restricted * set exists. A null vals value, or an empty vals * array, will result in any previously set acceptable values being cleared. * * @param vals the new acceptable values * @see #getAcceptableValues() */ public void setAcceptableValues(String[] vals) { if (vals == null || vals.length == 0) { acceptableValues = null; } else { acceptableValues = vals; } } /** * Sets the values that are acceptable for this parameter, if a restricted * set exists. A null vals value, or an empty vals * Collection, will result in any previously set acceptable values being * cleared. *

* The toString() values of the Objects in vals * will be used for the acceptable values. * * @param vals the new acceptable values */ public void setAcceptableValues(Collection vals) { if (vals == null || vals.size() == 0) { acceptableValues = null; } else { acceptableValues = new String[vals.size()]; int i = 0; for (Iterator itr = vals.iterator(); itr.hasNext(); ) { acceptableValues[i] = itr.next().toString(); i++; } } } /** * Adds the specified string as a value for this entity after calling * validateValue() to validate. * * @param value the value to be added * @throws CmdLineException if the value of the entity * has already been set and multiValued is * not true, or if * {@link #validateValue(String) validateValue()} * detects a problem. */ public void addValue(String value) throws CmdLineException { if (values.size() >= 1 && !multiValued) { throw new CmdLineException(Strings.get( "AbstractParameter.specifiedMoreThanOnce", new Object[] { tag })); } validateValue(value); values.add(value); set = true; } /** * Sets the value of the parameter to the specified string after calling * validateValue() to validate. * * @param value the new value of the parameter * @throws if {@link #validateValue(String) validateValue()} * detects a problem. */ public void setValue(String value) throws CmdLineException { values.clear(); addValue(value); // Let addValue() validate } /** * Sets the values of the parameter to those specified after calling * validateValue() to validate. * * @param values A collection of String objects to be used as the * parameter's values. * @throws ClassCastException if the Collection contains object that * are not Strings. * @throws CmdLineException if more than one value is specified * and multiValued is not true, or * if {@link #validateValue(String) validateValue()} * detects a problem. */ public void setValues(Collection values) throws CmdLineException { this.values.clear(); for (Iterator itr = values.iterator(); itr.hasNext(); ) { addValue((String) itr.next()); // let addValue() validate } } /** * Sets the values of the parameter to those specified after calling * validateValue() to validate. * * @param values The String objects to be used as the * parameter's values. * @throws CmdLineException if more than one value is specified * and multiValued is not true, or * if {@link #validateValue(String) validateValue()} * detects a problem. */ public void setValues(String[] values) throws CmdLineException { this.values.clear(); for (int i = 0; i < values.length; i++) { addValue(values[i]); // let addValue() validate } } /** * Verifies that value is valid for this entity. *

* The implementation in AbstractParameter is to verify that, if there * are specific acceptableValues associated with the Parameter, the * value is one of those specified. Any additional validation must * be done by a subclass. Because the validation performed by this * method is applicable to most, if not all Parameters, it is recommended * that subclasses call it from within their override methods: *

     * public void validateValue(String value) throws CmdLineException {
     *    super.validateValue(value);
     *    // do some subclass-specific validation
     *    .
     *    .
     * }
     * 
* * @param value the value to be validated * @throws CmdLineException if value is not valid. */ public void validateValue(String value) throws CmdLineException { if (acceptableValues != null) { for (int i = 0; i < acceptableValues.length; i++) { if (value.equals(acceptableValues[i])) { return; } } int maxExpectedAVLen = 200; StringBuffer b = new StringBuffer(maxExpectedAVLen); for (int i = 0; i < acceptableValues.length; i++) { b.append("\n " + acceptableValues[i]); } throw new CmdLineException(Strings.get( "Parameter.valNotAcceptableVal", new Object[] { value, tag, b.toString() })); } } /** * The value of the parameter, in the case where the parameter is not * multi-valued. For a multi-valued parameter, the first value specified * is returned. * * @return The value of the parameter as a String, or null if * the paramter has not been set. * @see #getValues() */ public String getValue() { if (values.size() == 0) { return null; } return (String) values.get(0); } /** * gets the values associated with this Parameter * * @return The values associated with this Parameter. Note * that this might be an empty Collection if the * Parameter has not been set. * @see #isSet() */ public Collection getValues() { return values; } /** * Sets the value of optionLabel. * This label will be used when the usage for the command is displayed. * For instance, a date parameter might use "<mm/dd/yy>". This could * then be displayed as in the following usage. *
     * st_date <mm/dd/yy>  the start date of the report
     * 
* The default is the empty string. * @param optionLabel The string used as a label for the parameter's * value. If null, an empty string is used. * @see #getOptionLabel() */ public void setOptionLabel(String optionLabel) { this.optionLabel = optionLabel; } /** * gets the value of optionLabel * * @return the string used as a label for the parameter's * value * @see #setOptionLabel(String) setOptionLabel() */ public String getOptionLabel() { return ((optionLabel == null) ? "" : optionLabel); } /** * Sets a flag such that during parse, missing required Parameters are * ignored * if this Parameter is set. Typically used by Parameters that cause an * action then call System.exit(), like "-help". * * @param ignoreRequired set to true to ignore missing * required Parameters if this Parameter is set * @see #getIgnoreRequired() */ public void setIgnoreRequired(boolean ignoreRequired) { this.ignoreRequired = ignoreRequired; } /** * Gets the flag indicating that during parse, missing required * Parameters are ignored * if this Parameter is set. Typically used by Parameters that cause an * action then call System.exit(), like "-help". * * @return true if missing required Parameters * will be ignored when this Parameter is set. * @see #setIgnoreRequired(boolean) setIgnoreRequired() */ public boolean getIgnoreRequired() { return ignoreRequired; } } pdfsam-1.1.4/jcmdline/src/java/jcmdline/strings.properties0000644000175000017500000003226110725305740023625 0ustar twernertwerner#============================================================================== # errors.properties # #------------------------------------------------------------------------------ # error messages for the util.jcmdline class. # # Author Lynne Lawrence # Version $Id: strings.properties,v 1.1.1.1 2002/12/06 18:47:01 lglawrence Exp $ # # ***** BEGIN LICENSE BLOCK ***** # Version: MPL 1.1 # # The contents of this file are subject to the Mozilla Public License Version # 1.1 (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # http://www.mozilla.org/MPL/ # # Software distributed under the License is distributed on an "AS IS" basis, # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License # for the specific language governing rights and limitations under the # License. # # The Original Code is the Java jcmdline (command line management) package. # # The Initial Developer of the Original Code is Lynne Lawrence. # # Portions created by the Initial Developer are Copyright (C) 2002 # the Initial Developer. All Rights Reserved. # # Contributor(s): Lynne Lawrence # # ***** END LICENSE BLOCK ***** #============================================================================== #------------------------------------------------------------------------------ # AbstractParameter messages #------------------------------------------------------------------------------ AbstractParameter.descTooShort: \ Description for {0} must be at least 5 characters. AbstractParameter.emptyTag: A tag may not be an empty string. AbstractParameter.illegalCharInTag: \ Parameter tag <{0}> contains illegal character <{1}>.\n\ Valid characters are letters, numbers, '_', and '-'. AbstractParameter.specifiedMoreThanOnce: \ <{0}> may only be specified once. Parameter.valNotAcceptableVal: \ Invalid value "{0}" specified for <{1}>, expecting one of: {2} #------------------------------------------------------------------------------ # BasicCmdLineHandler messages #------------------------------------------------------------------------------ BasicCmdLineHandler.cmdDescTooShort: Command description must be specified. BasicCmdLineHandler.cmdNameTooShort: Command name must be specified. BasicCmdLineHandler.duplicateOption: An option ({0}) is defined more than once. BasicCmdLineHandler.missingRequiredArg: \ Required argument <{0}> has not been specified. BasicCmdLineHandler.missingRequiredOpt: \ Required option <{0}> has not been specified. BasicCmdLineHandler.multiValueArgNotLast: \ Multi-valued argument <{0}> must be the last specified because it will \ absorb all command line parameters. BasicCmdLineHandler.nullArgNotAllowed: Argument parameter may not be null. BasicCmdLineHandler.requiredArgAfterOptArg: \ Required argument ({0}) may not be specified after optional argument ({1}). #------------------------------------------------------------------------------ # BooleanParam messages #------------------------------------------------------------------------------ BooleanParam.false: false BooleanParam.setValueProgError: \ Programming error: can't set BooleanParam value to "false". BooleanParam.true: true #------------------------------------------------------------------------------ # DateParam messages #------------------------------------------------------------------------------ DateParam.dateFormat: MM/dd/yy DateParam.invalidDate: \ Invalid date specified for <{0}>, expecting {1} DateParam.invalidHours: \ Invalid hours value specified ({0}) must be between 0 and 23, inclusive. DateParam.invalidMinutes: \ Invalid minutes value specified ({0}) must be between 0 and 59, inclusive. DateParam.invalidSeconds: \ Invalid seconds value specified ({0}) must be between 0 and 59, inclusive. DateParam.invalidMilliSeconds: \ Invalid milliseconds value specified ({0}) must be between 0 and 999, \ inclusive. #------------------------------------------------------------------------------ # DateTimeParam messages #------------------------------------------------------------------------------ DateTimeParam.dateFormat: MM/dd/yy DateTimeParam.invalidDate: \ Invalid date specified for <{0}>, expecting {1} #------------------------------------------------------------------------------ # DefaultCmdLineHandler messages #------------------------------------------------------------------------------ DefaultCmdLineHandler.logOptTag: log DefaultCmdLineHandler.logOptDesc: sets the log level DefaultCmdLineHandler.helpOptTag: help DefaultCmdLineHandler.helpOptDesc: prints help information to stdout; exits DefaultCmdLineHandler.versionOptTag: version DefaultCmdLineHandler.versionOptDesc: prints program version to stdout; exits DefaultCmdLineHandler.usageOptTag1: h DefaultCmdLineHandler.usageOptTag2: ? DefaultCmdLineHandler.usageOptDesc: prints usage to stdout; exits DefaultCmdLineHandler.hiddenUsageOptTag: h! DefaultCmdLineHandler.hiddenUsageOptDesc: \ prints usage (including hidden options) to stdout; exits DefaultCmdLineHandler.params: , params: DefaultCmdLineHandler.classDescTooShort: \ Invalid class description passed to DefaultCmdLineHandler constructor, \n\ must be at least 1 character long. DefaultCmdLineHandler.classNameTooShort: \ Invalid class name passed to DefaultCmdLineHandler constructor, must be at \ \nleast 1 character long. DefaultCmdLineHandler.helpMissingArg: \ Help text contains no reference to the <{0}> argument. Help text:\n\ {1} DefaultCmdLineHandler.helpMissingOption: \ Help text contains no reference to the <{0}> option. Help text:\n\ {1} DefaultCmdLineHandler.helpTooShort: \ Invalid help text passed to DefaultCmdLineHandler constructor, must be at \n\ least 1 character long. DefaultCmdLineHandler.optionError: {0} DefaultCmdLineHandler.versionTooShort: \ Invalid version passed to DefaultCmdLineHandler constructor, must be at \n\ least 1 character long. #------------------------------------------------------------------------------ # FileParam messages #------------------------------------------------------------------------------ FileParam.a: a FileParam.an_existing: an existing FileParam.defaultDirOptionLabel: FileParam.defaultFileOptionLabel: FileParam.directory: directory FileParam.file: file FileParam.file_dir: file or directory FileParam.illegalValue: \ Invalid name ({3}) specified for <{4}>, must be {0}{2} {1}. FileParam.invalidAttributes: \ Invalid attributes specified: <{0}>, please use static final literals. FileParam.readable: , readable, FileParam.readable_writeable: , readable, writeable, FileParam.valueNotSet: There is no value set for <{0}>. FileParam.writeable: , writeable, #------------------------------------------------------------------------------ # HelpCmdLineHandler messages #------------------------------------------------------------------------------ HelpCmdLineHandler.help.tag: help HelpCmdLineHandler.help.desc: displays verbose help information HelpCmdLineHandler.license.tag: license HelpCmdLineHandler.license.desc: displays license information HelpCmdLineHandler.license.nolicense: no license informations HelpCmdLineHandler.helpEmptyError: \ a non-empty help text must be specified to the HelpCmdLineHandler constructor HelpCmdLineHandler.helpHidden.tag: help! HelpCmdLineHandler.helpHidden.desc: \ displays verbose help information, including hidden parameters #------------------------------------------------------------------------------ # IntParam messages #------------------------------------------------------------------------------ IntParam.defaultOptionLabel: IntParam.maxLessThanMin: \ Minimum acceptable value ({0}) must not be greater than the maximum ({1}) IntParam.validValues: \ The value for <{0}> must be a number between {1} and {2}, inclusive. IntParam.valueNotSet: \ There is no value set for <{0}>. #------------------------------------------------------------------------------ # LongParam messages #------------------------------------------------------------------------------ LongParam.defaultOptionLabel: LongParam.maxLessThanMin: \ Minimum acceptable value ({0}) must not be greater than the maximum ({1}) LongParam.validValues: \ The value for <{0}> must be a number between {1} and {2}, inclusive. LongParam.valueNotSet: \ There is no value set for <{0}>. #------------------------------------------------------------------------------ # LoggerCmdLineHandler messages #------------------------------------------------------------------------------ LoggerCmdLineHandler.logFormatterNullError: \ The Formatter passed to setlogFormatter() must not be null LoggerCmdLineHandler.logOpt.tag: log LoggerCmdLineHandler.logOpt.desc: \ set the default logging level \ (one of {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, or {8}) LoggerCmdLineHandler.streamNullError: \ The stream specified to the LoggerCmdLineHandler may not be null. #------------------------------------------------------------------------------ # PosixCmdLineParser messages #------------------------------------------------------------------------------ PosixCmdLineParser.ambiguousOption: Option <{0}> is ambiguous. PosixCmdLineParser.extraArg: Extra argument specified: <{0}> PosixCmdLineParser.invalidOption: Option <{0}> is not a valid option. PosixCmdLineParser.missingOptionValue: Option <{0}> requires a value. PosixCmdLineParser.optionNoTag: Option "-" is invalid. #------------------------------------------------------------------------------ # StringFormatHelper messages #------------------------------------------------------------------------------ StringFormatHelper.labelDescriptionError: \ The number of labels ({0}) passed to formatLabelledList does not match \ the number of descriptions ({1}) StringFormatHelper.lineLenLessThanIndent: \ maximum line length must be greater than indent StringFormatHelper.lineLenZero: maximum line length must be greater than 0 #------------------------------------------------------------------------------ # StringParam messages #------------------------------------------------------------------------------ StringParam.defaultOptionLabel: StringParam.maxTooSmall: Maximum length for {0} must not be less than 0. StringParam.minTooSmall: Minimum length for {0} must not be less than 0. StringParam.maxLessThanMin: \ Maximum length for {0} must not be less than the minimum length. StringParam.valTooLong: \ Parameter for {0} is longer than the maximum allowed length ({1}). StringParam.valTooShort: \ Parameter for {0} is shorter than the minimum allowed length ({1}). #------------------------------------------------------------------------------ # Strings messages #------------------------------------------------------------------------------ Strings.missingKey: Missing string property for key: #------------------------------------------------------------------------------ # TextUsageFormatter messages #------------------------------------------------------------------------------ TextUsageFormatter.errorPrefix: ERROR: TextUsageFormatter.hidden: hidden TextUsageFormatter.optional: optional TextUsageFormatter.optIntroNoArgs: where options are: TextUsageFormatter.optIntroWArgs: and options are: TextUsageFormatter.required: required TextUsageFormatter.stdOptionHelp: \ Option tags are not case sensitive, and \ may be truncated as long as they remain unambiguous. Option \ tags must be separated from their corresponding values by \ whitespace, or by an equal sign. Boolean options (options that \ require no associated value) may be specified alone (=true), or as \ 'tag=value' where value is 'true' or 'false'. TextUsageFormatter.usage: Usage: TextUsageFormatter.usageWOReqOpt: [options] TextUsageFormatter.usageWReqOpt: options TextUsageFormatter.where: where: #------------------------------------------------------------------------------ # TimeParam messages #------------------------------------------------------------------------------ TimeParam.invalidTimeFormat: Invalid time format ({0}), expecting "{1}" TimeParam.invalidSeconds: \ Invalid seconds value specified ({0}) must be between 0 and 59, inclusive. TimeParam.invalidMilliSeconds: \ Invalid milliseconds value specified ({0}) must be between 0 and 999, \ inclusive. #------------------------------------------------------------------------------ # VersionCmdLineHandler messages #------------------------------------------------------------------------------ VersionCmdLineHandler.version.desc: displays command's version VersionCmdLineHandler.version.tag: version VersionCmdLineHandler.versionEmptyError: \ A version of non-zero length must be specified. PdfFileParam.a: a PdfFileParam.an_existing: an existing PdfFileParam.defaultDirOptionLabel: PdfFileParam.defaultFileOptionLabel: PdfFileParam.file: file PdfFileParam.file_dir: file or directory PdfFileParam.illegalValue: \ Invalid name ({3}) specified for <{4}>, must be {0}{2} {1}. PdfFileParam.invalidAttributes: \ Invalid attributes specified: <{0}>, please use static final literals. PdfFileParam.readable: , readable, PdfFileParam.readable_writeable: , readable, writeable, PdfFileParam.valueNotSet: There is no value set for <{0}>. PdfFileParam.writeable: , writeable, pdfsam-1.1.4/jcmdline/src/java/jcmdline/CmdLineParser.java0000644000175000017500000000615710201471366023353 0ustar twernertwerner/* * CmdLineParser.java * * jcmdline Rel. @VERSION@ $Id: CmdLineParser.java,v 1.2 2002/12/07 14:22:06 lglawrence Exp $ * * Classes: * public CmdLineParser * * ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is the Java jcmdline (command line management) package. * * The Initial Developer of the Original Code is Lynne Lawrence. * * Portions created by the Initial Developer are Copyright (C) 2002 * the Initial Developer. All Rights Reserved. * * Contributor(s): Lynne Lawrence * * ***** END LICENSE BLOCK ***** */ package jcmdline; import java.util.List; import java.util.Map; /** * Interface desribing the API used between the CmdLineHandler and its * command line parser. *

* Implementations of this interface are intended to be passed to the * constructor of a CmdLineHandler, which will then use the implementation * to parse the command line to its composite elements. *

* Information on using CmdLineParsers can be found in the jcmdline * User Guide. * * @author Lynne Lawrence * @version jcmdline Rel. @VERSION@ $Id: CmdLineParser.java,v 1.2 2002/12/07 14:22:06 lglawrence Exp $ */ public interface CmdLineParser { /** * Parses the passed command line arguments into sets of options and * arguments. Following a call to this method, the appropriate values * of the parameters and options will be set. * * @param clargs the command line arguments * @param opts the expected command line options * @param args the expected command line arguments (what is left * on the command line after the options have been * processed. * @throws CmdLineException if the clargs fail to parse * properly into the expected options and arguments. */ public void parse(String clargs[], Map opts, List args) throws CmdLineException; /** * Sets a usage formatter suitable for this CmdLineParser's format. * * @param usageFormatter a usage formatter suitable for this * CmdLineParser's format * @see #getUsageFormatter() */ public void setUsageFormatter(UsageFormatter usageFormatter) ; /** * Gets a usage formatter suitable for this CmdLineParser's format. * * @return a usage formatter suitable for this * CmdLineParser's format * @see #setUsageFormatter(UsageFormatter) setUsageFormatter() */ public UsageFormatter getUsageFormatter() ; } pdfsam-1.1.4/jcmdline/src/java/jcmdline/DateTimeParam.java0000644000175000017500000005616310722536124023344 0ustar twernertwerner/* * DateTimeParam.java * * jcmdline Rel. @VERSION@ $Id: DateTimeParam.java,v 1.2 2002/12/07 14:22:06 lglawrence Exp $ * * Classes: * public DateTimeParam * * ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is the Java jcmdline (command line management) package. * * The Initial Developer of the Original Code is Lynne Lawrence. * * Portions created by the Initial Developer are Copyright (C) 2002 * the Initial Developer. All Rights Reserved. * * Contributor(s): Lynne Lawrence * * ***** END LICENSE BLOCK ***** */ package jcmdline; import java.text.DecimalFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Collection; import java.util.Date; import java.util.Iterator; /** * A parameter that accepts a date and time as its value. *

* The format for the date is taken from the strings * ResourceBundle. The format for the time is "HH:mm:ss:SSS", where * the seconds and/or milliseconds portion may be left off by the user, * in which case they will be defaulted. *

* Sample Usage: *

 *     DateTimeParam startTimeParam = 
 *         new DateTimeParam("startTime", 
 *                           "start time of report", 
 *                           DateTimeParam.REQUIRED);
 *     DateTimeParam endTimeParam = 
 *         new DateTimeParam("endTime", 
 *                           "end time of report", 
 *                           DateTimeParam.REQUIRED);
 * 
 *     // Seconds and millis for startTime will both be 0 by default.
 *     // Set the seconds and millis for the end of the report to be the end 
 *     // of a minute.
 *     endTimeParam.setDefaultSeconds(59);
 *     endTimeParam.setDefaultMilliSeconds(999);
 * 
 *     CmdLineHandler cl = new DefaultCmdLineHandler(
 *         "myreport", "generate activity report",
 *         new Parameter[] {}, 
 *         new Parameter[] { startTimeParam, endTimeParam });
 *     
 *     cl.parse();
 * 
 *     // Don't need to check isSet() because params are REQUIRED
 *     Date stTime = startTimeParam.getDate();
 *     Date enTime = endTimeParam.getDate();
 *     .
 *     .
 *  
* This will result in a command line that may be executed as: *
 *   myreport "09/23/59 10:12" "09/23/59 23:34"
 *  
* or *
 *   myreport "09/23/59 10:12:34:567" "09/23/59 23:34:34:567"
 *  
* * @author Lynne Lawrence * @version jcmdline Rel. @VERSION@ $Id: DateTimeParam.java,v 1.2 2002/12/07 14:22:06 lglawrence Exp $ * @see DateParam * @see TimeParam */ public class DateTimeParam extends AbstractParameter { private static final String sDateFmt = Strings.get("DateTimeParam.dateFormat"); private static final String sTimeFmt = "HH:mm:ss:SSS"; private static final String sTimeFmtDisplay = "HH:mm[:ss[:SSS]]"; private static final SimpleDateFormat dateFmt = new SimpleDateFormat(sDateFmt + " " + sTimeFmt); private static final DecimalFormat secondFmt = new DecimalFormat("00"); private static final DecimalFormat msFmt = new DecimalFormat("000"); private Date date = null; /** * The seconds default to use if not specified by the user. * This will default to 0 if never specified for a DateTimeParam object. * @see #setDefaultSeconds(int) setDefaultSeconds() * @see #getDefaultSeconds() */ private int defaultSeconds = 0; /** * The default millisecond value to use if not specified by the user. * This will default to 0 if never specified for a DateTimeParam object. * @see #setDefaultMilliSeconds(int) setDefaultMilliSeconds() * @see #getDefaultMilliSeconds() */ private int defaultMilliSeconds = 0; /** * constructor - creates single-valued, optional, public * parameter * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @throws IllegalArgumentException if tag * or are invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() */ public DateTimeParam(String tag, String desc) { this(tag, desc, OPTIONAL, SINGLE_VALUED, PUBLIC); } /** * constructor - creates single-valued, public parameter which will * will be either optional or required, as specified. * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @throws IllegalArgumentException if any of the specified * parameters are invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() */ public DateTimeParam(String tag, String desc, boolean optional) { this(tag, desc, optional, SINGLE_VALUED, PUBLIC); } /** * constructor - creates a public parameter which will * will be either optional or required, and/or multi-valued, as specified. * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @param multiValued {@link Parameter#MULTI_VALUED MULTI_VALUED} if * the parameter can accept multiple values, * {@link Parameter#SINGLE_VALUED SINGLE_VALUED} * if the parameter can contain only a single value * @throws IllegalArgumentException if any of the specified * parameters are invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see Parameter#SINGLE_VALUED SINGLE_VALUED * @see Parameter#MULTI_VALUED MULTI_VALUED */ public DateTimeParam(String tag, String desc, boolean optional, boolean multiValued) { this(tag, desc, optional, multiValued, PUBLIC); } /** * constructor - creates a parameter which will * will be either optional or required, single or multi-valued, and * hidden or public as specified. * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @param multiValued {@link Parameter#MULTI_VALUED MULTI_VALUED} if * the parameter can accept multiple values, * {@link Parameter#SINGLE_VALUED SINGLE_VALUED} * if the parameter can contain only a single value * @param hidden {@link Parameter#HIDDEN HIDDEN} if parameter is * not to be listed in the usage, * {@link Parameter#PUBLIC PUBLIC} otherwise. * @throws IllegalArgumentException if any of the specified * parameters are invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see Parameter#SINGLE_VALUED SINGLE_VALUED * @see Parameter#MULTI_VALUED MULTI_VALUED * @see Parameter#HIDDEN HIDDEN * @see Parameter#PUBLIC PUBLIC */ public DateTimeParam(String tag, String desc, boolean optional, boolean multiValued, boolean hidden) { this.setTag(tag); this.setDesc(desc); this.setOptional(optional); this.setMultiValued(multiValued); this.setHidden(hidden); this.setOptionLabel(sDateFmt + " " + sTimeFmtDisplay); } /** * constructor - creates a single-valued, optional, public, * number parameter whose value must be one of the specified values. * * @param tag the tag associated with this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param acceptableValues the acceptable values for the parameter * @throws IllegalArgumentException if any parameter is * invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see #setAcceptableDates(Date[]) setAcceptableDates() */ public DateTimeParam(String tag, String desc, Date[] acceptableValues) { this(tag, desc, acceptableValues, OPTIONAL, SINGLE_VALUED, PUBLIC); } /** * constructor - creates a single-valued, public, * number parameter whose value must be one of the specified values, * and which is required or optional, as specified. * * @param tag the tag associated with this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param acceptableValues the acceptable values for the parameter * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @throws IllegalArgumentException if any parameter is * invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see #setAcceptableDates(Date[]) setAcceptableDates() * @see Parameter#OPTIONAL OPTIONAL * @see Parameter#REQUIRED REQUIRED */ public DateTimeParam(String tag, String desc, Date[] acceptableValues, boolean optional) { this(tag, desc, acceptableValues, optional, SINGLE_VALUED, PUBLIC); } /** * constructor - creates a public * number parameter whose value must be one of the specified values, * and which is required or optional and/or multi-valued, as specified. * * @param tag the tag associated with this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param acceptableValues the acceptable values for the parameter * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @param multiValued {@link Parameter#MULTI_VALUED MULTI_VALUED} if * the parameter can accept multiple values, * {@link Parameter#SINGLE_VALUED SINGLE_VALUED} * if the parameter can contain only a single value * @throws IllegalArgumentException if any parameter is * invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see #setAcceptableDates(Date[]) setAcceptableDates() * @see Parameter#OPTIONAL OPTIONAL * @see Parameter#REQUIRED REQUIRED * @see Parameter#SINGLE_VALUED SINGLE_VALUED * @see Parameter#MULTI_VALUED MULTI_VALUED */ public DateTimeParam(String tag, String desc, Date[] acceptableValues, boolean optional, boolean multiValued) { this(tag, desc, acceptableValues, optional, multiValued, PUBLIC); } /** * constructor - creates a * Parameter, all of whose options are specified. * * @param tag the tag associated with this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param acceptableValues the acceptable values for the parameter * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @param multiValued {@link Parameter#MULTI_VALUED MULTI_VALUED} if * the parameter can accept multiple values, * {@link Parameter#SINGLE_VALUED SINGLE_VALUED} * if the parameter can contain only a single value * @param hidden {@link Parameter#HIDDEN HIDDEN} if parameter is * not to be listed in the usage, * {@link Parameter#PUBLIC PUBLIC} otherwise. * @throws IllegalArgumentException if any parameter is * invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see #setAcceptableDates(Date[]) setAcceptableDates() * @see Parameter#OPTIONAL OPTIONAL * @see Parameter#REQUIRED REQUIRED * @see Parameter#SINGLE_VALUED SINGLE_VALUED * @see Parameter#MULTI_VALUED MULTI_VALUED * @see Parameter#HIDDEN HIDDEN * @see Parameter#PUBLIC PUBLIC */ public DateTimeParam(String tag, String desc, Date[] acceptableValues, boolean optional, boolean multiValued, boolean hidden) { this.setTag(tag); this.setAcceptableDates(acceptableValues); this.setDesc(desc); this.setOptional(optional); this.setMultiValued(multiValued); this.setHidden(hidden); this.setOptionLabel(sDateFmt + " " + sTimeFmtDisplay); } /** * Verifies that value is valid for this entity - called by * add/setValue(s)(). * * @param value the value to be validated * @throws CmdLineException if value is not valid. */ public void validateValue(String val) throws CmdLineException { super.validateValue(val); try { stringToDate(val); } catch (ParseException e) { throw new CmdLineException(Strings.get( "DateTimeParam.invalidDate", new Object[] { getTag(), sDateFmt + " " + sTimeFmtDisplay })); } } /** * Returns the value of this Parameter as a java.util.Date object. * Should there be more than one value for this Parameter, the first * value will be returned. * * @return the value of this Parameter as a Date object */ public Date getDate() { String sVal = getValue(); Date date = null; if (sVal != null) { try { date = stringToDate(sVal); } catch (ParseException e) { // Should never get here because all values would have been // parsed as part of validateValue(). throw new RuntimeException(e); } } return date; } /** * Returns the values of this Parameter as java.util.Date objects. * * @return The values of this Parameter as Date objects. Note * the the return value may be an empty array if no * values have been set. */ public Date[] getDates() { Collection sVals = getValues(); Date[] dates = new Date[sVals.size()]; int i = 0; for (Iterator itr = sVals.iterator(); itr.hasNext(); ) { try { dates[i] = stringToDate((String)itr.next()); i++; } catch (ParseException e) { // Should never get here because all values would have been // parsed as part of validateValue(). throw new RuntimeException(e); } } return dates; } /** * Sets the seconds default to use if not specified by the user. * This will default to 0 if never specified for a DateTimeParam object. * * @param defaultSeconds the seconds default to use if not specified * by the user * @see #getDefaultSeconds() */ public void setDefaultSeconds(int defaultSeconds) { this.defaultSeconds = defaultSeconds; } /** * Gets the seconds default to use if not specified by the user. * This will default to 0 if never specified for a DateTimeParam object. * * @return the seconds default to use if not specified by * the user * @see #setDefaultSeconds(int) setDefaultSeconds() */ public int getDefaultSeconds() { return defaultSeconds; } /** * Sets the default millisecond value to use if not specified by the user. * This will default to 0 if never specified for a DateTimeParam object. * * @param defaultMilliSeconds the default millisecond value to use if * not specified by the user * @see #getDefaultMilliSeconds() */ public void setDefaultMilliSeconds(int defaultMilliSeconds) { this.defaultMilliSeconds = defaultMilliSeconds; } /** * Gets the default millisecond value to use if not specified by the user. * This will default to 0 if never specified for a DateTimeParam object. * * @return the default millisecond value to use if not * specified by the user * @see #setDefaultMilliSeconds(int) setDefaultMilliSeconds() */ public int getDefaultMilliSeconds() { return defaultMilliSeconds; } /** * Gets the format used to parse the date/time values. * * @return the format used to parse the date/time values */ public static String getParseFormat() { return dateFmt.toLocalizedPattern(); } /** * Sets the values that will be acceptable for this Parameter using * Date objects. * * @param dates an array of acceptable dates */ public void setAcceptableDates(Date[] dates) { String[] sDates = new String[dates.length]; for (int i = 0; i < dates.length; i++) { sDates[i] = dateFmt.format(dates[i]); } super.setAcceptableValues(sDates); } /** * Gets the acceptable values as Date objects. * * @return The acceptable values as an array of Date objects. * Note that null is returned if acceptable * values have not been set. */ public Date[] getAcceptableDates() { String[] sVals = getAcceptableValues(); if (sVals == null) { return null; } Date[] dates = new Date[sVals.length]; for (int i = 0; i < sVals.length; i++) { try { dates[i] = stringToDate(sVals[i]); } catch (Exception e) { // should never get here - acceptable values parsed on the // way in throw new RuntimeException(e); } } return dates; } /** * Sets acceptable values for this Parameter. * * @param vals a Collection of java.util.Date objects representing * the acceptable values. * @throws ClassCastException if any member of vals is not * a Date object. */ public void setAcceptableDates(Collection vals) { String[] sVals = new String[vals.size()]; int i = 0; for (Iterator itr = vals.iterator(); itr.hasNext(); ) { date = (Date)itr.next(); sVals[i] = dateFmt.format(date); i++; } super.setAcceptableValues(sVals); } /** * Unsupported. This method is unsupported because, with the date format * coming from a resource bundle, it is not reasonable to code string * values for acceptable values - better to use Date objects. * * @throws UnsupportedOperationException; * @see #setAcceptableDates(Date[]) * @see #setAcceptableDates(Collection) */ public void setAcceptableValues(Collection vals) { throw new UnsupportedOperationException(); } /** * Unsupported. This method is unsupported because, with the date format * coming from a resource bundle, it is not reasonable to code string * values for acceptable values - better to use Date objects. * * @throws UnsupportedOperationException; * @see #setAcceptableDates(Date[]) * @see #setAcceptableDates(Collection) */ public void setAcceptableValues(String[] vals) { throw new UnsupportedOperationException(); } /** * Converts a String value to its Date equivalent, filling in default * seconds and milliseconds as necessary. * * @param val the String to be converted * @return the Date object represented by val * @throws ParseException if val will not parse to a Date. */ private Date stringToDate(String val) throws ParseException { if (val.length() == sDateFmt.length() + 6) { val = val + ":" + secondFmt.format(defaultSeconds); } if (val.length() == sDateFmt.length() + 9) { val = val + ":" + msFmt.format(defaultMilliSeconds); } return dateFmt.parse(val); } } pdfsam-1.1.4/jcmdline/src/java/jcmdline/TextUsageFormatter.java0000644000175000017500000003021310722536244024453 0ustar twernertwerner/* * TextUsageFormatter.java * * Classes: * public TextUsageFormatter * * ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is the Java jcmdline (command line management) package. * * The Initial Developer of the Original Code is Lynne Lawrence. * * Portions created by the Initial Developer are Copyright (C) 2002 * the Initial Developer. All Rights Reserved. * * Contributor(s): Lynne Lawrence * * ***** END LICENSE BLOCK ***** */ package jcmdline; import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.Map; /** * Used to format a command's usage. * * @author Lynne Lawrence * @version jcmdline Rel. @VERSION@ $Id: TextUsageFormatter.java,v 1.2 2002/12/07 14:22:06 lglawrence Exp $ * @see CmdLineHandler */ public class TextUsageFormatter implements UsageFormatter { /** * the maximum line length to use for usage display - defaults to 80. * @see #setLineLength(int) setLineLength() * @see #getLineLength() */ private int lineLength = 80; /** * a Helper for usage formatting */ private StringFormatHelper sHelper = StringFormatHelper.getHelper(); /** * constructor */ public TextUsageFormatter () { } /** * gets the usage for the command * * @param cmdName the command name * @param cmdDesc the command description * @param opts a Map of command options; keys are the option * tags, values are the option objects * @param args the command arguments * @param showHidden if true, hidden parameters will be * displayed * @return the usage for the command */ public String formatUsage(String cmdName, String cmdDesc, Map opts, List args, boolean showHidden) { String s; int maxExpectedStringLen = 2048; StringBuffer sb = new StringBuffer(maxExpectedStringLen); // Format command name and description s = sHelper.formatHangingIndent(cmdName + " - " + cmdDesc, cmdName.length() + 3, lineLength); sb.append(s + "\n\n"); // Format options and arguments int lineStartIdx = sb.length(); sb.append(Strings.get("TextUsageFormatter.usage")) .append(" ") .append(cmdName) .append(" "); if (opts.size() > 0) { sb.append(haveRequiredOpt(opts) ? Strings.get("TextUsageFormatter.usageWReqOpt") : Strings.get("TextUsageFormatter.usageWOReqOpt")) .append(" "); } if (args.size() > 0) { StringBuffer sb2 = argsOnOneLine(args, showHidden); if (sb.length() - lineStartIdx + sb2.length() > lineLength) { sb2 = argsOnSeparateLines(args, sb.length() - lineStartIdx, showHidden); } sb.append(sb2.toString()) .append("\n") .append(getArgDescriptions(args, showHidden)); } if (opts.size() > 0) { sb.append("\n\n"); if (args.size() > 0) { sb.append(Strings.get("TextUsageFormatter.optIntroWArgs")); } else { sb.append(Strings.get("TextUsageFormatter.optIntroNoArgs")); } sb.append("\n\n") .append(getOptDescriptions(opts, showHidden)); sb.append("\n\n") .append(sHelper.formatHangingIndent( Strings.get("TextUsageFormatter.stdOptionHelp"), 0, lineLength)); } return sb.toString(); } /** * Gets an error message, reformatted in a manner to "go well with" * the usage statement. This implementation returns: *
     *    ERROR: invalid filename
     * 
* when called as: *
     *    formatErrorMsg("invalid filename")
     * 
* * @param msg the text of the error message * @return the reformatted error message */ public String formatErrorMsg(String msg) { String error = Strings.get("TextUsageFormatter.errorPrefix"); return sHelper.formatHangingIndent(error + " " + msg, error.length() + 1, lineLength); } public String formatText(String text, int indent, int lineLen) { return sHelper.formatBlockedText(text, indent, lineLen); } /** * Sets the maximum line length to use for usage display - default is 80. * * @param lineLength the maximum line length to use for usage display * @see #getLineLength() */ public void setLineLength(int lineLength) { this.lineLength = lineLength; } /** * Gets the maximum line length to use for usage display. * * @return the maximum line length to use for usage display * @see #setLineLength(int) setLineLength() */ public int getLineLength() { return lineLength; } /** * Returns true if any of the command line options are * required. * * @return true if any option is required */ private boolean haveRequiredOpt(Map options) { boolean haveRequiredOpt = false; for (Iterator itr = options.values().iterator(); itr.hasNext(); ) { if (!((Parameter) itr.next()).isOptional()) { haveRequiredOpt = true; break; } } return haveRequiredOpt; } /** * Get command line arguments, one per line, with each line but the * first having the specified indent. * * @param indent the indent * @return the formatted arguments */ private StringBuffer argsOnSeparateLines(List args, int indent, boolean showHidden) { int maxExpectedStringLen = 240; StringBuffer sb2 = new StringBuffer(maxExpectedStringLen); Parameter p; int optIdx = 0; sb2 = new StringBuffer(maxExpectedStringLen); for (Iterator itr = args.iterator(); itr.hasNext(); ) { p = (Parameter) itr.next(); if (p.isHidden() && !showHidden) { continue; } for (int i = 0; i < optIdx; i++) { sb2.append(' '); } sb2.append(argTagToString(p)).append(" \\\n"); optIdx = indent; } // trim off trailing space, backslash, and newline return sb2.delete(sb2.length() - 3, sb2.length()); } /** * Get command line arguments, all on one line * * @return the formatted arguments */ private StringBuffer argsOnOneLine(List args, boolean showHidden) { int maxExpectedStringLen = 800; StringBuffer sb2 = new StringBuffer(maxExpectedStringLen); Parameter p; for (Iterator itr = args.iterator(); itr.hasNext(); ) { p = (Parameter) itr.next(); if (p.isHidden() && !showHidden) { continue; } sb2.append(argTagToString(p)).append(" "); } // trim off trailing space if (sb2.length() > 0) { sb2.deleteCharAt(sb2.length() - 1); } return sb2; } /** * Get a command line argument's tag, enclosing in brackets if optional, * and twice, followed by '...', if multi-valued. * * @param p the argument * @return the argument's tag, as a string */ private String argTagToString(Parameter p) { int maxExpectedStringLen = 50; StringBuffer sb2 = new StringBuffer(maxExpectedStringLen); String argstr; if (p.isOptional()) { argstr = "[" + p.getTag() + "]"; } else { argstr = p.getTag(); } sb2.append(argstr); if (p.isMultiValued()) { sb2.append("," + argstr + "..."); } return sb2.toString(); } /** * Gets the argument descriptions as a String. * * @param showHidden true if hidden arguments are to be included. * @return the argument descriptions */ private String getArgDescriptions(List args, boolean showHidden) { StringBuffer sb = new StringBuffer(1024); Parameter p; if (args.size() == 0) { return ""; } sb.append("\n") .append(Strings.get("TextUsageFormatter.where")) .append("\n\n"); ArrayList tags = new ArrayList(args.size()); ArrayList desc = new ArrayList(args.size()); for (Iterator itr = args.iterator(); itr.hasNext(); ) { p = (Parameter) itr.next(); if (p.isHidden() && !showHidden) { continue; } tags.add(p.getTag()); desc.add(p.getDesc() + " (" + ((p.isOptional()) ? Strings.get("TextUsageFormatter.optional") : Strings.get("TextUsageFormatter.required")) + ")" + ((p.isHidden()) ? (" (" + Strings.get("TextUsageFormatter.hidden") + ")") : "")); } sb.append(sHelper.formatLabeledList( (String[])tags.toArray(new String[tags.size()]), (String[])desc.toArray(new String[desc.size()]), " = ", 20, lineLength)); // remove trailing newline return sb.deleteCharAt(sb.length() - 1).toString(); } /** * Gets the option descriptions as a String. * * @param showHidden true if hidden options are to be included. * @return the option descriptions */ private String getOptDescriptions(Map options, boolean showHidden) { if (options.size() == 0) { return ""; } ArrayList sortedOptions = new ArrayList(options.keySet()); Collections.sort(sortedOptions); ArrayList labels = new ArrayList(options.size()); ArrayList desc = new ArrayList(options.size()); Parameter p; for (Iterator itr = sortedOptions.iterator(); itr.hasNext(); ) { p = (Parameter) options.get(itr.next()); if (p.isHidden() && !showHidden) { continue; } labels.add("-" + p.getTag() + " " + p.getOptionLabel()); desc.add(p.getDesc() + " (" + ((p.isOptional()) ? Strings.get("TextUsageFormatter.optional") : Strings.get("TextUsageFormatter.required")) + ")" + ((p.isHidden()) ? (" (" + Strings.get("TextUsageFormatter.hidden") + ")") : "")); } StringBuffer sb = new StringBuffer( (sHelper.formatLabeledList( (String[])labels.toArray(new String[labels.size()]), (String[])desc.toArray(new String[desc.size()]), " ", 20, lineLength))); // remove trailing newline return sb.deleteCharAt(sb.length() - 1).toString(); } } pdfsam-1.1.4/jcmdline/src/java/jcmdline/OptionTakesNoValue.java0000644000175000017500000000343310201471366024407 0ustar twernertwerner/* * OptionTakesNoValue.java * * Classes: * public OptionTakesNoValue * * ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is the Java jcmdline (command line management) package. * * The Initial Developer of the Original Code is Lynne Lawrence. * * Portions created by the Initial Developer are Copyright (C) 2002 * the Initial Developer. All Rights Reserved. * * Contributor(s): Lynne Lawrence * * ***** END LICENSE BLOCK ***** */ package jcmdline; /** * An interface indicating an option Paramter that requires no value on the * command line (as for the BooleanParam). *

* When Parmeters implementing this interface are be used as command * line options, they may be specified in two ways: *

 *    -optTag
 *  or
 *    -optTag=value
 * 
* If the first style is used, the option Parameter is passed the return * value of {@link #getDefaultValue()} as its value. *

* Specification of an option Paramter as: *

 *    -optTag value
 * 
* is not valid, and will cause parse errors. * * @author Lynne Lawrence * @version jcmdline Rel. @VERSION@ $Id: OptionTakesNoValue.java,v 1.2 2002/12/07 14:22:06 lglawrence Exp $ */ public interface OptionTakesNoValue { public String getDefaultValue(); } pdfsam-1.1.4/jcmdline/src/java/jcmdline/DateParam.java0000644000175000017500000005567710722330400022523 0ustar twernertwerner/* * DateParam.java * * jcmdline Rel. @VERSION@ $Id: DateParam.java,v 1.2 2002/12/07 14:22:06 lglawrence Exp $ * * Classes: * public DateParam * * ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is the Java jcmdline (command line management) package. * * The Initial Developer of the Original Code is Lynne Lawrence. * * Portions created by the Initial Developer are Copyright (C) 2002 * the Initial Developer. All Rights Reserved. * * Contributor(s): Lynne Lawrence * * ***** END LICENSE BLOCK ***** */ package jcmdline; import java.text.DecimalFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Collection; import java.util.Date; import java.util.Iterator; /** * A parameter that accepts a date as its value. *

* The format for the date is taken from the strings * ResourceBundle. *

* Sample Usage: *

 *     DateParam startDateParam = 
 *         new DateParam("startDate", 
 *                       "start date of report", 
 *                       DateParam.REQUIRED);
 *     DateParam endDateParam = 
 *         new DateParam("endDate", 
 *                       "end date of report", 
 *                       DateParam.REQUIRED);
 * 
 *     // Time for startDate will be the beginning of the day by default.
 *     // Set the time for the end of the report to be the end of the day.
 *     endDateParam.setDefaultTime(23, 59, 58, 999);
 * 
 *     CmdLineHandler cl = new DefaultCmdLineHandler(
 *         "myreport", "report of activity over days",
 *         new Parameter[] {}, 
 *         new Parameter[] { startDateParam, endDateParam });
 *     
 *     cl.parse();
 * 
 *     // Don't need to check isSet() because params are REQUIRED
 *     Date stDate = startDateParam.getDate();
 *     Date enDate = endDateParam.getDate();
 *     .
 *     .
 *  
* * @author Lynne Lawrence * @version jcmdline Rel. @VERSION@ $Id: DateParam.java,v 1.2 2002/12/07 14:22:06 lglawrence Exp $ * @see DateTimeParam * @see TimeParam */ public class DateParam extends AbstractParameter { private static final String sDateFmt = Strings.get("DateParam.dateFormat"); private static final String sTimeFmt = "HH:mm:ss:SSS"; private static final SimpleDateFormat dateFmt = new SimpleDateFormat(sDateFmt); private static final SimpleDateFormat dateFmtWTime = new SimpleDateFormat(sDateFmt + " " + sTimeFmt); private static final DecimalFormat hmsFmt = new DecimalFormat("00"); private static final DecimalFormat msFmt = new DecimalFormat("000"); private Date date = null; /** * The default hours to be added to the date - defaults to 0 * @see #setDefaultTime(int,int,int,int) setDefaultTime() * @see #getDefaultTime() */ private int defaultHours = 0; /** * The default minutes to be added to the date - defaults to 0 * @see #setDefaultTime(int,int,int,int) setDefaultTime() * @see #getDefaultTime() */ private int defaultMinutes = 0; /** * The default seconds to be added to the date - defaults to 0 * @see #setDefaultTime(int,int,int,int) setDefaultTime() * @see #getDefaultTime() */ private int defaultSeconds = 0; /** * The default milliseconds to be added to the date - defaults to 0 * @see #setDefaultTime(int,int,int,int) setDefaultTime() * @see #getDefaultTime() */ private int defaultMilliSeconds = 0; /** * constructor - creates single-valued, optional, public * parameter * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @throws IllegalArgumentException if tag * or are invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() */ public DateParam(String tag, String desc) { this(tag, desc, OPTIONAL, SINGLE_VALUED, PUBLIC); } /** * constructor - creates single-valued, public parameter which will * will be either optional or required, as specified. * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @throws IllegalArgumentException if any of the specified * parameters are invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() */ public DateParam(String tag, String desc, boolean optional) { this(tag, desc, optional, SINGLE_VALUED, PUBLIC); } /** * constructor - creates a public parameter which will * will be either optional or required, and/or multi-valued, as specified. * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @param multiValued {@link Parameter#MULTI_VALUED MULTI_VALUED} if * the parameter can accept multiple values, * {@link Parameter#SINGLE_VALUED SINGLE_VALUED} * if the parameter can contain only a single value * @throws IllegalArgumentException if any of the specified * parameters are invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see Parameter#SINGLE_VALUED SINGLE_VALUED * @see Parameter#MULTI_VALUED MULTI_VALUED */ public DateParam(String tag, String desc, boolean optional, boolean multiValued) { this(tag, desc, optional, multiValued, PUBLIC); } /** * constructor - creates a parameter which will * will be either optional or required, single or multi-valued, and * hidden or public as specified. * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @param multiValued {@link Parameter#MULTI_VALUED MULTI_VALUED} if * the parameter can accept multiple values, * {@link Parameter#SINGLE_VALUED SINGLE_VALUED} * if the parameter can contain only a single value * @param hidden {@link Parameter#HIDDEN HIDDEN} if parameter is * not to be listed in the usage, * {@link Parameter#PUBLIC PUBLIC} otherwise. * @throws IllegalArgumentException if any of the specified * parameters are invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see Parameter#SINGLE_VALUED SINGLE_VALUED * @see Parameter#MULTI_VALUED MULTI_VALUED * @see Parameter#HIDDEN HIDDEN * @see Parameter#PUBLIC PUBLIC */ public DateParam(String tag, String desc, boolean optional, boolean multiValued, boolean hidden) { this.setTag(tag); this.setDesc(desc); this.setOptional(optional); this.setMultiValued(multiValued); this.setHidden(hidden); this.setOptionLabel(sDateFmt); } /** * constructor - creates a single-valued, optional, public, * number parameter whose value must be one of the specified values. * * @param tag the tag associated with this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param acceptableValues the acceptable values for the parameter * @throws IllegalArgumentException if any parameter is * invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see #setAcceptableDates(Date[]) setAcceptableDates() */ public DateParam(String tag, String desc, Date[] acceptableValues) { this(tag, desc, acceptableValues, OPTIONAL, SINGLE_VALUED, PUBLIC); } /** * constructor - creates a single-valued, public, * number parameter whose value must be one of the specified values, * and which is required or optional, as specified. * * @param tag the tag associated with this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param acceptableValues the acceptable values for the parameter * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @throws IllegalArgumentException if any parameter is * invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see #setAcceptableDates(Date[]) setAcceptableDates() * @see Parameter#OPTIONAL OPTIONAL * @see Parameter#REQUIRED REQUIRED */ public DateParam(String tag, String desc, Date[] acceptableValues, boolean optional) { this(tag, desc, acceptableValues, optional, SINGLE_VALUED, PUBLIC); } /** * constructor - creates a public * number parameter whose value must be one of the specified values, * and which is required or optional and/or multi-valued, as specified. * * @param tag the tag associated with this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param acceptableValues the acceptable values for the parameter * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @param multiValued {@link Parameter#MULTI_VALUED MULTI_VALUED} if * the parameter can accept multiple values, * {@link Parameter#SINGLE_VALUED SINGLE_VALUED} * if the parameter can contain only a single value * @throws IllegalArgumentException if any parameter is * invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see #setAcceptableDates(Date[]) setAcceptableDates() * @see Parameter#OPTIONAL OPTIONAL * @see Parameter#REQUIRED REQUIRED * @see Parameter#SINGLE_VALUED SINGLE_VALUED * @see Parameter#MULTI_VALUED MULTI_VALUED */ public DateParam(String tag, String desc, Date[] acceptableValues, boolean optional, boolean multiValued) { this(tag, desc, acceptableValues, optional, multiValued, PUBLIC); } /** * constructor - creates a * Parameter, all of whose options are specified. * * @param tag the tag associated with this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param acceptableValues the acceptable values for the parameter * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @param multiValued {@link Parameter#MULTI_VALUED MULTI_VALUED} if * the parameter can accept multiple values, * {@link Parameter#SINGLE_VALUED SINGLE_VALUED} * if the parameter can contain only a single value * @param hidden {@link Parameter#HIDDEN HIDDEN} if parameter is * not to be listed in the usage, * {@link Parameter#PUBLIC PUBLIC} otherwise. * @throws IllegalArgumentException if any parameter is * invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see #setAcceptableDates(Date[]) setAcceptableDates() * @see Parameter#OPTIONAL OPTIONAL * @see Parameter#REQUIRED REQUIRED * @see Parameter#SINGLE_VALUED SINGLE_VALUED * @see Parameter#MULTI_VALUED MULTI_VALUED * @see Parameter#HIDDEN HIDDEN * @see Parameter#PUBLIC PUBLIC */ public DateParam(String tag, String desc, Date[] acceptableValues, boolean optional, boolean multiValued, boolean hidden) { this.setTag(tag); this.setAcceptableDates(acceptableValues); this.setDesc(desc); this.setOptional(optional); this.setMultiValued(multiValued); this.setHidden(hidden); this.setOptionLabel(sDateFmt); } /** * Verifies that value is valid for this entity - called by * add/setValue(s)(). * * @param value the value to be validated * @throws CmdLineException if value is not valid. */ public void validateValue(String val) throws CmdLineException { super.validateValue(val); try { stringToDate(val); } catch (ParseException e) { throw new CmdLineException(Strings.get( "DateParam.invalidDate", new Object[] { getTag(), sDateFmt })); } } /** * Returns the value of this Parameter as a java.util.Date object. * Should there be more than one value for this Parameter, the first * value will be returned. * * @return the value of this Parameter as a Date object */ public Date getDate() { String sVal = getValue(); Date date = null; if (sVal != null) { try { date = stringToDate(sVal); } catch (ParseException e) { // Should never get here because all values would have been // parsed as part of validateValue(). throw new RuntimeException(e); } } return date; } /** * Returns the values of this Parameter as java.util.Date objects. * * @return The values of this Parameter as Date objects. Note * the the return value may be an empty array if no * values have been set. */ public Date[] getDates() { Collection sVals = getValues(); Date[] dates = new Date[sVals.size()]; int i = 0; for (Iterator itr = sVals.iterator(); itr.hasNext(); ) { try { dates[i] = stringToDate((String)itr.next()); i++; } catch (ParseException e) { // Should never get here because all values would have been // parsed as part of validateValue(). throw new RuntimeException(e); } } return dates; } /** * Gets the format used to parse the date/time values. * * @return the format used to parse the date/time values */ public static String getParseFormat() { return dateFmt.toLocalizedPattern(); } /** * Sets the values that will be acceptable for this Parameter using * Date objects. Any time portion of the Date objects will be stripped. * * @param dates an array of acceptable dates */ public void setAcceptableDates(Date[] dates) { String[] sDates = new String[dates.length]; for (int i = 0; i < dates.length; i++) { sDates[i] = dateFmt.format(dates[i]); } super.setAcceptableValues(sDates); } /** * Gets the acceptable values as Date objects. * * @return The acceptable values as an array of Date objects. * Note that null is returned if acceptable * values have not been set. */ public Date[] getAcceptableDates() { String[] sVals = getAcceptableValues(); if (sVals == null) { return null; } Date[] dates = new Date[sVals.length]; for (int i = 0; i < sVals.length; i++) { try { dates[i] = stringToDate(sVals[i]); } catch (Exception e) { // should never get here - acceptable values parsed on the // way in throw new RuntimeException(e); } } return dates; } /** * Sets acceptable values for this Parameter from a Collection of * Date objects. Any time portion of the Date objects will be stripped. * * @param vals a Collection of java.util.Date objects representing * the acceptable values. * @throws ClassCastException if any member of vals is not * a Date object. */ public void setAcceptableDates(Collection vals) { String[] sVals = new String[vals.size()]; int i = 0; for (Iterator itr = vals.iterator(); itr.hasNext(); ) { date = (Date)itr.next(); sVals[i] = dateFmt.format(date); i++; } super.setAcceptableValues(sVals); } /** * Unsupported. This method is unsupported because, with the date format * coming from a resource bundle, it is not reasonable to code string * values for acceptable values - better to use Date objects. * * @throws UnsupportedOperationException * @see #setAcceptableDates(Date[]) * @see #setAcceptableDates(Collection) */ public void setAcceptableValues(Collection vals) { throw new UnsupportedOperationException(); } /** * Unsupported. This method is unsupported because, with the date format * coming from a resource bundle, it is not reasonable to code string * values for acceptable values - better to use Date objects. * * @throws UnsupportedOperationException * @see #setAcceptableDates(Date[]) * @see #setAcceptableDates(Collection) */ public void setAcceptableValues(String[] vals) { throw new UnsupportedOperationException(); } /** * Sets default values for the time component used to generate the Date * value. * * @param h the hours - 0-23 - defaults to 0 * @param m the minutes - 0-59 - defaults to 0 * @param s the seconds - 0-59 - defaults to 0 * @param ms the milliseconds - 0-999 - defaults to 0 * @throws IllegalArgumentException if any of the parameters are in * error. */ public void setDefaultTime(int h, int m, int s, int ms) { if (h < 0 || h > 23) { throw new IllegalArgumentException(Strings.get( "DateParam.invalidHours", new Object[] { new Integer(h) })); } if (m < 0 || m > 59) { throw new IllegalArgumentException(Strings.get( "DateParam.invalidMinutes", new Object[] { new Integer(m) })); } if (s < 0 || s > 59) { throw new IllegalArgumentException(Strings.get( "DateParam.invalidSeconds", new Object[] { new Integer(s) })); } if (ms < 0 || ms > 999) { throw new IllegalArgumentException(Strings.get( "DateParam.invalidMilliSeconds", new Object[] { new Integer(ms) })); } defaultHours = h; defaultMinutes = m; defaultSeconds = s; defaultMilliSeconds = ms; } /** * Gets default values for the time component used to generate the Date * value. * * @return a 4 element int array, where the elements are * the default hours, minutes, seconds, and milliseconds, in * that order */ public int[] getDefaultTime() { return new int[] { defaultHours, defaultMinutes, defaultSeconds, defaultMilliSeconds }; } /** * Converts a String value to its Date equivalent, filling in default * seconds and milliseconds as necessary. * * @param val the String to be converted * @return the Date object represented by val * @throws ParseException if val will not parse to a Date. */ private Date stringToDate(String val) throws ParseException { String sTime = hmsFmt.format(defaultHours) + ":" + hmsFmt.format(defaultMinutes) + ":" + hmsFmt.format(defaultSeconds) + ":" + msFmt.format(defaultMilliSeconds); return dateFmtWTime.parse(val + " " + sTime); } } pdfsam-1.1.4/jcmdline/src/java/jcmdline/UsageFormatter.java0000644000175000017500000000537510201471366023614 0ustar twernertwerner/* * UsageFormatter.java * * Classes: * public UsageFormatter * * ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is the Java jcmdline (command line management) package. * * The Initial Developer of the Original Code is Lynne Lawrence. * * Portions created by the Initial Developer are Copyright (C) 2002 * the Initial Developer. All Rights Reserved. * * Contributor(s): Lynne Lawrence * * ***** END LICENSE BLOCK ***** */ package jcmdline; import java.util.List; import java.util.Map; /** * Used to format a command's usage. * * @author Lynne Lawrence * @version jcmdline Rel. @VERSION@ $Id: UsageFormatter.java,v 1.2 2002/12/07 14:22:06 lglawrence Exp $ * @see CmdLineHandler */ public interface UsageFormatter { /** * gets the usage for the command * * @param showHidden if true, hidden parameters will be * displayed * @return the usage for the command */ public String formatUsage(String cmdName, String cmdDesc, Map opts, List args, boolean showHidden) ; /** * Gets an error message, reformatted in a manner to "go well with" * the usage statement. For instance, *
     *    formatErrorMsg("invalid filename")
     * 
* Might return: *
     *    ERROR: invalid filename
     * 
* * @param msg the text of the error message * @return the reformatted error message */ public String formatErrorMsg(String msg) ; /** * Sets the maximum line length to use for usage display. The maximum * line length defaults to 80 if this method is not called to set it * otherwise. * * @param lineLength the maximum line length to use for usage display * @see #getLineLength() */ public void setLineLength(int lineLength) ; /** * Gets the maximum line length to use for usage display. * * @return the maximum line length to use for usage display * @see #setLineLength(int) setLineLength() */ public int getLineLength() ; } pdfsam-1.1.4/jcmdline/src/java/jcmdline/FileParam.java0000644000175000017500000005152510711667534022534 0ustar twernertwerner/* * FileParam.java * * Classes: * public FileParam * * ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is the Java jcmdline (command line management) package. * * The Initial Developer of the Original Code is Lynne Lawrence. * * Portions created by the Initial Developer are Copyright (C) 2002 * the Initial Developer. All Rights Reserved. * * Contributor(s): Lynne Lawrence * * ***** END LICENSE BLOCK ***** */ package jcmdline; import java.io.File; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; /** * Encapsulate a command line parameter whose value will be the name of * a file or directory. Attributes, such as whether the value is to be * a file or directory, whether it must be readable, etc, may be specified * and will be validated. *

* Usage: *

 * public static void main(String[] args) {
 * 
 *     FileParam filesArg =
 *         new FileParam("file",
 *                       "a file to be processed - defaults to stdin",
 *                       FileParam.IS_FILE & FileParam.IS_READABLE,
 *                       FileParam.OPTIONAL,
 *                       FileParam.MULTI_VALUED);
 * 
 *     CmdLineHandler cl =
 *         new VersionCmdLineHandler("V 1.0",
 *             "echoFiles",
 *             "echos specified files to stdout",
 *             new Parameter[] {},
 *             new Parameter[] { filesArg } ));
 *
 *     cl.parse(args);
 *
 *     if (filesArg.isSet()) {
 *         for (Iterator itr = filesArg.getFiles().iterator();
 *              itr.hasNext();) {                
 *             processStream(new FileInputStream((File)itr.next()));
 *         }
 *     } else {
 *         processStream(System.in);
 *     }
 * }
 * 
* * @author Lynne Lawrence * @version jcmdline Rel. @VERSION@ $Id: FileParam.java,v 1.2 2002/12/07 14:22:06 lglawrence Exp $ * @see CmdLineParser */ public class FileParam extends AbstractParameter { // Note: attributes are specified with kind of a "reverse map" so // that they can be "ANDed" together when set, which is more natural // since that is the way they are processed. /** * indicates that no file/dir attributes are required or will be checked * @see #setAttributes(int) setAttributes() */ public static final int NO_ATTRIBUTES = 0xffff; /** * indicates that a file or directory specified as a value for this * FileParam must exist * @see #setAttributes(int) setAttributes() */ public static final int EXISTS = 0xfffe; /** * indicates that a file or directory specified as a value for this * FileParam must not exist * @see #setAttributes(int) setAttributes() */ public static final int DOESNT_EXIST = 0xfffd; /** * indicates that a value specified for this FileParam must name an * existing file * @see #setAttributes(int) setAttributes() */ public static final int IS_FILE = 0xfffb; /** * indicates that a value specified for this FileParam must name an * existing directory * @see #setAttributes(int) setAttributes() */ public static final int IS_DIR = 0xfff7; /** * indicates that a value specified for this FileParam must name an * existing file or directory for which the caller has read access * @see #setAttributes(int) setAttributes() */ public static final int IS_READABLE = 0xffef; /** * indicates that a value specified for this FileParam must name an * existing file or directory for which the caller has write access * @see #setAttributes(int) setAttributes() */ public static final int IS_WRITEABLE = 0xffdf; /** * the default label that will represent option values for this Parameter * where {@link #IS_DIR} is not set. * The following demonstrates a possible usage for a FileParam option, * where the option label is '<file>': *
     *    out <file>  the output file
     * 
* @see AbstractParameter#setOptionLabel(String) setOptionLabel() * @see "FileParam.defaultFileOptionLabel in 'strings' properties * file" */ public static final String DEFAULT_FILE_OPTION_LABEL = Strings.get("FileParam.defaultFileOptionLabel"); /** * the default label that will represent option values for this Parameter * where {@link #IS_DIR} is set. The following demonstrates a possible * usage for a FileParam option, where the option label is * '<dir>': *
     *    out <dir>  the directory in which files will be created
     * 
* @see AbstractParameter#setOptionLabel(String) setOptionLabel() * @see "FileParam.defaultDirOptionLabel in 'strings' properties * file" */ public static final String DEFAULT_DIR_OPTION_LABEL = Strings.get("FileParam.defaultDirOptionLabel"); /** * Attributes which a file/directory value must have * @see #setAttributes(int) setAttributes() * @see #getAttributes() */ private int attributes; /** * constructor - creates single-valued, optional, public parameter * which accepts any valid file or directory name as its value * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @throws IllegalArgumentException if tag * or are invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() */ public FileParam(String tag, String desc) { this(tag, desc, NO_ATTRIBUTES, OPTIONAL, SINGLE_VALUED, PUBLIC); } /** * constructor - creates single-valued, public parameter which accepts * any valid file or directory name as its value and is optional or * required, as specified. * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @throws IllegalArgumentException if any of the specified * parameters are invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see Parameter#OPTIONAL OPTIONAL * @see Parameter#REQUIRED REQUIRED */ public FileParam(String tag, String desc, boolean optional) { this(tag, desc, NO_ATTRIBUTES, optional, SINGLE_VALUED, PUBLIC); } /** * constructor - creates a single-valued, optional, public, parameter * accepts a file or directory name with the specified attributes. * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param attributes the attributes that must apply to a file or * directory specified as a value to this FileParam * @throws IllegalArgumentException if any parameter is * invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see #setAttributes(int) setAttributes() */ public FileParam(String tag, String desc, int attributes) { this(tag, desc, attributes, OPTIONAL, SINGLE_VALUED, PUBLIC); } /** * constructor - creates a single-valued, public, parameter * that accepts a file or directory name with the specified attributes, * and which is required or optional, as specified. * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param attributes the attributes that must apply to a file or * directory specified as a value to this FileParam * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @throws IllegalArgumentException if any parameter is * invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see #setAttributes(int) setAttributes() * @see Parameter#OPTIONAL OPTIONAL * @see Parameter#REQUIRED REQUIRED */ public FileParam(String tag, String desc, int attributes, boolean optional) { this(tag, desc, attributes, optional, SINGLE_VALUED, PUBLIC); } /** * constructor - creates a public parameter that accepts a file or * directory name with the specified attributes, and which is required * or optional and/or multi-valued, as specified. * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param attributes the attributes that must apply to a file or * directory specified as a value to this FileParam * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @param multiValued {@link Parameter#MULTI_VALUED MULTI_VALUED} if * the parameter can accept multiple values, * {@link Parameter#SINGLE_VALUED SINGLE_VALUED} * if the parameter can contain only a single value * @throws IllegalArgumentException if any parameter is * invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see #setAttributes(int) setAttributes() * @see Parameter#OPTIONAL OPTIONAL * @see Parameter#REQUIRED REQUIRED * @see Parameter#SINGLE_VALUED SINGLE_VALUED * @see Parameter#MULTI_VALUED MULTI_VALUED */ public FileParam(String tag, String desc, int attributes, boolean optional, boolean multiValued) { this(tag, desc, attributes, optional, multiValued, PUBLIC); } /** * constructor - creates a parameter that accepts a file or directory * name with the specified attributes, and which is required or optional * and/or multi-valued or hidden, as specified. *

* If the IS_DIR attribute is specified, the option label for * this FileParam will be set to {@link #DEFAULT_DIR_OPTION_LABEL}, * else it will be {@link #DEFAULT_FILE_OPTION_LABEL}. * * @param tag a unique identifier for this parameter * @param desc a description of the parameter, suitable for display * in a usage statement * @param attributes the attributes that must apply to a file or * directory specified as a value to this FileParam * @param optional {@link Parameter#OPTIONAL OPTIONAL} if * optional, * {@link Parameter#REQUIRED REQUIRED} if required * @param multiValued {@link Parameter#MULTI_VALUED MULTI_VALUED} if * the parameter can accept multiple values, * {@link Parameter#SINGLE_VALUED SINGLE_VALUED} * if the parameter can contain only a single value * @param hidden {@link Parameter#HIDDEN HIDDEN} if parameter is * not to be listed in the usage, * {@link Parameter#PUBLIC PUBLIC} otherwise. * @throws IllegalArgumentException if any parameter is * invalid. * @see AbstractParameter#setTag(String) setTag() * @see AbstractParameter#setDesc(String) setDesc() * @see AbstractParameter#setOptionLabel(String) setOptionLabel() * @see #setAttributes(int) setAttributes() * @see Parameter#OPTIONAL OPTIONAL * @see Parameter#REQUIRED REQUIRED * @see Parameter#SINGLE_VALUED SINGLE_VALUED * @see Parameter#MULTI_VALUED MULTI_VALUED * @see Parameter#HIDDEN HIDDEN * @see Parameter#PUBLIC PUBLIC */ public FileParam(String tag, String desc, int attributes, boolean optional, boolean multiValued, boolean hidden) { this.setTag(tag); this.setAttributes(attributes); this.setDesc(desc); this.optional = optional; this.multiValued = multiValued; this.hidden = hidden; this.setOptionLabel(attrSpecified(IS_DIR) ? DEFAULT_DIR_OPTION_LABEL : DEFAULT_FILE_OPTION_LABEL); } /** * Gets the value of the FileParam as a File object. If the FileParam is * multi-valued, the first value is returned. * * @return the value as a File object * @throws RuntimeException if the value of the FileParam * has not been set. * @see Parameter#isSet() */ public File getFile() { if (!set) { throw new RuntimeException(Strings.get( "FileParam.valueNotSet", new Object[] { tag })); } return new File((String)values.get(0)); } /** * Gets the values of the FileParam as a Collection of File objects. * If the FileParam has no values, an empty Collection is returned. * * @return a Collection of File objects, possibly empty * @see Parameter#isSet() */ public Collection getFiles() { ArrayList vals = new ArrayList(values.size()); for (Iterator itr = values.iterator(); itr.hasNext(); ) { vals.add(new File((String)itr.next())); } return vals; } /** * Validates a prospective value for the FileParam - called by * add/setValue(s)(). All of the attributes are validated and the a * CmdLineException is thrown if any are not satisfied. * * @param val the value to validate * @throws CmdLineException if value is not valid. * @see #setAttributes(int) setAttributes() */ public void validateValue(String val) throws CmdLineException { super.validateValue(val); File f = null; try { f = new File(val); } catch (Exception e) { throwIllegalValueException(val); } if (attrSpecified(IS_DIR) && !f.isDirectory()) { throwIllegalValueException(val); } if (attrSpecified(IS_FILE) && !f.isFile()) { throwIllegalValueException(val); } if (attrSpecified(EXISTS) && !f.exists()) { throwIllegalValueException(val); } if (attrSpecified(DOESNT_EXIST) && f.exists()) { throwIllegalValueException(val); } if (attrSpecified(IS_READABLE) && !f.canRead()) { throwIllegalValueException(val); } if (attrSpecified(IS_WRITEABLE) && !f.canWrite()) { throwIllegalValueException(val); } } /** * Indicates whether an attribute has been specified for this FileParam. * * @param attr one of {@link #NO_ATTRIBUTES}, {@link #EXISTS}, * {@link #DOESNT_EXIST}, {@link #IS_DIR}, * {@link #IS_FILE}, {@link #IS_READABLE}, or * {@link #IS_WRITEABLE} * @return true if the attribute is set, * false if the attribute is not set or * attr is not a valid attribute */ public boolean attrSpecified(int attr) { if (!(attr == EXISTS || attr == NO_ATTRIBUTES || attr == DOESNT_EXIST || attr == IS_DIR || attr == IS_FILE || attr == IS_READABLE || attr == IS_WRITEABLE)) { return false; } return (((attributes | attr) ^ 0xffff) != 0); } /** * Sets the value of attributes. Multiple attributes may be specified * by ANDing them together. If multiple attributes are specified, * all conditions must be met for a parameter value to be considered * valid. For example: *

     *    FileParam fp = new FileParam("tempDir", 
     *            "a directory in which temporary files can be stored", 
     *            FileParam.IS_DIR & FileParam.IS_WRITEABLE);
     * 
* In this case, a valid parameter value would have to be both a * directory and writeable. *

* Specify NO_ATTRIBUTES if none of the other attributes is * required. * * @param attributes a combination of {@link #NO_ATTRIBUTES}, * {@link #EXISTS}, * {@link #DOESNT_EXIST}, * {@link #IS_DIR}, {@link #IS_FILE}, * {@link #IS_READABLE}, and {@link #IS_WRITEABLE} * @throws IllegalArgumentException if the attributes value * is invalid. * @see #getAttributes() */ public void setAttributes(int attributes) { if ((attributes ^ 0xffff) >= ((IS_WRITEABLE ^ 0xffff) * 2)) { throw new IllegalArgumentException(Strings.get( "FileParam.invalidAttributes", new Object[] { new Integer(attributes) })); } this.attributes = attributes; } /** * gets the value of attributes * * @return The attributes specified for this FileParam * @see #setAttributes(int) setAttributes() */ public int getAttributes() { return attributes; } /** * Throws a nicely formatted error message when an invalid value is * attempted to be validated. * * @param val the value that failed validation * @return doesn't - throws a CmdLineException * @throws CmdLineException - that's its goal! */ private void throwIllegalValueException (String val) throws CmdLineException { String s1; if (attrSpecified(IS_DIR)) { s1 = Strings.get("FileParam.directory"); } else if (attrSpecified(IS_FILE)) { s1 = Strings.get("FileParam.file"); } else { s1 = Strings.get("FileParam.file_dir"); } String s2; if (attrSpecified(EXISTS) || attrSpecified(IS_DIR) || attrSpecified(IS_FILE) || attrSpecified(IS_READABLE) || attrSpecified(IS_WRITEABLE)) { s2 = Strings.get("FileParam.an_existing"); } else { s2 = Strings.get("FileParam.a"); } String s3 = ""; if (attrSpecified(IS_READABLE)) { if (attrSpecified(IS_WRITEABLE)) { s3 = Strings.get("FileParam.readable_writeable"); } else { s3 = Strings.get("FileParam.readable"); } } else if (attrSpecified(IS_WRITEABLE)) { s3 = Strings.get("FileParam.writeable"); } throw new CmdLineException(Strings.get( "FileParam.illegalValue", new Object[] { s2, s1, s3, val, tag })); } } pdfsam-1.1.4/jcmdline/src/java/jcmdline/VersionCmdLineHandler.java0000644000175000017500000001731110201471366025034 0ustar twernertwerner/* * VersionCmdLineHandler.java * * Classes: * public VersionCmdLineHandler * * ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is the Java jcmdline (command line management) package. * * The Initial Developer of the Original Code is Lynne Lawrence. * * Portions created by the Initial Developer are Copyright (C) 2002 * the Initial Developer. All Rights Reserved. * * Contributor(s): Lynne Lawrence * * ***** END LICENSE BLOCK ***** */ package jcmdline; import java.util.Collection; /** * A CmdLineHandler Decorator class that implements a -version option. *

* The implemented option is a BooleanParam whose tag is defined by * "VersionCmdLineHandler.version.tag" in the strings.properties * file (set to "version", in English). *

* Should the user specify this option on the command line, the command's * version is printed to stdout, and System.exit(0) is called. *

* Information on using CmdLineHandlers can be found in the jcmdline * User Guide. * * @author Lynne Lawrence * @version jcmdline Rel. @VERSION@ $Id: VersionCmdLineHandler.java,v 1.2 2002/12/07 14:22:06 lglawrence Exp $ * @see CmdLineHandler * @see AbstractHandlerDecorator */ public class VersionCmdLineHandler extends AbstractHandlerDecorator { /** * a parameter that will cause the usage to be displayed */ private BooleanParam versionOpt; /** * the command's version */ private String version; /** * constructor * * @param version the command's version * @param handler the CmdLineHandler to which most functionality * will be delegated * @throws IllegalArgumentException if version is null or * empty. */ public VersionCmdLineHandler (String version, CmdLineHandler handler) { super(handler); if (version == null || version.length() == 0) { throw new IllegalArgumentException(Strings.get( "VersionCmdLineHandler.versionEmptyError")); } this.version = version; versionOpt = new BooleanParam( Strings.get("VersionCmdLineHandler.version.tag"), Strings.get("VersionCmdLineHandler.version.desc")); versionOpt.setIgnoreRequired(true); setCustomOptions(new Parameter[] { versionOpt }); } /** * constructor - creates a new DefaultCmdLineHandler as its delegate * * @param version the command's version * @param cmdName the name of the command * @param cmdDesc a short description of the command * @param options a collection of Parameter objects, describing the * command's command-line options * @param args a collection of Parameter objects, describing the * command's command-line arguments (what is left on * the command line after all options and their * parameters have been processed) * @param parser a CmdLineParser to be used to parse the command line * @throws IllegalArgumentException if any of the * parameters are not correctly specified. * @see DefaultCmdLineHandler */ public VersionCmdLineHandler (String version, String cmdName, String cmdDesc, Parameter[] options, Parameter[] args, CmdLineParser parser) { this(version, new DefaultCmdLineHandler(cmdName, cmdDesc, options, args, parser)); } /** * constructor - creates a new DefaultCmdLineHandler as its delegate * * @param version the command's version * @param cmdName the name of the command * @param cmdDesc a short description of the command * @param options a collection of Parameter objects, describing the * command's command-line options * @param args a collection of Parameter objects, describing the * command's command-line arguments (what is left on * the command line after all options and their * parameters have been processed) * @throws IllegalArgumentException if any of the * parameters are not correctly specified. * @see DefaultCmdLineHandler */ public VersionCmdLineHandler (String version, String cmdName, String cmdDesc, Parameter[] options, Parameter[] args) { this(version, new DefaultCmdLineHandler(cmdName, cmdDesc, options, args)); } /** * constructor - uses the PosixCmdLineParser to parse the command line * * @param version the command's version * @param cmdName the name of the command creating this * DefaultCmdLineHandler * @param cmdDesc a short description of the command's purpose * @param options a collection of Parameter objects, describing the * command's command-line options * @param args a collection of Parameter objects, describing the * command's command-line arguments (what is left on * the command line after all options and their * parameters have been processed) * @throws IllegalArgumentException if any of the * parameters are not correctly specified. * @see #setCmdName(String) setCmdName() * @see #setCmdDesc(String) setCmdDesc() * @see #setOptions(Parameter[]) setOptions() * @see PosixCmdLineParser */ public VersionCmdLineHandler (String version, String cmdName, String cmdDesc, Collection options, Collection args) { this(version, new DefaultCmdLineHandler(cmdName, cmdDesc, options, args)); } /** * Called following the call to parse() of this class's * contained CmdLineHandler. This method only checks for its option if * parseStatus is true. * * @param parseStatus The result of the parse() call to this * class's contained CmdLineHandler. * @return This method will call System.exit(0), rather * than returning, if its option is set. * Otherwise, parseStatus is returned. */ protected boolean processParsedOptions(boolean parseOk) { if (parseOk) { if (versionOpt.isTrue()) { System.out.println(version); System.exit(0); } } return parseOk; } } pdfsam-1.1.4/jcmdline/src/java/jcmdline/StringFormatHelper.java0000644000175000017500000002604510201471366024440 0ustar twernertwerner/* * StringFormatHelper.java * * jcmdline Rel. @VERSION@ $Id: StringFormatHelper.java,v 1.2 2002/12/07 14:22:06 lglawrence Exp $ * * Classes: * public StringFormatHelper * * ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is the Java jcmdline (command line management) package. * * The Initial Developer of the Original Code is Lynne Lawrence. * * Portions created by the Initial Developer are Copyright (C) 2002 * the Initial Developer. All Rights Reserved. * * Contributor(s): Lynne Lawrence * * ***** END LICENSE BLOCK ***** */ package jcmdline; /** * A class used to facilitate common String formatting tasks. *

* Objects of this class contain no data. As such, this class is * implemented as a Singleton. * * @author Lynne Lawrence * @version jcmdline Rel. @VERSION@ $Id: StringFormatHelper.java,v 1.2 2002/12/07 14:22:06 lglawrence Exp $ */ public class StringFormatHelper { /** * The one and only instance of the StringFormatHelper */ private static StringFormatHelper helper; /** * constructor - private */ private StringFormatHelper() { } /** * Gets the one and only instance of the StringFormatHelper * @return the one and only instance of the StringFormatHelper */ public static StringFormatHelper getHelper() { if (helper == null) { helper = new StringFormatHelper(); } return helper; } /** * Formats a string with a hanging indent. *

The returned String is formated such that: *

    *
  • all lines it contains have length <= lineLen *
  • all lines except for the first on are indented indent * spaces *
* * @param indent the number of spaces to indent all but the * first line (may be 0) * @param lineLen the maximum line length * @param s the string to be formatted * @return the formatted string * @throws IllegalArgumentException if lineLen is less than * indent or if lineLen is less than 0. */ public String formatHangingIndent(String s, int indent, int lineLen) { if (s == null || s.length() == 0) { return ""; } if (lineLen <= indent) { throw new IllegalArgumentException(Strings.get( "StringFormatHelper.lineLenLessThanIndent")); } if (lineLen <= 0) { throw new IllegalArgumentException(Strings.get( "StringFormatHelper.lineLenZero")); } // guesstimate required buffer length, leaving enough room for line // terminators StringBuffer sb = new StringBuffer( s.length() + (s.length()/lineLen-indent) + 20); String[] a = breakString(s, lineLen); sb.append(a[0]); if (a[1] != null) { sb.append(formatBlockedText(a[1], indent, lineLen)); } return sb.toString(); } /** * Splits the specified String into lines that are indented by the * specified indent and are of length less than or equal to the * specified line length. *

* If s is null or empty, an empty String is returned. * * @param s the String to be formatted * @param indent the length of the indent for the text block * @param lineLen the maximum line length for the text block, * including the indent * @return the formatted text block * @throws IllegalArgumentException if lineLen is less than * indent or if lineLen is less than 0. */ public String formatBlockedText(String s, int indent, int lineLen) { if (s == null || s.length() == 0) { return ""; } if (lineLen <= indent) { throw new IllegalArgumentException(Strings.get( "StringFormatHelper.lineLenLessThanIndent")); } if (lineLen <= 0) { throw new IllegalArgumentException(Strings.get( "StringFormatHelper.lineLenZero")); } // guesstimate required buffer length, leaving enough room for line // terminators StringBuffer sb = new StringBuffer( s.length() + (s.length()/lineLen-indent) + 20); StringBuffer indentBuf = new StringBuffer(indent); for (int i = 0; i < indent; i++) { indentBuf.append(" "); } int splitLen = lineLen - indent; String[] a = breakString(s, splitLen); while (a[1] != null) { sb.append(indentBuf).append(a[0]); a = breakString(a[1], splitLen); } sb.append(indentBuf).append(a[0]); return sb.toString(); } /** * Breaks a String along word boundarys to the specified maximum length. *

* This method returns an array of two strings: *

* The first String is a line, of length less than maxLen. * If this String is not the entire passed String, it will * be terminated with a newline. *

* The second String is the remainder of the original String. If the * original String had been broken on a space (as opposed to a newline * that had been in the original String) all leading spaces will have * been removed. If there is no remainder, null is returned as the * second String and no newline will have been appended to the first * String. * * @param s The String to be broken. If null, will be * converted to an empty string. * @param maxLen the maximum line length of the first returned * string * @return see the method description */ protected String[] breakString(String s, int maxLen) { s = (s == null) ? "" : s; String line = null; String remainder = null; int idx; if ((idx = s.indexOf('\n')) != -1 && idx <= maxLen) { idx++; // point to next char line = s.substring(0, idx); if (idx < s.length()) { remainder = s.substring(idx); } } else if (s.length() <= maxLen) { line = s; } else if ((idx = s.lastIndexOf(' ', maxLen)) != -1) { line = s.substring(0, idx); while (idx < s.length() && s.charAt(idx) == ' ') { idx++; } if (idx < s.length()) { line += "\n"; remainder = s.substring(idx); } } else { line = s.substring(0, maxLen) + "\n"; remainder = s.substring(maxLen); } return new String[] { line, remainder }; } /** * Formats a "labeled list" (like a bullet or numbered list, only with * labels for each item). *

* Example: *

     * System.out.println(formatLabeledList(
     *    new String[] { "old_file", "new_file" },
     *    new String[] { "the name of the file to copy - this file " +
     *                       "must already exist, be readable, and " +
     *                       "end with '.html'",
     *                   "the name of the file to receive the copy" },
     *    " = ", 20, 80));
     * 
* produces.... *
     * old_file = the name of the file to copy - this file must already exist, be
     *            readable, and end with '.html'
     * new_file = the name of the file to copy to
     * 
* * @param labels An array of labels. * @param texts An array of texts to go with the labels. * @param divider The divider to go between the labels and texts. This * will be right-aligned against the texts. * @param maxIndent Specifies the maximum indent for the text to be * written out. If the combination of a label and * divider is longer than maxIndent, the text will * be written out in a block starting on the line * following the label and divider, rather than on the * same line. * @param lineLen The maximum length of returned lines. * @return The formatted list. It will be terminated with a * newline. * @throws IllegalArgumentException if labels and text * do not have the same number of elements. */ public String formatLabeledList(String[] labels, String[] texts, String divider, int maxIndent, int lineLen) { if (labels.length != texts.length) { throw new IllegalArgumentException(Strings.get( "StringFormatHelper.labelDescriptionError", new Object[] { new Integer(labels.length), new Integer(texts.length) })); } // Figure out description indents int indent = 0; int dividerlen = divider.length(); int currlen; for (int i = 0; i < labels.length; i++) { currlen = labels[i].length() + dividerlen; if (currlen > maxIndent) { continue; } else if (currlen > indent) { indent = currlen; } } // All labels+divider > maxIndent? - use indent of 10 indent = (indent == 0) ? 10 : indent; // will fit 20 80-char lines without expansion StringBuffer list = new StringBuffer(1600); // will fit 5 lines per list item without expansion StringBuffer item = new StringBuffer(400); for (int i = 0; i < labels.length; i++) { item.delete(0, item.length()); item.append(labels[i]); int spacefill = indent - divider.length(); while (item.length() < spacefill) { item.append(' '); } item.append(divider); if (item.length() > indent) { item.append("\n"); } item.append(texts[i]); list.append(formatHangingIndent(item.toString()+ "\n", indent, lineLen)); } return list.toString(); } } pdfsam-1.1.4/pdfsam-langpack-br1/0000755000175000017500000000000011154256456016450 5ustar twernertwernerpdfsam-1.1.4/pdfsam-langpack-br1/ant/0000755000175000017500000000000011154256452017226 5ustar twernertwernerpdfsam-1.1.4/pdfsam-langpack-br1/ant/build.properties0000644000175000017500000000046111154256452022444 0ustar twernertwerner#where classes are compiled, jars distributed, javadocs created and release created build.dir=/media/LACIE/build #libraries libs.dir=/media/LACIE/pdfsam/workspace-enhanced/pdfsam-maine/lib pdfsam.release.jar.dir=/media/LACIE/build/pdfsam-maine/release/jar pdfsam-langpack.jar.name=pdfsam-langpack pdfsam-1.1.4/pdfsam-langpack-br1/ant/build.xml0000644000175000017500000003162511163705456021061 0ustar twernertwerner pdfsam-1.1.4/pdfsam-langpack-br1/src/0000755000175000017500000000000011154256452017233 5ustar twernertwernerpdfsam-1.1.4/pdfsam-langpack-br1/src/java/0000755000175000017500000000000011154256452020154 5ustar twernertwernerpdfsam-1.1.4/pdfsam-langpack-br1/src/java/org/0000755000175000017500000000000011154256452020743 5ustar twernertwernerpdfsam-1.1.4/pdfsam-langpack-br1/src/java/org/pdfsam/0000755000175000017500000000000011154256452022215 5ustar twernertwernerpdfsam-1.1.4/pdfsam-langpack-br1/src/java/org/pdfsam/i18n/0000755000175000017500000000000011154256454022776 5ustar twernertwernerpdfsam-1.1.4/pdfsam-langpack-br1/src/java/org/pdfsam/i18n/resources/0000755000175000017500000000000011154256454025010 5ustar twernertwernerpdfsam-1.1.4/pdfsam-langpack-br1/src/java/org/pdfsam/i18n/resources/Messages_lt.properties0000644000175000017500000005277111225342444031402 0ustar twernertwerner# Lithuanian translation for pdfsam # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the pdfsam package. # FIRST AUTHOR , 2008. # !=Project-Id-Version\: pdfsam\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2009-07-09 12\:23+0200\nPO-Revision-Date\: 2008-12-11 15\:19+0000\nLast-Translator\: Simas J \nLanguage-Team\: Lithuanian \nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Launchpad-Export-Date\: 2008-12-20 15\:44+0000\nX-Generator\: Launchpad (build Unknown)\n Merge\ options=Sujungimo parametrai PDF\ documents\ contain\ forms=PDF dokumente yra formos Merge\ type=Sujungimo tipas Unchecked=Nepa\u017eym\u0117ta Use\ this\ merge\ type\ for\ standard\ pdf\ documents=Naudoti \u0161\u012f sujungimo tip\u0105 standartiniams Checked=Pa\u017eym\u0117tas Use\ this\ merge\ type\ for\ pdf\ documents\ containing\ forms=Naudoti \u0161\u012f sujungimo tip\u0105 pdf dokumentams turintiem formas Note=Pastaba Setting\ this\ option\ the\ documents\ will\ be\ completely\ loaded\ in\ memory=Nusta\u010dius \u0161\u012f parametr\u0105 dokumentai bus \u012fkraunami \u012f atmint\u012f Destination\ output\ file=Rezultato failas Error\:\ =Klaida\: Browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ file.=Norodykite piln\u0105 keli\u0105 iki katalogo, kuriame ra\u0161yti rezultat\u0173 fail\u0105 Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ file\ if\ it\ already\ exists.=Pa\u017eym\u0117kite langel\u012f jei norite perra\u0161yti rezultat\u0173 fail\u0105 jei toks failas jau egzistuoja Check\ the\ box\ if\ you\ want\ compressed\ output\ files.=Pa\u017eym\u0117kite langel\u012f, jei norite suspausti rezultat\u0173 fail\u0105 PDF\ version\ 1.5\ or\ above.=PDF versija 1.5 arba auk\u0161tesn\u0117 Set\ the\ pdf\ version\ of\ the\ ouput\ document.=Nustatykite pdf versij\u0105 rezultat\u0173 dokumentui Please\ wait\ while\ all\ files\ are\ processed..=Palaukite kol failai apdorojami Found\ a\ password\ for\ input\ file.=\u012ekeliamamas failas apsaugotas slapta\u017eod\u017eiu Please\ select\ at\ least\ one\ pdf\ document.=Pra\u0161ome pasirinkti bent vien\u0105 pdf dokument\u0105 Warning=\u012esp\u0117jimas Execute\ pdf\ merge=\u012evykdyti pdf dokument\u0173 sujungim\u0105 Merge/Extract=Sujungti/I\u0161traukti Merge\ section\ loaded.=Sujungimo dalis \u012fkrauta Export\ as\ xml=Eksportuoti xml formatu Unable\ to\ save\ xml\ file.=Ne\u012fmanoma i\u0161saugoti xml failo Ok=Gerai File\ xml\ saved.=xml failas i\u0161saugotas Error\ saving\ xml\ file,\ output\ file\ is\ null.=Klaida i\u0161saugant xml fail\u0105, rezultato failas yra null Split\ options=Atskyrimo nustatymai Burst\ (split\ into\ single\ pages)=Pli\u016bpsnis (skaidyti po vien\u0105 puslap\u012f) Split\ every\ "n"\ pages=Atskirti kas "n" puslapi\u0173 Split\ even\ pages=Atskirti lyginius puslapius Split\ odd\ pages=Atskirti nelyginius puslapius Split\ after\ these\ pages=Atskirti po \u0161i\u0173 puslapi\u0173 Split\ at\ this\ size=Atskirti pagal dyd\u012f !Split\ by\ bookmarks\ level= Burst=Pli\u016bpsnis Explode\ the\ pdf\ document\ into\ single\ pages=I\u0161skaidyti pdf dokument\u0105 po vien\u0105 puslap\u012f Split\ the\ document\ every\ "n"\ pages=I\u0161skaidyti dokument\u0105 kas "n" puslapi\u0173 Split\ the\ document\ every\ even\ page=I\u0161skaidyti dokument\u0105 atskiriant kas kiekvien\u0105 lygin\u012f puslap\u012f Split\ the\ document\ every\ odd\ page=I\u0161skaidyti dokument\u0105 atskiriant kas kiekvien\u0105 nelygin\u012f puslap\u012f Split\ the\ document\ after\ page\ numbers\ (num1-num2-num3..)=Skaidyti dokument\u0105 po \u0161i\u0173 puslapi\u0173 (num1-num2-num3..) #, fuzzy !Split\ the\ document\ in\ files\ of\ the\ given\ size\ (roughly)=I\u0161skaidyti dokument\u0105 \u012f nurodyto dyd\u017eio (apytiksliai) failus #, fuzzy !Split\ the\ document\ at\ pages\ referred\ by\ bookmarks\ of\ the\ given\ level=I\u0161skaidyti dokument\u0105 \u012f nurodyto dyd\u017eio (apytiksliai) failus Destination\ folder=Paskirties aplankas Same\ as\ source=Toks pats, kaip ir \u0161altinio Choose\ a\ folder=Pasirinkite aplank\u0105 Destination\ output\ directory=Rezultato i\u0161saugojimo aplankas Use\ the\ same\ output\ folder\ as\ the\ input\ file\ or\ choose\ a\ folder.=Rezultatui naudoti t\u0105 pat\u012f aplank\u0105 kuriame yra \u0161altinio failas arba pasirinkite kit\u0105 aplank\u0105 To\ choose\ a\ folder\ browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ directory.=Nar\u0161ykite, kad pasirinktum\u0117te aplank\u0105 arba \u012fra\u0161ykite piln\u0105 keli\u0105 iki aplanko kuriame i\u0161saugoti rezultatus Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ files\ if\ they\ already\ exist.=Pa\u017eym\u0117kite langel\u012f, jei J\u016bs norite perra\u0161yti rezultato failus, jei tokie jau egziztuoja Output\ options=I\u0161vedimo nustatytmai Output\ file\ names\ prefix\:=Rezultato failo pavadinimo prie\u0161d\u0117lis Output\ files\ prefix=Rezultato failo prie\u0161d\u0117lis !If\ it\ contains\ "[CURRENTPAGE]",\ "[TIMESTAMP]",\ "[FILENUMBER]"\ or\ "[BOOKMARK_NAME]"\ it\ performs\ variable\ substitution.= Ex.\ prefix_[BASENAME]_[CURRENTPAGE]\ generates\ prefix_FileName_005.pdf.=Pvz. prie\u0161d\u0117lis_[BASENAME]_[CURRENTPAGE] sugeneruoja prie\u0161d\u0117lis_FileName_005.pdf If\ it\ doesn't\ contain\ "[CURRENTPAGE]",\ "[TIMESTAMP]"\ or\ "[FILENUMBER]"\ it\ generates\ oldstyle\ output\ file\ names.=Jei jis neturi "[CURRENTPAGE]", "[TIMESTAMP]" arba "[FILENUMBER]" - generuojami seno pavyzd\u017eio fail\u0173 pavadinimai !Available\ variables= Invalid\ split\ size=Blogas skaidymo dydis The\ lowest\ available\ pdf\ version\ is\ =\u017demiausia \u012fmanoma pdf versija yra You\ selected\ a\ lower\ output\ pdf\ version,\ continue\ anyway\ ?=Rezultato failui J\u016bs pasirinkote \u017eemesn\u0119 pdf versij\u0105. Vis tiek t\u0119sti? Pdf\ version\ conflict=Pdf versij\u0173 konfliktas Please\ select\ a\ pdf\ document.=Pasirinkite pdf dokument\u0105 Split\ selected\ file=I\u0161skaidyti pasirinkt\u0105 fail\u0105 Split=Suskaidyti Split\ section\ loaded.=Skaidymo dalis \u012fkrauta Invalid\ unit\:\ =Neteisingas matavimo vienetas\: #, fuzzy !Fill\ from\ document=Reversuoti pirm\u0105j\u012f dokument\u0105 !Getting\ bookmarks\ max\ depth= !Frontpage\ pdf\ file= !Addendum\ pdf\ file= Select\ at\ least\ one\ cover\ or\ one\ footer=Pasirinkite bent vien\u0105 vir\u0161el\u012f arba pora\u0161t\u0119\: !Frontpage\ and\ Addendum= Cover\ And\ Footer\ section\ loaded.=Vir\u0161elio ir pora\u0161t\u0117s dalis \u012fkrauta Encrypt\ options=Kodavimo nustatymai Owner\ password\:=Savininko slapta\u017eodis\: Owner\ password\ (Max\ 32\ chars\ long)=Savininko slapta\u017eodis (ne ilgenis kaip 32 simboliai) User\ password\:=Vartotojo slapta\u017eodis\: User\ password\ (Max\ 32\ chars\ long)=Vartotojo slapta\u017eodis (ne ilgesnis kaip 32 simboliai) !Encryption\ algorithm\:= Allow\ all=Leisti visk\u0105 Print=Spausdinti Low\ quality\ print=\u017demos kokyb\u0117s spausdinimas Copy\ or\ extract=Kopijuoti arba i\u0161traukti Modify=Keisti Add\ or\ modify\ text\ annotations=Prid\u0117ti arba keisti teksto anotacij\u0105 Fill\ form\ fields=U\u017epildyti formos laukus Extract\ for\ use\ by\ accessibility\ dev.=I\u0161traukti naudojimui \u012frenginiuose Manipulate\ pages\ and\ add\ bookmarks=Manipuliuoti puslapiais ir prid\u0117ti \u017eymas Check\ the\ box\ if\ you\ want\ compressed\ output\ files\ (Pdf\ version\ 1.5\ or\ higher).=Pa\u017eym\u0117kite langel\u012f jei norite suspausti rezultato fail\u0105 (pdf versija 1.5 arba auk\u0161tesn\u0117) If\ it\ contains\ "[TIMESTAMP]"\ it\ performs\ variable\ substitution.=Jei jis turi "[TIMESTAMP]" - ivykdomas kintamojo pakeitimas. Ex.\ [BASENAME]_prefix_[TIMESTAMP]\ generates\ FileName_prefix_20070517_113423471.pdf.=Pvz. [BASENAME]_prie\u0161d\u0117lis_[TIMESTAMP] sugeneruoja FileName_prie\u0161d\u0117lis_20070517_113423471.pdf. If\ it\ doesn't\ contain\ "[TIMESTAMP]"\ it\ generates\ oldstyle\ output\ file\ names.=Jei jis neturi "[TIMESTAMP]" - generuojami seno pavyzd\u017eio fail\u0173 pavadinimai Available\ variables\:\ [TIMESTAMP],\ [BASENAME].=Galimi kintamieji\: [TIMESTAMP], [BASENAME]. Encrypt\ selected\ files=U\u017e\u0161ifruoti pasirinktus failus Encrypt=U\u017e\u0161ifruoti Encrypt\ section\ loaded.=\u0160ifravimo dalis \u012fkrauta Decrypt\ selected\ files=I\u0161\u0161ifruoti pasirinktus failus Decrypt=I\u0161\u0161ifruoti Decrypt\ section\ loaded.=I\u0161\u0161ifravimo sekcija \u012fkrauta Mix\ options=Mai\u0161ymo nustatytmai Reverse\ first\ document=Reversuoti pirm\u0105j\u012f dokument\u0105 Reverse\ second\ document=Reversuoti antr\u0105j\u012f dokument\u0105 !Number\ of\ pages\ to\ switch\ document= !Tick\ the\ boxes\ if\ you\ want\ to\ reverse\ the\ first\ or\ the\ second\ document\ (or\ both).= !Set\ the\ number\ of\ pages\ to\ switch\ from\ a\ document\ to\ the\ other\ one\ (default\ is\ 1).= Found\ a\ password\ for\ first\ file.=Pirmasis failas apsaugotas slapta\u017eod\u017eiu Found\ a\ password\ for\ second\ file.=Antrasis failas apsaugotas slapta\u017eod\u017eiu Please\ select\ two\ pdf\ documents.=Pasirinkite du pdf dokumentus Execute\ pdf\ alternate\ mix=Vykdyti pdf alternate mix Alternate\ Mix=Alternate mix AlternateMix\ section\ loaded.=AlternateMix dalis \u012fkelta Unpack\ selected\ files=I\u0161skleisti pasirinktus failus Unpack=I\u0161skleisti Unpack\ section\ loaded.=I\u0161skleidimo sekcija \u012fkelta Set\ viewer\ options=Nustatyti \u017ei\u016brykl\u0117s parametrus Hide\ the\ menubar=Pasl\u0117pti meniu juost\u0105 Hide\ the\ toolbar=Pasl\u0117pti \u012franki\u0173 juost\u0105 Hide\ user\ interface\ elements=Pasl\u0117pti vartotojo s\u0105sajos elementus Rezise\ the\ window\ to\ fit\ the\ page\ size=Keisti lango dyd\u012f kad tilpt\u0173 visas puslapis Center\ of\ the\ screen=Ekrano centre Display\ document\ title\ as\ window\ title=Rodyti dukumento antra\u0161t\u0119 kaip lango antra\u0161t\u0119 Pdf\ version\ required\:=Reikalinga pdf versija\: No\ page\ scaling\ in\ print\ dialog=Nerodyti puslapio dyd\u017eio keitimo spausdinimo dialoge Viewer\ layout\:=\u017di\u016brykl\u0117s i\u0161d\u0117stymas Viewer\ open\ mode\:=\u017di\u016brykl\u0117s atidarymo re\u017eimas Non\ fullscreen\ mode\:=Vaizdas ne viso ekrano re\u017eimu Direction\:=Kryptis\: Set\ options=Nustatyti parametrus Set\ viewer\ options\ for\ selected\ files=Nustatyti \u017ei\u016brykl\u0117s parametrus pasirinktiems failams Left\ to\ right=I\u0161 kair\u0117s \u012f de\u0161in\u0119 Right\ to\ left=I\u0161 de\u0161in\u0117s \u012f kair\u0119 None=N\u0117ra Fullscreen=Visame ekrane Attachments=Priedai Optional\ content\ group\ panel=Neprivalomo turinio grup\u0117s skydelis Document\ outline=Dokumento apybrai\u017ea Thumbnail\ images=Glausti paveiksliukai One\ page\ at\ a\ time=Vienas puslapis vienu metu Pages\ in\ one\ column=Puslapiai vienu stulpeliu Pages\ in\ two\ columns\ (odd\ on\ the\ left)=Puslapiai dviem stulpeliais (nelyginiai kair\u0117je) Pages\ in\ two\ columns\ (odd\ on\ the\ right)=Puslapiai dviem stulpeliais (nelyginiai de\u0161in\u0117je) Two\ pages\ at\ a\ time\ (odd\ on\ the\ left)=Du puslapiai vienu metu (nelyginiai kair\u0117je) Two\ pages\ at\ a\ time\ (odd\ on\ the\ right)=Du puslapiai vienu metu (nelyginiai de\u0161in\u0117je) Viewer\ options=\u017di\u016brykl\u0117s nustatymai Viewer\ options\ section\ loaded.=\u017di\u016brykl\u0117s nustatym\u0173 sekcija \u012fkrauta Save\ passwords\ informations\ (they\ will\ be\ readable\ opening\ the\ output\ file)?=I\u0161saugoti slapta\u017eod\u017ei\u0173 informacij\u0105 (jie bus matomi atveriant rezultato fail\u0105)? Confirm\ password\ saving=Patvirtinti slapta\u017eod\u017ei\u0173 i\u0161saugojim\u0105 Unknown\ action.=Ne\u017einomas veiksmas Log\ saved.=\u017durnalas i\u0161saugotas \ node\ environment\ loaded.=\ aplinka \u012fkelta. Environment\ saved.=Aplinka i\u0161saugota Error\ saving\ environment,\ output\ file\ is\ null.=Klaida i\u0161saugant aplink\u0105, rezultato failas yra null. Error\ saving\ environment.=Klaida i\u0161saugant aplink\u0105 Environment\ loaded.=Aplinka \u012fkelta. Error\ loading\ environment.=Klaida \u012fkeliant aplink\u0105 Error\ loading\ environment\ from\ input\ file.\ =Klaida \u012fkeliant aplink\u0105 i\u0161 \u0161altinio Selection\ table\ is\ full,\ please\ remove\ some\ pdf\ document.=Pasirinkim\u0173 lentel\u0117 pilna, pa\u0161alinkite kur\u012f nors pdf dokument\u0105. Table\ full=Lentel\u0117 pilna Please\ wait\ while\ reading=Palaukite kol skaitoma Selected\ file\ is\ not\ a\ pdf\ document.=Pasirinktas failas n\u0117ra pdf dokumentas Error\ loading\ =Klaida \u012fkeliant Command\ validation\ returned\ an\ empty\ value.=Komandos tikrinimas gr\u0105\u017eino tu\u0161\u010di\u0105 reik\u0161m\u0119 Command\ executed.=Komanda \u012fvykdyta File\ name=Failo pavadinimas !Number\ of\ pages= !File\ size= !Pdf\ version= !Encryption= !Not\ encrypted= !Permissions= !Title= Author=Autorius !Subject= !Producer= !Creator= !Creation\ date= !Modification\ date= !Keywords= !Document\ properties= File=Failas !Close= Copy=Kopijuoti !Error\ creating\ properties\ panel.= Run=Vykdyti Browse=Nar\u0161yti Add=Prid\u0117ti Compress\ output\ file/files=Suspausti rezultato fail\u0105/failus Overwrite\ if\ already\ exists=Perra\u0161yti fail\u0105, jei toks jau egzistuoja\: Don't\ preserve\ file\ order\ (fast\ load)=Nei\u0161saugoti fail\u0173 eili\u0161kumo (greitas \u012fkrovimas) Output\ document\ pdf\ version\:=Rezultato dokumento pdf versija\: !The\ cross\ reference\ table\ cantained\ some\ error\ and\ has\ been\ rebuilt= !The\ document\ has\ not\ been\ opened\ with\ the\ owner\ password.\ You\ must\ provide\ the\ owner\ password\ in\ order\ to\ manipulate\ the\ document= !An\ error\ occured\ while\ loading\ the\ document= Same\ as\ input\ document=Tokia pati kaip \u0161altinio dokumento Path=Kelias Pages=Puslapiai Password=Slapta\u017eodis Version=Versija Page\ Selection=Puslapio(-i\u0173) pasirinkimas Total\ pages\ of\ the\ document=I\u0161 viso puslapi\u0173 dokumente Password\ to\ open\ the\ document\ (if\ needed)=Slapta\u017eodis (jei reikalingas dokumento atidarymui) Pdf\ version\ of\ the\ document=Dokumento pdf versija !Double\ click\ to\ set\ pages\ you\ want\ to\ merge\ (ex\:\ 2\ or\ 5-23\ or\ 2,5-7,12-)= Add\ a\ pdf\ to\ the\ list=Prid\u0117ti pdf \u012f s\u0105ra\u0161\u0105 Remove\ a\ pdf\ from\ the\ list=Pa\u0161alinti pdf i\u0161 s\u0105ra\u0161o (Canc)=(Canc) Remove=Pa\u0161alinti Reload=\u012ekelti i\u0161 naujo Error\:\ Unable\ to\ reload\ the\ selected\ file/s.=Klaida\: nepavyko i\u0161 naujo \u012fkelti pasirinkto failo(-\u0173) Unable\ to\ remove\ JList\ text\ =Ne\u012fmanoma pa\u0161alinti JList teksto File\ selected\:\ =Pasirinktas failas\: File\ reloaded\:\ =I\u0161 naujo pakrautas failas\: Move\ Up=Perkelti auk\u0161tyn Move\ up\ selected\ pdf\ file=Perkelti auk\u0161tyn pasirinkt\u0105 pdf fail\u0105 (Alt+ArrowUp)=(Alt + Rodykl\u0117 auk\u0161tyn) Move\ Down=Perkelti \u017eemyn Move\ down\ selected\ pdf\ file=Perkelti \u017eemyn pasirinkt\u0105 fail\u0105 (Alt+ArrowDown)=(Alt + Rodykl\u0117 \u017eemyn) Clear=I\u0161valyti Remove\ every\ pdf\ file\ from\ the\ merge\ list=Pa\u0161alinti kiekvien\u0105 pdf fail\u0105 i\u0161 sujungim\u0173 s\u0105ra\u0161o Set\ output\ file=Nustatyti rezultato fail\u0105 Error\:\ Unable\ to\ get\ the\ file\ path.=Klaida\: nepavyko gauti failo kelio Unable\ to\ get\ the\ default\ environment\ informations.=Nepavyko gauti aplinkos nustatym\u0173 pagal nutyl\u0117jim\u0105 Setting\ look\ and\ feel...=Nustatyti i\u0161vaizd\u0105 Setting\ logging\ level...=Nustatomas \u017eurnalo lygis... Unable\ to\ find\ log\ level,\ setting\ to\ default\ level\ (DEBUG).=Nepavyko rasti \u017eurnalo lygio, nustatomas lygis pagal nutyl\u0117jim\u0105 (DEBUG). Logging\ level\ set\ to\ =Nustatytas \u017eurnalo lygis\: Unable\ to\ set\ logging\ level.=Nepavyko nustatyti \u017eurnalo lygio Error\ getting\ plugins\ directory.=Nepayvko gauti papildini\u0173 aplanko Cannot\ read\ plugins\ directory\ =Nepavyko nuskaityti papildini\u0173 aplanko Plugins\ directory\ is\ null.=Papildini\u0173 aplanko n\u0117ra Found\ zero\ or\ many\ jars\ in\ plugin\ directory\ =Rasta nulis arba daugyb\u0117 jar fail\u0173 papildinio kataloge Exception\ loading\ plugins.=Klaida \u012fkeliant papildinius Cannot\ read\ plugin\ directory\ =Nepavyko nuskaityti papildinio aplanko \ plugin\ loaded.=\ papildinys pakrautas Unable\ to\ load\ a\ plugin\ that\ is\ not\ JPanel\ subclass.=Na\u012fmanoma \u012fkelti papildinio kuris n\u0117ra JPanel klas\u0117s Error\ loading\ class\ =Klaida \u012fkeliant klas\u0119 Select\ all=Pa\u017eym\u0117ti visk\u0105 Save\ log=I\u0161saugoti \u017eurnal\u0105 Save\ environment=I\u0161saugoti aplink\u0105 Load\ environment=\u012ekelti aplink\u0105 Exit=I\u0161eiti Unable\ to\ initialize\ menu\ bar.=Nepavuko inicializuoti meniu juostos started\ in\ =paleista Loading\ plugins..=\u012ekeliami papildiniai... Building\ menus..=Surenkami meniu... Building\ buttons\ bar..=Surenkama mygtuk\u0173 juosta... Building\ status\ bar..=Surenkama statuso juosta... Building\ tree..=Surenkamas katalog\u0173 medis... Loading\ default\ environment.=\u012ekeliama aplinka pagal nutyl\u0117jim\u0105. Error\ starting\ pdfsam.=Klaida paleid\u017eiant pdfsam. Clear\ log=I\u0161valyti \u017eurnal\u0105 Unable\ to\ initialize\ button\ bar.=Nepavyko inicializuoti mygtuk\u0173 juostos Version\:\ =Versija\: Language\:\ =Kalba\: !Developed\ by\:\ = Build\ date\:\ =Surinkimo data\: Java\ home\:\ =Java nam\u0173 katalogas\: Java\ version\:\ =Java versija\: Max\ memory\:\ =Maksimalus atminties kiekis\: Configuration\ file\:\ =Konfig\u016bracijos failas\: Website\:\ =Interneto puslapis\: Name=Pavadinimas About=Apie Unimplemented\ method\ for\ JInfoPanel=Ne\u012fgyvendintas metodas JInfoPanel Contributes\:\ =Prisid\u0117jo\: Log\ level\:=\u017durnalo lygis\: Settings=Nustatymai Look\ and\ feel\:=I\u0161vaizda ir elgsena\: Theme\:=Tema\: Language\:=Kalba\: Check\ for\ updates\:=Tikrinti ar yra atnaujinim\u0173\: Load\ default\ environment\ at\ startup\:=\u012ekelti aplink\u0105 pagal nutyl\u0117jim\u0105\: Default\ working\ directory\:=Darbinis aplankas pagal nutyl\u0117jim\u0105\: Error\ getting\ default\ environment.=Klaida gaunant aplink\u0105 pagal nutyl\u0117jim\u0105. Check\ now=Tikrinti dabar Play\ alert\ sounds=Naudoti \u012fsp\u0117jamuosius garsus Settings\ =Nustatytmai Language=Kalba Set\ your\ preferred\ language\ (restart\ needed)=Nustatyti J\u016bs\u0173 m\u0117gstam\u0105 kalb\u0105 (reik\u0117s paleisti program\u0105 i\u0161 naujo) Look\ and\ feel=I\u0161vaizda ir elgsena Set\ your\ preferred\ look\ and\ feel\ and\ your\ preferred\ theme\ (restart\ needed)=Nustatyti J\u016bs\u0173 m\u0117stam\u0105 i\u0161vaizd\u0105 ir elgsen\u0105, o taip pat J\u016bs\u0173 m\u0117gstam\u0105 tem\u0105 (reik\u0117s paleisti program\u0105 i\u0161 naujo) Log\ level=\u017durnalo lygis Set\ a\ log\ detail\ level\ (restart\ needed)=Nustatyti \u017eurnalo detalumo lyg\u012f (reik\u0117s paleisti prigram\u0105 i\u0161 naujo) Check\ for\ updates=Ie\u0161koti atnaujinim\u0173 Set\ when\ new\ version\ availability\ should\ be\ checked\ (restart\ needed)=Nustatyti, kada tikrinama ar yra nauja versija (reik\u0117s paleisti program\u0105 i\u0161 naujo) Turn\ on\ or\ off\ alert\ sounds=Nenaudoji \u012fsp\u0117jam\u0173j\u0173 gars\u0173 Default\ env.=Aplinka pagal nutyl\u0117jim\u0105 Select\ a\ previously\ saved\ env.\ file\ that\ will\ be\ automatically\ loaded\ at\ startup=Pasirinkti anks\u010diau i\u0161saugot\u0105 aplinkos fail\u0105 kuris bus automati\u0161kai \u012fkeltas programos paleidimo metu Default\ working\ directory=Darbinis aplankas pagal nutyl\u0117jim\u0105 Select\ a\ directory\ where\ documents\ will\ be\ saved\ and\ loaded\ by\ default=Pasirinkti aplank\u0105, kuriame pagal nutyl\u0117jim\u0105 bus saugomi ir \u012fkeliami dokumentai Save=I\u0161saugoti Configuration\ saved.=Konfig\u016bracija i\u0161saugota Unimplemented\ method\ for\ JSettingsPanel=Ne\u012fgyvendintas metodas JSettingsPanel New\ version\ available\:\ =Yra nauja versija\: Plugins=Papildiniai Error\ getting\ pdf\ version\ description.=Klaida gaunant pdf versijos apra\u0161ym\u0105. Version\ 1.2\ (Acrobat\ 3)=Versija 1.2 (Acrobat 3) Version\ 1.3\ (Acrobat\ 4)=Versija 1.3 (Acrobat 4) Version\ 1.4\ (Acrobat\ 5)=Versija 1.4 (Acrobat 5) Version\ 1.5\ (Acrobat\ 6)=Versija 1.5 (Acrobat 6) Version\ 1.6\ (Acrobat\ 7)=Versija 1.6 (Acrobat 7) Version\ 1.7\ (Acrobat\ 8)=Versija 1.7 (Acrobat 8) Never=Niekada pdfsam\ start\ up=pdfsam prad\u017eia Output\ file\ location\ is\ not\ correct=Bloga rezultat\u0173 failo vieta Would\ you\ like\ to\ change\ it\ to=Ar nor\u0117tum\u0117te pakeisti j\u0105 \u012f Output\ location\ error=Rezultato vietos klaida !Selected\ output\ file\ already\ exists\ = !Would\ you\ like\ to\ overwrite\ it?= !Provided\ pages\ selection\ is\ not\ valid= !Limits\ must\ be\ a\ comma\ separated\ list\ of\ "page_number"\ or\ "page_number-page_number"= !Limits\ are\ not\ valid= Checking\ for\ a\ new\ version\ available.=Tikrinti ar yra nauj\u0173 versij\u0173 Error\ checking\ for\ a\ new\ version\ available.=Klaid\u0173 tikrinimas naujoms versijoms Unable\ to\ get\ latest\ available\ version=Nepavyko gauti naujausios i\u0161leistos versijos New\ version\ available.=Yra i\u0161\u0117jusi nauja versija No\ new\ version\ available.=Naujos versijos n\u0117ra Cut=I\u0161kirpti Paste=\u012ed\u0117ti pdfsam-1.1.4/pdfsam-langpack-br1/src/java/org/pdfsam/i18n/resources/Messages_zh_TW.properties0000644000175000017500000006166411225342444032017 0ustar twernertwerner# Traditional Chinese translation for pdfsam # Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 # This file is distributed under the same license as the pdfsam package. # FIRST AUTHOR , 2007. # !=Project-Id-Version\: pdfsam\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2009-07-09 12\:23+0200\nPO-Revision-Date\: 2009-05-06 04\:37+0000\nLast-Translator\: ngacf \nLanguage-Team\: Traditional Chinese \nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Launchpad-Export-Date\: 2009-05-29 14\:40+0000\nX-Generator\: Launchpad (build Unknown)\n Merge\ options=\u5408\u4f75\u9078\u9805 PDF\ documents\ contain\ forms=PDF\u6587\u4ef6\u5305\u542b\u8868\u683c Merge\ type=\u5408\u4f75\u985e\u5225 Unchecked=\u4e0d\u52fe\u9078 Use\ this\ merge\ type\ for\ standard\ pdf\ documents=\u6a19\u6e96\u7684PDF\u6587\u4ef6\u8acb\u4f7f\u7528\u9019\u7a2e\u5408\u4f75\u985e\u5225 Checked=\u52fe\u9078 Use\ this\ merge\ type\ for\ pdf\ documents\ containing\ forms=\u5305\u542b\u8868\u683c\u7684PDF\u6587\u4ef6\u8acb\u4f7f\u7528\u9019\u7a2e\u5408\u4f75\u985e\u5225 Note=\u6ce8\u610f Setting\ this\ option\ the\ documents\ will\ be\ completely\ loaded\ in\ memory=\u4e00\u65e6\u9078\u64c7\u9019\u500b\u9078\u9805\uff0c\u5168\u90e8\u6587\u4ef6\u90fd\u6703\u8f09\u5165\u8a18\u61b6\u9ad4\u4e2d Destination\ output\ file=\u8f38\u51fa\u6a94\u6848\u8def\u5f91 Error\:\ =\u932f\u8aa4\uff1a Browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ file.=\u8acb\u700f\u89bd\u6216\u8f38\u5165\u5b58\u653e\u8f38\u51fa\u6a94\u7684\u5b8c\u6574\u8def\u5f91\u3002 Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ file\ if\ it\ already\ exists.=\u5982\u679c\u60a8\u60f3\u8986\u84cb\u820a\u7684\u8f38\u51fa\u6a94\uff0c\u8acb\u52fe\u9078\u9019\u500b\u9078\u9805\u3002 Check\ the\ box\ if\ you\ want\ compressed\ output\ files.=\u82e5\u60a8\u60f3\u8981\u4e00\u500b\u58d3\u7e2e\u904e\u7684\u8f38\u51fa\u6a94\uff0c\u8acb\u52fe\u9078\u6b64\u9078\u9805\u3002 PDF\ version\ 1.5\ or\ above.=PDF 1.5 \u6216\u66f4\u65b0\u7684\u7248\u672c Set\ the\ pdf\ version\ of\ the\ ouput\ document.=\u8a2d\u5b9a\u8f38\u51fa\u6587\u4ef6\u7684 PDF \u7248\u672c Please\ wait\ while\ all\ files\ are\ processed..=\u6a94\u6848\u8655\u7406\u4e2d\u8acb\u7a0d\u5f85... Found\ a\ password\ for\ input\ file.=\u8f38\u5165\u6a94\u9700\u8981\u5bc6\u78bc Please\ select\ at\ least\ one\ pdf\ document.=\u8acb\u81f3\u5c11\u9078\u53d6\u4e00\u500b PDF \u6587\u4ef6\u3002 Warning=\u8b66\u544a Execute\ pdf\ merge=\u57f7\u884cPDF\u5408\u4f75 Merge/Extract=\u5408\u4f75/\u6458\u9304 Merge\ section\ loaded.=\u5408\u4f75\u5df2\u5b8c\u6210\u3002 Export\ as\ xml=\u8f38\u51fa\u70ba xml \u683c\u5f0f Unable\ to\ save\ xml\ file.=\u7121\u6cd5\u5132\u5b58 xml \u6a94\u3002 Ok=\u78ba\u5b9a File\ xml\ saved.=xml \u6a94\u5df2\u5132\u5b58\u3002 Error\ saving\ xml\ file,\ output\ file\ is\ null.=\u7121\u6cd5\u5132\u5b58 xml \u6a94\uff0c\u8f38\u51fa\u6a94\u662f\u7a7a\u7684\u3002 Split\ options=\u5206\u5272\u9078\u9805 Burst\ (split\ into\ single\ pages)=\u7d30\u5206\uff08\u5206\u5272\u6210\u591a\u500b\u55ae\u9801\uff09 Split\ every\ "n"\ pages=\u6bcf\u9694 "n" \u9801\u5206\u5272\u4e00\u6b21 Split\ even\ pages=\u5206\u5272\u51fa\u5076\u6578\u9801 Split\ odd\ pages=\u5206\u5272\u51fa\u5947\u6578\u9801 Split\ after\ these\ pages=\u5206\u5272\u51fa\u9019\u4e9b\u9801\u9762\u4e4b\u5f8c\u7684\u90e8\u4efd Split\ at\ this\ size=\u4f9d\u6307\u5b9a\u7684\u6a94\u6848\u5927\u5c0f\u5206\u5272 Split\ by\ bookmarks\ level=\u4f9d\u66f8\u7c64\u5c64\u7d1a\u5206\u5272 Burst=\u7d30\u5206 Explode\ the\ pdf\ document\ into\ single\ pages=\u5c07PDF\u6587\u4ef6\u62c6\u6210\u591a\u500b\u55ae\u9801 Split\ the\ document\ every\ "n"\ pages=\u6bcf\u9694 "n" \u9801\u5206\u5272\u4e00\u6b21 Split\ the\ document\ every\ even\ page=\u5206\u5272\u51fa\u6587\u4ef6\u7684\u5076\u6578\u9801 Split\ the\ document\ every\ odd\ page=\u5206\u5272\u51fa\u6587\u4ef6\u7684\u5947\u6578\u9801 Split\ the\ document\ after\ page\ numbers\ (num1-num2-num3..)=\u5206\u5272\u51fa\u9019\u4e9b\u9801\u78bc\u5f8c\u9762\u7684\u90e8\u4efd\uff08\u9801\u78bc1-\u9801\u78bc2-\u9801\u78bc3...\uff09 Split\ the\ document\ in\ files\ of\ the\ given\ size\ (roughly)=\u5c07\u6587\u4ef6\u5206\u5272\u70ba\u6307\u5b9a\u7684\u6a94\u6848\u5927\u5c0f\uff08\u7d04\u7565\u7684\uff09 Split\ the\ document\ at\ pages\ referred\ by\ bookmarks\ of\ the\ given\ level=\u4f9d\u6307\u5b9a\u5c64\u7d1a\u7684\u66f8\u7c64\u6240\u6db5\u84cb\u7684\u9801\u6578\u4f86\u5206\u5272\u6587\u4ef6 Destination\ folder=\u76ee\u7684\u5730\u8cc7\u6599\u593e Same\ as\ source=\u8207\u539f\u59cb\u6a94\u6848\u76f8\u540c\u8def\u5f91 Choose\ a\ folder=\u8acb\u9078\u53d6\u4e00\u500b\u76ee\u9304 Destination\ output\ directory=\u8f38\u51fa\u6a94\u5b58\u653e\u8def\u5f91 Use\ the\ same\ output\ folder\ as\ the\ input\ file\ or\ choose\ a\ folder.=\u8acb\u6307\u5b9a\u548c\u8f38\u5165\u6a94\u76f8\u540c\u7684\u8def\u5f91\u6216\u53e6\u5916\u9078\u53d6\u4e00\u500b\u76ee\u9304\u3002 To\ choose\ a\ folder\ browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ directory.=\u82e5\u8981\u9078\u53d6\u76ee\u9304\uff0c\u8acb\u700f\u89bd\u6216\u8f38\u5165\u5b58\u653e\u8f38\u51fa\u6a94\u7684\u5b8c\u6574\u8def\u5f91\u3002 Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ files\ if\ they\ already\ exist.=\u5982\u679c\u60a8\u60f3\u8986\u84cb\u820a\u7684\u8f38\u51fa\u6a94\uff0c\u8acb\u52fe\u9078\u9019\u500b\u9078\u9805\u3002 Output\ options=\u8f38\u51fa\u9078\u9805 Output\ file\ names\ prefix\:=\u8f38\u51fa\u6a94\u6848\u540d\u7a31\u524d\u7db4\uff1a Output\ files\ prefix=\u8f38\u51fa\u6a94\u6848\u540d\u7a31\u524d\u7db4 !If\ it\ contains\ "[CURRENTPAGE]",\ "[TIMESTAMP]",\ "[FILENUMBER]"\ or\ "[BOOKMARK_NAME]"\ it\ performs\ variable\ substitution.= Ex.\ prefix_[BASENAME]_[CURRENTPAGE]\ generates\ prefix_FileName_005.pdf.=\u4f8b\u5982\uff1a"\u524d\u7db4_[BASENAME]_[CURRENTPAGE]" \u6703\u8b8a\u6210 "\u524d\u7db4_\u6a94\u6848\u540d\u7a31_005.pdf"\u3002 If\ it\ doesn't\ contain\ "[CURRENTPAGE]",\ "[TIMESTAMP]"\ or\ "[FILENUMBER]"\ it\ generates\ oldstyle\ output\ file\ names.=\u82e5\u4e0d\u5305\u542b "[CURRENTPAGE]"\u3001"[TIMESTAMP]" \u6216 "[FILENUMBER]" \u5b57\u4e32\uff0c\u5c07\u7522\u751f\u820a\u5f0f\u7684\u8f38\u51fa\u6a94\u540d\u7a31\u3002 !Available\ variables= Invalid\ split\ size=\u7121\u6548\u7684\u5206\u5272\u6a94\u6848\u5927\u5c0f The\ lowest\ available\ pdf\ version\ is\ =\u53ef\u7528\u7684 PDF \u7248\u672c\u81f3\u5c11\u70ba You\ selected\ a\ lower\ output\ pdf\ version,\ continue\ anyway\ ?=\u60a8\u5df2\u9078\u64c7\u4e86\u4e00\u500b\u8f03\u820a\u7684\u8f38\u51fa PDF \u7248\u672c\uff0c\u78ba\u5b9a\u8981\u7e7c\u7e8c\u55ce\uff1f Pdf\ version\ conflict=PDF\u7248\u672c\u885d\u7a81 Please\ select\ a\ pdf\ document.=\u8acb\u9078\u53d6\u4e00\u500b PDF \u6587\u4ef6\u3002 Split\ selected\ file=\u5206\u5272\u9078\u53d6\u7684\u6a94\u6848 Split=\u5206\u5272 Split\ section\ loaded.=\u5206\u5272\u5df2\u5b8c\u6210\u3002 Invalid\ unit\:\ =\u7121\u6548\u7684\u55ae\u4f4d\uff1a Fill\ from\ document=\u81ea\u6587\u4ef6\u586b\u6eff Getting\ bookmarks\ max\ depth=\u53d6\u5f97\u66f8\u7c64\u7684\u6700\u5927\u5c64\u7d1a !Frontpage\ pdf\ file= !Addendum\ pdf\ file= Select\ at\ least\ one\ cover\ or\ one\ footer=\u8acb\u81f3\u5c11\u9078\u64c7\u4e00\u500b\u5c01\u9762\u6216\u5c01\u5e95 Frontpage\ and\ Addendum=\u524d\u8a00\u8207\u9644\u9304 Cover\ And\ Footer\ section\ loaded.=\u65b0\u589e\u5c01\u9762\u548c\u5c01\u5e95\u5df2\u5b8c\u6210\u3002 Encrypt\ options=\u52a0\u5bc6\u9078\u9805 Owner\ password\:=\u7ba1\u7406\u8005\u5bc6\u78bc\uff1a Owner\ password\ (Max\ 32\ chars\ long)=\u7ba1\u7406\u8005\u5bc6\u78bc\uff08\u6700\u591a32\u500b\u5b57\u5143\uff09 User\ password\:=\u4f7f\u7528\u8005\u5bc6\u78bc\uff1a User\ password\ (Max\ 32\ chars\ long)=\u4f7f\u7528\u8005\u5bc6\u78bc\uff08\u6700\u591a32\u500b\u5b57\u5143\uff09 Encryption\ algorithm\:=\u52a0\u5bc6\u6f14\u7b97\u6cd5\uff1a Allow\ all=\u5168\u90e8\u5141\u8a31 Print=\u5217\u5370 Low\ quality\ print=\u4f4e\u54c1\u8cea\u5217\u5370 Copy\ or\ extract=\u8907\u88fd\u6216\u6458\u9304 Modify=\u4fee\u6539 Add\ or\ modify\ text\ annotations=\u65b0\u589e\u6216\u4fee\u6539\u6587\u5b57\u8a3b\u91cb Fill\ form\ fields=\u8acb\u586b\u5beb\u5404\u8868\u683c\u6b04\u4f4d Extract\ for\ use\ by\ accessibility\ dev.=\u6458\u9304\u4f9b\u7121\u969c\u7919\u88dd\u7f6e\u4f7f\u7528\u3002 Manipulate\ pages\ and\ add\ bookmarks=\u5b89\u6392\u9801\u9762\u548c\u65b0\u589e\u66f8\u7c64 Check\ the\ box\ if\ you\ want\ compressed\ output\ files\ (Pdf\ version\ 1.5\ or\ higher).=\u82e5\u60a8\u60f3\u8981\u4e00\u500b\u58d3\u7e2e\u904e\u7684\u8f38\u51fa\u6a94\uff08PDF 1.5 \u6216\u66f4\u65b0\u7684\u7248\u672c\uff09\uff0c\u8acb\u52fe\u9078\u6b64\u9078\u9805\u3002 If\ it\ contains\ "[TIMESTAMP]"\ it\ performs\ variable\ substitution.=\u82e5\u5305\u542b "[TIMESTAMP]"\uff0c\u6703\u986f\u793a\u4e0d\u540c\u7684\u66ff\u4ee3\u6587\u5b57\u3002 Ex.\ [BASENAME]_prefix_[TIMESTAMP]\ generates\ FileName_prefix_20070517_113423471.pdf.=\u4f8b\u5982\uff1a"[BASENAME]_\u524d\u7db4_[TIMESTAMP]" \u6703\u8b8a\u6210 "\u6a94\u6848\u540d\u7a31_\u524d\u7db4_20070517_113423471.pdf"\u3002 If\ it\ doesn't\ contain\ "[TIMESTAMP]"\ it\ generates\ oldstyle\ output\ file\ names.=\u82e5\u4e0d\u5305\u542b "[TIMESTAMP]"\uff0c\u6703\u8b8a\u6210\u5178\u578b\u7684\u8f38\u51fa\u6a94\u6848\u540d\u7a31\u3002 Available\ variables\:\ [TIMESTAMP],\ [BASENAME].=\u53ef\u7528\u7684\u8b8a\u6578\uff1a[TIMESTAMP], [BASENAME]\u3002 Encrypt\ selected\ files=\u52a0\u5bc6\u9078\u53d6\u7684\u6a94\u6848 Encrypt=\u52a0\u5bc6 Encrypt\ section\ loaded.=\u52a0\u5bc6\u5df2\u5b8c\u6210\u3002 Decrypt\ selected\ files=\u89e3\u5bc6\u6240\u9078\u53d6\u7684\u6a94\u6848 Decrypt=\u89e3\u5bc6 Decrypt\ section\ loaded.=\u5df2\u8f09\u5165\u89e3\u5bc6\u7684\u5340\u6bb5\u3002 Mix\ options=\u6df7\u5408\u9078\u9805 Reverse\ first\ document=\u985b\u5012\u7b2c\u4e00\u4efd\u6587\u4ef6\u7684\u9806\u5e8f Reverse\ second\ document=\u985b\u5012\u7b2c\u4e8c\u4efd\u6587\u4ef6\u7684\u9806\u5e8f !Number\ of\ pages\ to\ switch\ document= !Tick\ the\ boxes\ if\ you\ want\ to\ reverse\ the\ first\ or\ the\ second\ document\ (or\ both).= !Set\ the\ number\ of\ pages\ to\ switch\ from\ a\ document\ to\ the\ other\ one\ (default\ is\ 1).= Found\ a\ password\ for\ first\ file.=\u7b2c\u4e00\u500b\u6a94\u6848\u9700\u8981\u5bc6\u78bc Found\ a\ password\ for\ second\ file.=\u7b2c\u4e8c\u500b\u6a94\u6848\u9700\u8981\u5bc6\u78bc Please\ select\ two\ pdf\ documents.=\u8acb\u9078\u64c7\u5169\u500b PDF \u6587\u4ef6\u3002 Execute\ pdf\ alternate\ mix=\u57f7\u884cPDF\u4ea4\u66ff\u6df7\u5408 Alternate\ Mix=\u4ea4\u66ff\u5408\u4f75 AlternateMix\ section\ loaded.=\u4ea4\u66ff\u5408\u4f75\u5df2\u5b8c\u6210\u3002 Unpack\ selected\ files=\u89e3\u958b\u6240\u9078\u6a94\u6848 Unpack=\u89e3\u958b Unpack\ section\ loaded.=\u5df2\u5b8c\u6210\u89e3\u958b\u7684\u52d5\u4f5c\u3002 Set\ viewer\ options=\u8a2d\u5b9a\u6aa2\u8996\u5668\u9078\u9805 Hide\ the\ menubar=\u96b1\u85cf\u9078\u55ae\u5217 Hide\ the\ toolbar=\u96b1\u85cf\u5de5\u5177\u5217 Hide\ user\ interface\ elements=\u96b1\u85cf\u4f7f\u7528\u8005\u4ecb\u9762\u5143\u4ef6 Rezise\ the\ window\ to\ fit\ the\ page\ size=\u91cd\u65b0\u7e2e\u653e\u8996\u7a97\u4f86\u7b26\u5408\u9801\u9762\u5c3a\u5bf8 Center\ of\ the\ screen=\u87a2\u5e55\u4e2d\u5fc3 Display\ document\ title\ as\ window\ title=\u5c07\u6587\u4ef6\u6a19\u984c\u986f\u793a\u70ba\u8996\u7a97\u6a19\u984c Pdf\ version\ required\:=\u6240\u9700\u7684 PDF \u7248\u672c\uff1a No\ page\ scaling\ in\ print\ dialog=\u5217\u5370\u5c0d\u8a71\u6846\u4e2d\u672a\u6307\u5b9a\u9801\u9762\u7684\u6bd4\u4f8b Viewer\ layout\:=\u6aa2\u8996\u5668\u914d\u7f6e\uff1a Viewer\ open\ mode\:=\u4ee5\u6aa2\u8996\u5668\u958b\u555f\u6a21\u5f0f\uff1a Non\ fullscreen\ mode\:=\u975e\u5168\u87a2\u5e55\u6a21\u5f0f\uff1a Direction\:=\u65b9\u5411\uff1a Set\ options=\u8a2d\u5b9a\u9078\u9805 Set\ viewer\ options\ for\ selected\ files=\u8a2d\u5b9a\u6240\u9078\u53d6\u6a94\u6848\u7684\u6aa2\u8996\u5668\u9078\u9805 Left\ to\ right=\u7531\u5de6\u81f3\u53f3 Right\ to\ left=\u7531\u53f3\u81f3\u5de6 None=\u7121 Fullscreen=\u5168\u87a2\u5e55 Attachments=\u9644\u4ef6 Optional\ content\ group\ panel=\u53ef\u9078\u64c7\u7684\u5167\u5bb9\u7fa4\u7d44\u9762\u677f Document\ outline=\u6587\u4ef6\u5927\u7db1 Thumbnail\ images=\u7e2e\u5716 One\ page\ at\ a\ time=\u4e00\u6b21\u986f\u793a\u4e00\u9801 Pages\ in\ one\ column=\u9801\u9762\u986f\u793a\u65bc\u4e00\u76f4\u884c\u4e0a Pages\ in\ two\ columns\ (odd\ on\ the\ left)=\u9801\u9762\u986f\u793a\u6210\u5169\u884c\uff08\u55ae\u6578\u9801\u65bc\u5de6\u65b9\uff09 Pages\ in\ two\ columns\ (odd\ on\ the\ right)=\u9801\u9762\u986f\u793a\u6210\u5169\u884c\uff08\u55ae\u6578\u9801\u65bc\u53f3\u65b9\uff09 Two\ pages\ at\ a\ time\ (odd\ on\ the\ left)=\u4e00\u6b21\u986f\u793a\u5169\u9801\uff08\u55ae\u6578\u9801\u65bc\u5de6\u65b9\uff09 Two\ pages\ at\ a\ time\ (odd\ on\ the\ right)=\u4e00\u6b21\u986f\u793a\u5169\u9801\uff08\u55ae\u6578\u9801\u65bc\u53f3\u65b9\uff09 Viewer\ options=\u6aa2\u8996\u5668\u9078\u9805 Viewer\ options\ section\ loaded.=\u5df2\u8f09\u5165\u6aa2\u8996\u5668\u9078\u9805\u5340\u6bb5\u3002 Save\ passwords\ informations\ (they\ will\ be\ readable\ opening\ the\ output\ file)?=\u60a8\u662f\u5426\u8981\u5132\u5b58\u5bc6\u78bc\uff08\u65bc\u958b\u555f\u8f38\u51fa\u6a94\u6642\uff0c\u7a0b\u5f0f\u53ef\u4ee5\u8b80\u53d6\uff09\uff1f Confirm\ password\ saving=\u8acb\u78ba\u8a8d\u5132\u5b58\u5bc6\u78bc Unknown\ action.=\u672a\u77e5\u7684\u52d5\u4f5c\u3002 Log\ saved.=\u7d00\u9304\u6a94\u5df2\u5132\u5b58\u3002 \ node\ environment\ loaded.=\ \u7bc0\u9ede\u74b0\u5883\u8b8a\u6578\u5df2\u8f09\u5165 Environment\ saved.=\u74b0\u5883\u8b8a\u6578\u5df2\u5132\u5b58\u3002 Error\ saving\ environment,\ output\ file\ is\ null.=\u7121\u6cd5\u5132\u5b58\u74b0\u5883\u8b8a\u6578\uff0c\u8f38\u51fa\u6a94\u662f\u7a7a\u7684\u3002 Error\ saving\ environment.=\u7121\u6cd5\u5132\u5b58\u74b0\u5883\u8b8a\u6578\u3002 Environment\ loaded.=\u5df2\u8f09\u5165\u74b0\u5883\u8b8a\u6578\u3002 Error\ loading\ environment.=\u7121\u6cd5\u8f09\u5165\u74b0\u5883\u8b8a\u6578\u3002 Error\ loading\ environment\ from\ input\ file.\ =\u7121\u6cd5\u5f9e\u8f38\u5165\u6a94\u8f09\u5165\u74b0\u5883\u8b8a\u6578\u3002 Selection\ table\ is\ full,\ please\ remove\ some\ pdf\ document.=\u9078\u53d6\u6e05\u55ae\u5df2\u6eff\uff0c\u8acb\u79fb\u9664\u67d0\u500b PDF \u6587\u4ef6\u3002 Table\ full=\u6e05\u55ae\u5df2\u6eff Please\ wait\ while\ reading=\u8b80\u53d6\u4e2d\u8acb\u7a0d\u5f85... Selected\ file\ is\ not\ a\ pdf\ document.=\u9078\u53d6\u7684\u6a94\u6848\u4e26\u975e PDF \u6587\u4ef6\u3002 Error\ loading\ =\u7121\u6cd5\u8f09\u5165 Command\ validation\ returned\ an\ empty\ value.=\u6307\u4ee4\u6aa2\u67e5\u56de\u50b3\u4e00\u500b\u7a7a\u7684\u503c\u3002 Command\ executed.=\u6307\u4ee4\u5df2\u57f7\u884c\u3002 File\ name=\u6a94\u6848\u540d\u7a31 Number\ of\ pages=\u9801\u6578 File\ size=\u6a94\u6848\u5927\u5c0f Pdf\ version=PDF \u7248\u672c Encryption=\u52a0\u5bc6 Not\ encrypted=\u672a\u52a0\u5bc6 Permissions=\u6b0a\u9650 Title=\u6a19\u984c Author=\u958b\u767c\u8005 Subject=\u4e3b\u65e8 Producer=\u88fd\u4f5c\u8005 Creator=\u5efa\u7acb\u8005 Creation\ date=\u5efa\u7acb\u65e5\u671f Modification\ date=\u4fee\u6539\u65e5\u671f Keywords=\u95dc\u9375\u5b57 Document\ properties=\u6587\u4ef6\u5c6c\u6027 File=\u6a94\u6848 Close=\u95dc\u9589 Copy=\u8907\u88fd Error\ creating\ properties\ panel.=\u5efa\u7acb\u5c6c\u6027\u9762\u677f\u6642\u767c\u751f\u932f\u8aa4\u3002 Run=\u57f7\u884c Browse=\u700f\u89bd Add=\u65b0\u589e Compress\ output\ file/files=\u58d3\u7e2e\u8f38\u51fa\u6a94 Overwrite\ if\ already\ exists=\u8986\u84cb\u820a\u6a94 Don't\ preserve\ file\ order\ (fast\ load)=\u4e0d\u8981\u4fdd\u7559\u6a94\u6848\u6392\u5e8f\uff08\u52a0\u901f\u8f09\u5165\uff09 Output\ document\ pdf\ version\:=\u8f38\u51fa\u6587\u4ef6\u7684 PDF \u7248\u672c\uff1a !The\ cross\ reference\ table\ cantained\ some\ error\ and\ has\ been\ rebuilt= !The\ document\ has\ not\ been\ opened\ with\ the\ owner\ password.\ You\ must\ provide\ the\ owner\ password\ in\ order\ to\ manipulate\ the\ document= !An\ error\ occured\ while\ loading\ the\ document= Same\ as\ input\ document=\u8207\u8f38\u5165\u6587\u4ef6\u76f8\u540c Path=\u8def\u5f91 Pages=\u9801 Password=\u5bc6\u78bc Version=\u7248\u672c Page\ Selection=\u9078\u53d6\u9801 Total\ pages\ of\ the\ document=\u6587\u4ef6\u7684\u6240\u6709\u9801\u9762 Password\ to\ open\ the\ document\ (if\ needed)=\u958b\u555f\u6587\u4ef6\u6240\u9700\u7684\u5bc6\u78bc\uff08\u5982\u679c\u9700\u8981\u7684\u8a71\uff09 Pdf\ version\ of\ the\ document=\u6587\u4ef6\u7684 PDF \u7248\u672c !Double\ click\ to\ set\ pages\ you\ want\ to\ merge\ (ex\:\ 2\ or\ 5-23\ or\ 2,5-7,12-)= Add\ a\ pdf\ to\ the\ list=\u65b0\u589ePDF\u6a94\u81f3\u6e05\u55ae\u4e2d Remove\ a\ pdf\ from\ the\ list=\u81ea\u6e05\u55ae\u4e2d\u79fb\u9664PDF\u6a94 (Canc)=\uff08\u53d6\u6d88\u9375\uff09 Remove=\u79fb\u9664 Reload=\u91cd\u65b0\u8f09\u5165 Error\:\ Unable\ to\ reload\ the\ selected\ file/s.=\u932f\u8aa4\uff1a\u7121\u6cd5\u91cd\u65b0\u8f09\u5165\u6240\u9078\u7684\u6a94\u6848\u3002 Unable\ to\ remove\ JList\ text\ =\u7121\u6cd5\u79fb\u9664 JList \u6587\u672c File\ selected\:\ =\u9078\u53d6\u6a94\u6848\uff1a File\ reloaded\:\ =\u91cd\u65b0\u8f09\u5165\u6a94\u6848\uff1a Move\ Up=\u4e0a\u79fb Move\ up\ selected\ pdf\ file=\u5c07\u9078\u53d6\u7684PDF\u6a94\u6848\u5411\u4e0a\u79fb (Alt+ArrowUp)=\uff08Alt + \u5411\u4e0a\u7bad\u865f\u9375\uff09 Move\ Down=\u4e0b\u79fb Move\ down\ selected\ pdf\ file=\u5c07\u9078\u53d6\u7684PDF\u6a94\u5411\u4e0b\u79fb (Alt+ArrowDown)=\uff08Alt + \u5411\u4e0b\u7bad\u865f\u9375\uff09 Clear=\u5168\u90e8\u6e05\u9664 Remove\ every\ pdf\ file\ from\ the\ merge\ list=\u79fb\u9664\u5408\u4f75\u6e05\u55ae\u4e2d\u6240\u6709PDF\u6a94 Set\ output\ file=\u8a2d\u5b9a\u8f38\u51fa\u6a94\u6848 Error\:\ Unable\ to\ get\ the\ file\ path.=\u932f\u8aa4\uff1a\u7121\u6cd5\u53d6\u5f97\u6a94\u6848\u8def\u5f91\u3002 Unable\ to\ get\ the\ default\ environment\ informations.=\u7121\u6cd5\u53d6\u5f97\u9810\u8a2d\u7684\u74b0\u5883\u8b8a\u6578\u8cc7\u8a0a\u3002 Setting\ look\ and\ feel...=\u6b63\u5728\u8a2d\u5b9a\u5916\u89c0... Setting\ logging\ level...=\u6b63\u5728\u8a2d\u5b9a\u7d00\u9304\u6a94\u5c64\u7d1a... Unable\ to\ find\ log\ level,\ setting\ to\ default\ level\ (DEBUG).=\u7121\u6cd5\u627e\u5230\u7d00\u9304\u6a94\u5c64\u7d1a\uff0c\u8a2d\u5b9a\u70ba\u9810\u8a2d\u5c64\u7d1a\uff08\u5075\u932f\uff09\u3002 Logging\ level\ set\ to\ =\u7d00\u9304\u6a94\u5c64\u7d1a\u5df2\u8a2d\u70ba Unable\ to\ set\ logging\ level.=\u7121\u6cd5\u8a2d\u5b9a\u7d00\u9304\u6a94\u5c64\u7d1a\u3002 Error\ getting\ plugins\ directory.=\u7121\u6cd5\u53d6\u5f97\u589e\u6548\u6a21\u7d44\u76ee\u9304\u3002 Cannot\ read\ plugins\ directory\ =\u7121\u6cd5\u8b80\u53d6\u589e\u6548\u6a21\u7d44\u76ee\u9304 Plugins\ directory\ is\ null.=\u589e\u6548\u6a21\u7d44\u76ee\u9304\u662f\u7a7a\u7684\u3002 Found\ zero\ or\ many\ jars\ in\ plugin\ directory\ =\u5728\u589e\u6548\u6a21\u7d44\u76ee\u9304\u88e1\u6c92\u627e\u5230\u6216\u627e\u5230\u591a\u500b jar \u6a94 Exception\ loading\ plugins.=\u8f09\u5165\u589e\u6548\u6a21\u7d44\u51fa\u73fe\u7570\u5e38\u3002 Cannot\ read\ plugin\ directory\ =\u7121\u6cd5\u8b80\u53d6\u589e\u6548\u6a21\u7d44\u76ee\u9304 \ plugin\ loaded.=\ \u589e\u6548\u6a21\u7d44\u5df2\u8f09\u5165\u3002 Unable\ to\ load\ a\ plugin\ that\ is\ not\ JPanel\ subclass.=\u7121\u6cd5\u8f09\u5165\u975e JPanel \u5b50\u985e\u5225\u7684\u589e\u6548\u6a21\u7d44\u3002 Error\ loading\ class\ =\u7121\u6cd5\u8f09\u5165\u985e\u5225 Select\ all=\u5168\u90e8\u9078\u53d6 Save\ log=\u5132\u5b58\u7d00\u9304 Save\ environment=\u5132\u5b58\u74b0\u5883\u8b8a\u6578 Load\ environment=\u8f09\u5165\u74b0\u5883\u8b8a\u6578 Exit=\u7d50\u675f Unable\ to\ initialize\ menu\ bar.=\u7121\u6cd5\u521d\u59cb\u5316\u9078\u55ae\u5217\u3002 started\ in\ =\u5df2\u555f\u52d5\u65bc Loading\ plugins..=\u6b63\u5728\u8f09\u5165\u589e\u6548\u6a21\u7d44... Building\ menus..=\u6b63\u5728\u5efa\u7acb\u9078\u55ae... Building\ buttons\ bar..=\u6b63\u5728\u5efa\u7acb\u5de5\u5177\u5217... Building\ status\ bar..=\u6b63\u5728\u5efa\u7acb\u72c0\u614b\u5217... Building\ tree..=\u6b63\u5728\u5efa\u7acb\u6a39\u72c0\u76ee\u9304... Loading\ default\ environment.=\u6b63\u5728\u8f09\u5165\u9810\u8a2d\u74b0\u5883\u8b8a\u6578\u3002 Error\ starting\ pdfsam.=\u7121\u6cd5\u555f\u52d5 pdfsam\u3002 Clear\ log=\u6e05\u9664\u7d00\u9304 Unable\ to\ initialize\ button\ bar.=\u7121\u6cd5\u521d\u59cb\u5316\u5de5\u5177\u5217\u3002 Version\:\ =\u7248\u672c\uff1a Language\:\ =\u7a0b\u5f0f\u8a9e\u8a00\uff1a !Developed\ by\:\ = Build\ date\:\ =\u5efa\u7acb\u65e5\u671f\uff1a Java\ home\:\ =Java \u6839\u76ee\u9304\uff1a Java\ version\:\ =Java \u7248\u672c\uff1a Max\ memory\:\ =\u6700\u5927\u8a18\u61b6\u9ad4\u5bb9\u91cf\uff1a Configuration\ file\:\ =\u8a2d\u5b9a\u6a94\uff1a Website\:\ =\u7db2\u7ad9\uff1a Name=\u7a0b\u5f0f\u540d\u7a31 About=\u95dc\u65bc Unimplemented\ method\ for\ JInfoPanel=\u5c1a\u672a\u5be6\u4f5c\u7684 JInfoPanel \u65b9\u6cd5 Contributes\:\ =\u5354\u52a9\u958b\u767c\uff1a Log\ level\:=\u7d00\u9304\u6a94\u5c64\u7d1a\uff1a Settings=\u8a2d\u5b9a Look\ and\ feel\:=\u5916\u89c0\uff1a Theme\:=\u4f48\u666f\u4e3b\u984c\uff1a Language\:=\u8a9e\u7cfb\uff1a Check\ for\ updates\:=\u6aa2\u67e5\u66f4\u65b0\uff1a Load\ default\ environment\ at\ startup\:=\u555f\u52d5\u6642\u8f09\u5165\u9810\u8a2d\u74b0\u5883\u8b8a\u6578\uff1a Default\ working\ directory\:=\u9810\u8a2d\u7684\u5de5\u4f5c\u76ee\u9304\uff1a Error\ getting\ default\ environment.=\u7121\u6cd5\u53d6\u5f97\u9810\u8a2d\u74b0\u5883\u8b8a\u6578\u3002 Check\ now=\u7acb\u523b\u6aa2\u67e5 Play\ alert\ sounds=\u64ad\u653e\u8b66\u793a\u97f3\u6548 Settings\ =\u8a2d\u5b9a Language=\u8a9e\u8a00 Set\ your\ preferred\ language\ (restart\ needed)=\u8acb\u8a2d\u5b9a\u60a8\u504f\u597d\u7684\u8a9e\u8a00\uff08\u9700\u8981\u91cd\u65b0\u555f\u52d5\uff09 Look\ and\ feel=\u5916\u89c0 Set\ your\ preferred\ look\ and\ feel\ and\ your\ preferred\ theme\ (restart\ needed)=\u8acb\u8a2d\u5b9a\u60a8\u504f\u597d\u7684\u5916\u89c0\u53ca\u4f48\u666f\u4e3b\u984c\uff08\u9700\u8981\u91cd\u65b0\u555f\u52d5\uff09 Log\ level=\u7d00\u9304\u6a94\u5c64\u7d1a Set\ a\ log\ detail\ level\ (restart\ needed)=\u8acb\u8a2d\u5b9a\u4e00\u500b\u7d00\u9304\u6a94\u7d30\u7bc0\u5c64\u7d1a\uff08\u9700\u8981\u91cd\u65b0\u555f\u52d5\uff09 Check\ for\ updates=\u6aa2\u67e5\u66f4\u65b0 Set\ when\ new\ version\ availability\ should\ be\ checked\ (restart\ needed)=\u8a2d\u5b9a\u4f55\u6642\u8a72\u6aa2\u67e5\u66f4\u65b0\uff08\u9700\u8981\u91cd\u65b0\u555f\u52d5\uff09 Turn\ on\ or\ off\ alert\ sounds=\u958b\u555f\u6216\u95dc\u9589\u8b66\u793a\u97f3\u6548 Default\ env.=\u9810\u8a2d\u74b0\u5883\u8b8a\u6578\u3002 Select\ a\ previously\ saved\ env.\ file\ that\ will\ be\ automatically\ loaded\ at\ startup=\u8acb\u9078\u53d6\u4e00\u500b\u4e4b\u524d\u5132\u5b58\u7684\u74b0\u5883\u8b8a\u6578\u6a94\uff0c\u555f\u52d5\u6642\u6703\u81ea\u52d5\u8f09\u5165 Default\ working\ directory=\u9810\u8a2d\u7684\u5de5\u4f5c\u76ee\u9304 Select\ a\ directory\ where\ documents\ will\ be\ saved\ and\ loaded\ by\ default=\u8acb\u9078\u64c7\u4e00\u500b\u7528\u4ee5\u5132\u5b58\u6216\u8f09\u5165\u6587\u4ef6\u7684\u9810\u8a2d\u76ee\u9304 Save=\u5132\u5b58 Configuration\ saved.=\u8a2d\u5b9a\u5df2\u5132\u5b58\u3002 Unimplemented\ method\ for\ JSettingsPanel=\u5c1a\u672a\u5be6\u4f5c\u7684 JSettingsPanel \u65b9\u6cd5 New\ version\ available\:\ =\u53ef\u7528\u7684\u65b0\u7248\u672c\uff1a Plugins=\u589e\u6548\u6a21\u7d44 Error\ getting\ pdf\ version\ description.=\u7121\u6cd5\u53d6\u5f97 PDF \u7248\u672c\u8cc7\u8a0a\u3002 Version\ 1.2\ (Acrobat\ 3)=1.2 \u7248\uff08Acrobat 3\uff09 Version\ 1.3\ (Acrobat\ 4)=1.3 \u7248\uff08Acrobat 4\uff09 Version\ 1.4\ (Acrobat\ 5)=1.4 \u7248\uff08Acrobat 5\uff09 Version\ 1.5\ (Acrobat\ 6)=1.5 \u7248\uff08Acrobat 6\uff09 Version\ 1.6\ (Acrobat\ 7)=1.6 \u7248\uff08Acrobat 7\uff09 Version\ 1.7\ (Acrobat\ 8)=1.7 \u7248\uff08Acrobat 8\uff09 Never=\u5f9e\u4e0d pdfsam\ start\ up=pdfsam \u555f\u52d5\u6642 Output\ file\ location\ is\ not\ correct=\u8f38\u51fa\u6a94\u4f4d\u7f6e\u4e26\u4e0d\u6b63\u78ba Would\ you\ like\ to\ change\ it\ to=\u60a8\u662f\u5426\u8981\u66f4\u6539\u81f3 Output\ location\ error=\u8f38\u51fa\u6a94\u4f4d\u7f6e\u932f\u8aa4 Selected\ output\ file\ already\ exists\ =\u6240\u9078\u7684\u8f38\u51fa\u6a94\u5df2\u5b58\u5728 Would\ you\ like\ to\ overwrite\ it?=\u60a8\u8981\u8986\u5beb\u5b83\u55ce\uff1f !Provided\ pages\ selection\ is\ not\ valid= !Limits\ must\ be\ a\ comma\ separated\ list\ of\ "page_number"\ or\ "page_number-page_number"= !Limits\ are\ not\ valid= Checking\ for\ a\ new\ version\ available.=\u6b63\u5728\u78ba\u8a8d\u662f\u5426\u6709\u65b0\u7248\u672c\u53ef\u7528\u3002 Error\ checking\ for\ a\ new\ version\ available.=\u7121\u6cd5\u6aa2\u67e5\u662f\u5426\u6709\u65b0\u7248\u672c\u3002 Unable\ to\ get\ latest\ available\ version=\u7121\u6cd5\u53d6\u5f97\u6700\u65b0\u7684\u53ef\u7528\u7248\u672c New\ version\ available.=\u6709\u65b0\u7248\u672c\u53ef\u7528\u3002 No\ new\ version\ available.=\u5df2\u70ba\u6700\u65b0\u7248\u672c\u3002 Cut=\u526a\u4e0b Paste=\u8cbc\u4e0a pdfsam-1.1.4/pdfsam-langpack-br1/src/java/org/pdfsam/i18n/resources/Messages_ja.properties0000644000175000017500000005704511225342444031354 0ustar twernertwerner# Japanese translation for pdfsam # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the pdfsam package. # FIRST AUTHOR , 2008. # !=Project-Id-Version\: pdfsam\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2009-07-09 12\:23+0200\nPO-Revision-Date\: 2008-12-12 08\:22+0000\nLast-Translator\: parkmount \nLanguage-Team\: Japanese \nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Launchpad-Export-Date\: 2008-12-20 15\:44+0000\nX-Generator\: Launchpad (build Unknown)\n Merge\ options=\u30de\u30fc\u30b8\u30aa\u30d7\u30b7\u30e7\u30f3 PDF\ documents\ contain\ forms=\u30d5\u30a9\u30fc\u30e0\u4ed8PDF\u6587\u66f8 Merge\ type=\u30de\u30fc\u30b8\u30bf\u30a4\u30d7 Unchecked=\u672a\u9078\u629e Use\ this\ merge\ type\ for\ standard\ pdf\ documents=\u3053\u306e\u30de\u30fc\u30b8\u30bf\u30a4\u30d7\u3092\u6a19\u6e96PDF\u6587\u66f8\u306b\u9069\u7528 Checked=\u9078\u629e\u6e08 Use\ this\ merge\ type\ for\ pdf\ documents\ containing\ forms=\u3053\u306e\u30de\u30fc\u30b8\u30bf\u30a4\u30d7\u3092\u30d5\u30a9\u30fc\u30e0\u4ed8PDF\u6587\u66f8\u306b\u9069\u7528 Note=\u6ce8\u8a18 Setting\ this\ option\ the\ documents\ will\ be\ completely\ loaded\ in\ memory=\u3053\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u6307\u5b9a\u3059\u308b\u3068\u6587\u66f8\u306f\u5b8c\u5168\u306b\u30e1\u30e2\u30ea\u5185\u306b\u7d44\u307f\u8fbc\u307e\u308c\u307e\u3059 Destination\ output\ file=\u51fa\u529b\u5148\u30d5\u30a1\u30a4\u30eb Error\:\ =\u30a8\u30e9\u30fc\: Browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ file.=\u51fa\u529b\u30d5\u30a1\u30a4\u30eb\u306e\u4fdd\u5b58\u30a2\u30c9\u30ec\u30b9\u3092\u898b\u308b\u304b\u8a18\u5165\u3059\u308b Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ file\ if\ it\ already\ exists.=\u51fa\u529b\u30d5\u30a1\u30a4\u30eb\u304c\u65e2\u5b58\u306e\u5834\u5408\u3067\u3001\u4e0a\u66f8\u304d\u3059\u308b\u6642\u306f\u30c1\u30a7\u30c3\u30af\u30dc\u30c3\u30af\u30b9\u3092\u9078\u629e\u3059\u308b Check\ the\ box\ if\ you\ want\ compressed\ output\ files.=\u51fa\u529b\u30d5\u30a1\u30a4\u30eb\u3092\u5727\u7e2e\u3059\u308b\u5834\u5408\u3001\u30c1\u30a7\u30c3\u30af\u30dc\u30c3\u30af\u30b9\u3092\u9078\u629e\u3059\u308b PDF\ version\ 1.5\ or\ above.=PDF\u30d0\u30fc\u30b8\u30e7\u30f31.5\u4ee5\u4e0a Set\ the\ pdf\ version\ of\ the\ ouput\ document.=\u51fa\u529b\u6587\u66f8\u306ePDF\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002 Please\ wait\ while\ all\ files\ are\ processed..=\u3059\u3079\u3066\u306e\u51e6\u7406\u304c\u5b8c\u4e86\u3059\u308b\u307e\u3067\u5c11\u3005\u304a\u5f85\u3061\u304f\u3060\u3055\u3044... Found\ a\ password\ for\ input\ file.=\u5165\u529b\u30d5\u30a1\u30a4\u30eb\u306b\u30d1\u30b9\u30ef\u30fc\u30c9\u304c\u304b\u304b\u3063\u3066\u3044\u307e\u3059\u3002 Please\ select\ at\ least\ one\ pdf\ document.=\u5c11\u306a\u304f\u3068\u3082\uff11\u4ef6\u306ePDF\u6587\u66f8\u3092\u9078\u629e\u3057\u3066\u4e0b\u3055\u3044 Warning=\u8b66\u544a Execute\ pdf\ merge=PDF\u30de\u30fc\u30b8\u3092\u5b9f\u884c\u3059\u308b Merge/Extract=\u30de\u30fc\u30b8\uff0f\u62bd\u51fa Merge\ section\ loaded.=\u30de\u30fc\u30b8\u90e8\u5206\u306e\u53d6\u308a\u8fbc\u307f\u5b8c\u4e86 Export\ as\ xml=XML\u3068\u3057\u3066\u30a8\u30af\u30b9\u30dd\u30fc\u30c8\u3059\u308b Unable\ to\ save\ xml\ file.=XML\u30d5\u30a1\u30a4\u30eb\u306e\u4fdd\u5b58\u304c\u51fa\u6765\u307e\u305b\u3093 Ok=OK File\ xml\ saved.=\u30d5\u30a1\u30a4\u30eb\u3092XML\u3067\u4fdd\u5b58\u3057\u307e\u3057\u305f\u3002 Error\ saving\ xml\ file,\ output\ file\ is\ null.=XML\u30d5\u30a1\u30a4\u30eb\u4fdd\u5b58\u6642\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\u51fa\u529b\u30d5\u30a1\u30a4\u30eb\u306f\u7a7a\u767d\u3067\u3059\u3002 Split\ options=\u5206\u5272\u30aa\u30d7\u30b7\u30e7\u30f3 Burst\ (split\ into\ single\ pages)=\u30d0\u30fc\u30b9\u30c8\uff081\u30da\u30fc\u30b8\u5358\u4f4d\u306b\u5206\u5272\uff09\u3059\u308b Split\ every\ "n"\ pages="n"\u30da\u30fc\u30b8\u5358\u4f4d\u306b\u5206\u5272\u3059\u308b Split\ even\ pages=\u5404\u5947\u6570\u30da\u30fc\u30b8\u304c\u5148\u982d\u306b\u306a\u308b\u3088\u3046\u306b\u5206\u5272\u3059\u308b Split\ odd\ pages=\u5404\u5076\u6570\u30da\u30fc\u30b8\u304c\u5148\u982d\u306b\u306a\u308b\u3088\u3046\u306b\u5206\u5272\u3059\u308b Split\ after\ these\ pages=\u65e2\u5b9a\u30da\u30fc\u30b8\u5f8c\u3001\u5206\u5272\u3059\u308b Split\ at\ this\ size=\u3053\u306e\u30b5\u30a4\u30ba\u3067\u5206\u5272\u3059\u308b !Split\ by\ bookmarks\ level= Burst=\u30d0\u30fc\u30b9\u30c8\u3059\u308b Explode\ the\ pdf\ document\ into\ single\ pages=PDF\u6587\u66f8\u30921\u30da\u30fc\u30b8\u5358\u4f4d\u306b\u3070\u3089\u3057\u307e\u3059 Split\ the\ document\ every\ "n"\ pages=\u6307\u5b9a\u306e"n"\u30da\u30fc\u30b8\u5358\u4f4d\u306b\u6587\u66f8\u3092\u5206\u5272\u3057\u307e\u3059 Split\ the\ document\ every\ even\ page=\u5947\u6570\u30da\u30fc\u30b8\u533a\u5207\u308a\u3067\u6587\u66f8\u3092\u5206\u5272\u3057\u307e\u3059 Split\ the\ document\ every\ odd\ page=\u5076\u6570\u30da\u30fc\u30b8\u533a\u5207\u308a\u3067\u6587\u66f8\u3092\u5206\u5272\u3057\u307e\u3059 Split\ the\ document\ after\ page\ numbers\ (num1-num2-num3..)=\u6307\u5b9a\u3057\u305f\u30da\u30fc\u30b8\u756a\u53f7\u306e\u5f8c\u3067\u6587\u66f8\u3092\u5206\u5272\u3057\u307e\u3059\uff08\u6570\u5b571-\u6570\u5b572-\u6570\u5b573..\uff09 #, fuzzy !Split\ the\ document\ in\ files\ of\ the\ given\ size\ (roughly)=\u6307\u5b9a\u30d5\u30a1\u30a4\u30eb\u30b5\u30a4\u30ba\uff08\u304a\u304a\u3088\u305d\u306e\uff09\u306b\u53ce\u307e\u308b\u3088\u3046\u306b\u6587\u66f8\u3092\u5206\u5272\u3057\u307e\u3059 #, fuzzy !Split\ the\ document\ at\ pages\ referred\ by\ bookmarks\ of\ the\ given\ level=\u6307\u5b9a\u30d5\u30a1\u30a4\u30eb\u30b5\u30a4\u30ba\uff08\u304a\u304a\u3088\u305d\u306e\uff09\u306b\u53ce\u307e\u308b\u3088\u3046\u306b\u6587\u66f8\u3092\u5206\u5272\u3057\u307e\u3059 Destination\ folder=\u51fa\u529b\u5148\u30d5\u30a9\u30eb\u30c0 Same\ as\ source=\u5143\u30d5\u30a9\u30eb\u30c0\u3068\u540c\u3058 Choose\ a\ folder=\u30d5\u30a9\u30eb\u30c0\u3092\u9078\u629e\u3059\u308b Destination\ output\ directory=\u4fdd\u5b58\u5148\u30c7\u30a3\u30ec\u30af\u30c8\u30ea Use\ the\ same\ output\ folder\ as\ the\ input\ file\ or\ choose\ a\ folder.=\u5165\u529b\u30d5\u30a1\u30a4\u30eb\u3068\u540c\u3058\u5834\u6240\u306b\u4fdd\u5b58\u3059\u308b\u304b\u3001\u5225\u306e\u30d5\u30a9\u30eb\u30c0\u3092\u6307\u5b9a\u3057\u3066\u304f\u3060\u3055\u3044\u3002 To\ choose\ a\ folder\ browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ directory.=\u30d5\u30a9\u30eb\u30c0\u4e00\u89a7\u304b\u3089\u9078\u629e\u3059\u308b\u304b\u3001\u51fa\u529b\u5148\u4fdd\u5b58\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30fb\u30a2\u30c9\u30ec\u30b9\u3092\u8a18\u5165\u3059\u308b Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ files\ if\ they\ already\ exist.=\u540c\u540d\u306e\u65e2\u5b58\u30d5\u30a1\u30a4\u30eb\u3092\u4e0a\u66f8\u304d\u4fdd\u5b58\u3059\u308b\u5834\u5408\u3001\u30c1\u30a7\u30c3\u30af\u30dc\u30c3\u30af\u30b9\u3092\u9078\u629e\u3059\u308b Output\ options=\u51fa\u529b\u30aa\u30d7\u30b7\u30e7\u30f3 Output\ file\ names\ prefix\:=\u51fa\u529b\u30d5\u30a1\u30a4\u30eb\u540d\u306e\u63a5\u982d\u8f9e\: Output\ files\ prefix=\u51fa\u529b\u30d5\u30a1\u30a4\u30eb\u306e\u63a5\u982d\u8f9e\: !If\ it\ contains\ "[CURRENTPAGE]",\ "[TIMESTAMP]",\ "[FILENUMBER]"\ or\ "[BOOKMARK_NAME]"\ it\ performs\ variable\ substitution.= Ex.\ prefix_[BASENAME]_[CURRENTPAGE]\ generates\ prefix_FileName_005.pdf.=\u4f8b\uff09\u3000prefix_[BASENAME]_[CURRENTPAGE]\u3000\u3068\u6307\u5b9a\u3059\u308b\u3068\u3001prefix_FileName_005.pdf\u3000\u3068\u5909\u63db\u3055\u308c\u307e\u3059\u3002 If\ it\ doesn't\ contain\ "[CURRENTPAGE]",\ "[TIMESTAMP]"\ or\ "[FILENUMBER]"\ it\ generates\ oldstyle\ output\ file\ names.="[CURRENTPAGE]", "[TIMESTAMP]" \u3001\u82e5\u3057\u304f\u306f "[FILENUMBER]" \u306e\u30b3\u30fc\u30c9\u304c\u542b\u307e\u308c\u3066\u3044\u306a\u3044\u5834\u5408\u306f\u3001\u901a\u5e38\u306e\u30d5\u30a1\u30a4\u30eb\u540d\u304c\u4f5c\u6210\u3055\u308c\u307e\u3059\u3002 !Available\ variables= Invalid\ split\ size=\u5206\u5272\u30b5\u30a4\u30ba\u306f\u7121\u52b9\u3067\u3059 The\ lowest\ available\ pdf\ version\ is\ =\u4f7f\u7528\u53ef\u80fd\u306a\u6700\u3082\u53e4\u3044PDF\u30d0\u30fc\u30b8\u30e7\u30f3\u306f You\ selected\ a\ lower\ output\ pdf\ version,\ continue\ anyway\ ?=\u53e4\u3044PDF\u30d0\u30fc\u30b8\u30e7\u30f3\u3092\u4fdd\u5b58\u306b\u9078\u629e\u3057\u307e\u3057\u305f\u3002\u7d9a\u884c\u3057\u307e\u3059\u304b\uff1f Pdf\ version\ conflict=PDF\u30d0\u30fc\u30b8\u30e7\u30f3\u30fb\u30df\u30b9\u30de\u30c3\u30c1 Please\ select\ a\ pdf\ document.=PDF\u6587\u66f8\u3092\u9078\u629e\u3057\u3066\u4e0b\u3055\u3044 Split\ selected\ file=\u9078\u629e\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u5206\u5272\u3059\u308b Split=\u5206\u5272 Split\ section\ loaded.=\u5206\u5272\u30bb\u30af\u30b7\u30e7\u30f3\u3092\u53d6\u308a\u8fbc\u307f\u307e\u3057\u305f\u3002 Invalid\ unit\:\ =\u7121\u52b9\u306a\u5358\u4f4d\: !Fill\ from\ document= !Getting\ bookmarks\ max\ depth= !Frontpage\ pdf\ file= !Addendum\ pdf\ file= Select\ at\ least\ one\ cover\ or\ one\ footer=\u6700\u4f4e1\u3064\u306e\u8868\u7d19\u66f8\u304d\u3001\u3082\u3057\u304f\u306f\u4e0b\u6b04\u66f8\u304d\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044 !Frontpage\ and\ Addendum= Cover\ And\ Footer\ section\ loaded.=\u30ab\u30d0\u30fc/\u30d5\u30c3\u30bf\u30fc\u30bb\u30af\u30b7\u30e7\u30f3\u3092\u30ed\u30fc\u30c9\u3057\u307e\u3057\u305f\u3002 Encrypt\ options=\u6697\u53f7\u5316\u30aa\u30d7\u30b7\u30e7\u30f3 Owner\ password\:=\u4f5c\u6210\u8005\u30d1\u30b9\u30ef\u30fc\u30c9 Owner\ password\ (Max\ 32\ chars\ long)=\u4f5c\u6210\u8005\u30d1\u30b9\u30ef\u30fc\u30c9\uff08\u6700\u957732\u6587\u5b57\uff09 !User\ password\:= User\ password\ (Max\ 32\ chars\ long)=\u30e6\u30fc\u30b6\u30fc\u30d1\u30b9\u30ef\u30fc\u30c9\uff08\u6700\u957732\u6587\u5b57\uff09 !Encryption\ algorithm\:= Allow\ all=\u3059\u3079\u3066\u3092\u8a31\u53ef Print=\u30d7\u30ea\u30f3\u30c8 Low\ quality\ print=\u4f4e\u54c1\u8cea\u30d7\u30ea\u30f3\u30c8 Copy\ or\ extract=\u30b3\u30d4\u30fc\u307e\u305f\u306f\u62bd\u51fa Modify=\u5909\u66f4 Add\ or\ modify\ text\ annotations=\u30c6\u30ad\u30b9\u30c8\u6ce8\u91c8\u306e\u8ffd\u52a0\u307e\u305f\u306f\u5909\u66f4 Fill\ form\ fields=\u30d5\u30a9\u30fc\u30e0\u5404\u9805\u3092\u8a18\u5165\u3059\u308b Extract\ for\ use\ by\ accessibility\ dev.=\u969c\u5bb3\u8005\u88dc\u52a9\u6a5f\u5668\u7528\u306b\u62bd\u51fa\u3059\u308b Manipulate\ pages\ and\ add\ bookmarks=\u30da\u30fc\u30b8\u306e\u64cd\u4f5c\u3068\u3057\u304a\u308a\u306e\u8ffd\u52a0 Check\ the\ box\ if\ you\ want\ compressed\ output\ files\ (Pdf\ version\ 1.5\ or\ higher).=\u51fa\u529b\u30d5\u30a1\u30a4\u30eb\u3092\u5727\u7e2e\u3057\u305f\u3044\u3068\u304d\uff08PDF\u30d0\u30fc\u30b8\u30e7\u30f3\u306f1.5\u4ee5\u4e0a\uff09\u306b\u30c1\u30a7\u30c3\u30af\u3057\u3066\u304f\u3060\u3055\u3044\u3002 If\ it\ contains\ "[TIMESTAMP]"\ it\ performs\ variable\ substitution.="[TIMESTAMP]" \u3092\u542b\u3080\u5834\u5408\u3001\u5b9f\u969b\u306e\u30bf\u30a4\u30e0\u30b9\u30bf\u30f3\u30d7\u3078\u306e\u5909\u63db\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002 !Ex.\ [BASENAME]_prefix_[TIMESTAMP]\ generates\ FileName_prefix_20070517_113423471.pdf.= !If\ it\ doesn't\ contain\ "[TIMESTAMP]"\ it\ generates\ oldstyle\ output\ file\ names.= Available\ variables\:\ [TIMESTAMP],\ [BASENAME].=\u4f7f\u7528\u53ef\u80fd\u306a\u5909\u63db\u30b3\u30fc\u30c9\: [TIMESTAMP], [BASENAME]. Encrypt\ selected\ files=\u9078\u629e\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u6697\u53f7\u5316 Encrypt=\u6697\u53f7\u5316 Encrypt\ section\ loaded.=\u6697\u53f7\u5316\u30bb\u30af\u30b7\u30e7\u30f3\u3092\u30ed\u30fc\u30c9\u3057\u307e\u3057\u305f\u3002 Decrypt\ selected\ files=\u9078\u629e\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u89e3\u8aad\u3059\u308b Decrypt=\u89e3\u8aad !Decrypt\ section\ loaded.= !Mix\ options= !Reverse\ first\ document= !Reverse\ second\ document= !Number\ of\ pages\ to\ switch\ document= !Tick\ the\ boxes\ if\ you\ want\ to\ reverse\ the\ first\ or\ the\ second\ document\ (or\ both).= !Set\ the\ number\ of\ pages\ to\ switch\ from\ a\ document\ to\ the\ other\ one\ (default\ is\ 1).= Found\ a\ password\ for\ first\ file.=\u6700\u521d\u306e\u30d5\u30a1\u30a4\u30eb\u306b\u30d1\u30b9\u30ef\u30fc\u30c9\u304c\u304b\u304b\u3063\u3066\u3044\u307e\u3059\u3002 Found\ a\ password\ for\ second\ file.=2\u756a\u76ee\u306e\u30d5\u30a1\u30a4\u30eb\u306b\u30d1\u30b9\u30ef\u30fc\u30c9\u304c\u304b\u304b\u3063\u3066\u3044\u307e\u3059\u3002 Please\ select\ two\ pdf\ documents.=2\u3064\u306ePDF\u6587\u66f8\u3092\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044\u3002 !Execute\ pdf\ alternate\ mix= !Alternate\ Mix= !AlternateMix\ section\ loaded.= Unpack\ selected\ files=\u9078\u629e\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u3092\u89e3\u51cd\u3059\u308b Unpack=\u89e3\u51cd Unpack\ section\ loaded.=\u89e3\u51cd\u30bb\u30af\u30b7\u30e7\u30f3\u3092\u30ed\u30fc\u30c9\u3057\u307e\u3057\u305f\u3002 !Set\ viewer\ options= !Hide\ the\ menubar= !Hide\ the\ toolbar= !Hide\ user\ interface\ elements= !Rezise\ the\ window\ to\ fit\ the\ page\ size= !Center\ of\ the\ screen= !Display\ document\ title\ as\ window\ title= !Pdf\ version\ required\:= !No\ page\ scaling\ in\ print\ dialog= !Viewer\ layout\:= !Viewer\ open\ mode\:= !Non\ fullscreen\ mode\:= !Direction\:= !Set\ options= !Set\ viewer\ options\ for\ selected\ files= !Left\ to\ right= !Right\ to\ left= !None= !Fullscreen= !Attachments= !Optional\ content\ group\ panel= !Document\ outline= !Thumbnail\ images= !One\ page\ at\ a\ time= !Pages\ in\ one\ column= !Pages\ in\ two\ columns\ (odd\ on\ the\ left)= !Pages\ in\ two\ columns\ (odd\ on\ the\ right)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ left)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ right)= !Viewer\ options= !Viewer\ options\ section\ loaded.= !Save\ passwords\ informations\ (they\ will\ be\ readable\ opening\ the\ output\ file)?= Confirm\ password\ saving=\u30d1\u30b9\u30ef\u30fc\u30c9\u4fdd\u5b58\u306e\u78ba\u8a8d Unknown\ action.=\u4e0d\u660e\u306a\u30a2\u30af\u30b7\u30e7\u30f3\u3067\u3059\u3002 Log\ saved.=\u30ed\u30b0\u3092\u4fdd\u5b58\u3057\u307e\u3057\u305f\u3002 \ node\ environment\ loaded.=\ \u30ce\u30fc\u30c9\u74b0\u5883\u3092\u30ed\u30fc\u30c9\u3057\u307e\u3057\u305f\u3002 Environment\ saved.=\u74b0\u5883\u3092\u4fdd\u5b58\u3057\u307e\u3057\u305f\u3002 Error\ saving\ environment,\ output\ file\ is\ null.=\u74b0\u5883\u4fdd\u5b58\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002\u51fa\u529b\u30d5\u30a1\u30a4\u30eb\u306f\u7a7a\u3067\u3059\u3002 Error\ saving\ environment.=\u74b0\u5883\u4fdd\u5b58\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002 Environment\ loaded.=\u74b0\u5883\u3092\u30ed\u30fc\u30c9\u3057\u307e\u3057\u305f\u3002 Error\ loading\ environment.=\u74b0\u5883\u30ed\u30fc\u30c9\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002 !Error\ loading\ environment\ from\ input\ file.\ = !Selection\ table\ is\ full,\ please\ remove\ some\ pdf\ document.= Table\ full=\u30c6\u30fc\u30d6\u30eb\u304c\u3044\u3063\u3071\u3044\u3067\u3059 Please\ wait\ while\ reading=\u8aad\u307f\u8fbc\u307f\u4e2d...\u304a\u5f85\u3061\u304f\u3060\u3055\u3044 Selected\ file\ is\ not\ a\ pdf\ document.=\u9078\u629e\u3057\u305f\u30d5\u30a1\u30a4\u30eb\u306fPDF\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002 Error\ loading\ =\u8aad\u307f\u8fbc\u307f\u30a8\u30e9\u30fc !Command\ validation\ returned\ an\ empty\ value.= !Command\ executed.= File\ name=\u30d5\u30a1\u30a4\u30eb\u540d !Number\ of\ pages= !File\ size= !Pdf\ version= !Encryption= !Not\ encrypted= !Permissions= !Title= Author=\u4f5c\u8005 !Subject= !Producer= !Creator= !Creation\ date= !Modification\ date= !Keywords= !Document\ properties= File=\u30d5\u30a1\u30a4\u30eb !Close= Copy=\u30b3\u30d4\u30fc !Error\ creating\ properties\ panel.= !Run= !Browse= Add=\u8ffd\u52a0 !Compress\ output\ file/files= Overwrite\ if\ already\ exists=\u65e2\u5b58\u306e\u5834\u5408\u4e0a\u66f8\u304d\u3059\u308b !Don't\ preserve\ file\ order\ (fast\ load)= !Output\ document\ pdf\ version\:= !The\ cross\ reference\ table\ cantained\ some\ error\ and\ has\ been\ rebuilt= !The\ document\ has\ not\ been\ opened\ with\ the\ owner\ password.\ You\ must\ provide\ the\ owner\ password\ in\ order\ to\ manipulate\ the\ document= !An\ error\ occured\ while\ loading\ the\ document= !Same\ as\ input\ document= Path=\u30d1\u30b9 Pages=\u30da\u30fc\u30b8 Password=\u30d1\u30b9\u30ef\u30fc\u30c9 Version=\u30d0\u30fc\u30b8\u30e7\u30f3 Page\ Selection=\u30da\u30fc\u30b8\u306e\u9078\u629e Total\ pages\ of\ the\ document=\u6587\u66f8\u7dcf\u30da\u30fc\u30b8\u6570 Password\ to\ open\ the\ document\ (if\ needed)=\u958b\u304f\u305f\u3081\u306e\u30d1\u30b9\u30ef\u30fc\u30c9\uff08\u5fc5\u8981\u306a\u5834\u5408\uff09 Pdf\ version\ of\ the\ document=\u6587\u66f8\u306ePDF\u30d0\u30fc\u30b8\u30e7\u30f3 !Double\ click\ to\ set\ pages\ you\ want\ to\ merge\ (ex\:\ 2\ or\ 5-23\ or\ 2,5-7,12-)= Add\ a\ pdf\ to\ the\ list=PDF\u3092\u30ea\u30b9\u30c8\u306b\u8ffd\u52a0\u3059\u308b Remove\ a\ pdf\ from\ the\ list=\u30ea\u30b9\u30c8\u304b\u3089PDF\u3092\u524a\u9664\u3059\u308b !(Canc)= Remove=\u524a\u9664 Reload=\u518d\u8aad\u8fbc Error\:\ Unable\ to\ reload\ the\ selected\ file/s.=\u30a8\u30e9\u30fc\: \u6307\u5b9a\u30d5\u30a1\u30a4\u30eb\u3092\u518d\u8aad\u8fbc\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002 !Unable\ to\ remove\ JList\ text\ = File\ selected\:\ =\u9078\u629e\u3057\u305f\u30d5\u30a1\u30a4\u30eb\: File\ reloaded\:\ =\u518d\u8aad\u8fbc\u3057\u305f\u30d5\u30a1\u30a4\u30eb\: Move\ Up=\u4e0a\u306b\u79fb\u52d5 Move\ up\ selected\ pdf\ file=\u9078\u629e\u3057\u305fPDF\u30d5\u30a1\u30a4\u30eb\u3092\u4e0a\u306b\u79fb\u52d5 (Alt+ArrowUp)=\uff08Alt\uff0b\u4e0a\u77e2\u5370\uff09 Move\ Down=\u4e0b\u306b\u79fb\u52d5 Move\ down\ selected\ pdf\ file=\u9078\u629e\u3057\u305fPDF\u30d5\u30a1\u30a4\u30eb\u3092\u4e0b\u306b\u79fb\u52d5 (Alt+ArrowDown)=\uff08Alt\uff0b\u4e0b\u77e2\u5370\uff09 Clear=\u30af\u30ea\u30a2 !Remove\ every\ pdf\ file\ from\ the\ merge\ list= !Set\ output\ file= Error\:\ Unable\ to\ get\ the\ file\ path.=\u30a8\u30e9\u30fc\: \u30d5\u30a1\u30a4\u30eb\u306e\u30d1\u30b9\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3002 !Unable\ to\ get\ the\ default\ environment\ informations.= Setting\ look\ and\ feel...=\u5916\u89b3\u306e\u8a2d\u5b9a... Setting\ logging\ level...=\u30ed\u30b0\u8a18\u9332\u30ec\u30d9\u30eb\u306e\u8a2d\u5b9a... !Unable\ to\ find\ log\ level,\ setting\ to\ default\ level\ (DEBUG).= Logging\ level\ set\ to\ =\u30ed\u30b0\u8a18\u9332\u30ec\u30d9\u30eb\u3092\u8a2d\u5b9a\: Unable\ to\ set\ logging\ level.=\u30ed\u30b0\u8a18\u9332\u30ec\u30d9\u30eb\u3092\u8a2d\u5b9a\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002 Error\ getting\ plugins\ directory.=\u30d7\u30e9\u30b0\u30a4\u30f3\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u53d6\u5f97\u3067\u304d\u307e\u305b\u3093\u3067\u3057\u305f\u3002 !Cannot\ read\ plugins\ directory\ = Plugins\ directory\ is\ null.=\u30d7\u30e9\u30b0\u30a4\u30f3\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u304c\u7a7a\u3067\u3059\u3002 !Found\ zero\ or\ many\ jars\ in\ plugin\ directory\ = Exception\ loading\ plugins.=\u30d7\u30e9\u30b0\u30a4\u30f3\u8aad\u307f\u8fbc\u307f\u6642\u306b\u4f8b\u5916\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002 !Cannot\ read\ plugin\ directory\ = \ plugin\ loaded.=\ \u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u8aad\u307f\u8fbc\u307f\u307e\u3057\u305f\u3002 !Unable\ to\ load\ a\ plugin\ that\ is\ not\ JPanel\ subclass.= !Error\ loading\ class\ = Select\ all=\u5168\u3066\u3092\u9078\u629e Save\ log=\u30ed\u30b0\u306e\u4fdd\u5b58 Save\ environment=\u74b0\u5883\u3092\u4fdd\u5b58 Load\ environment=\u74b0\u5883\u3092\u8aad\u307f\u8fbc\u307f Exit=\u7d42\u4e86 Unable\ to\ initialize\ menu\ bar.=\u30e1\u30cb\u30e5\u30fc\u30d0\u30fc\u306e\u521d\u671f\u5316\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002 !started\ in\ = Loading\ plugins..=\u30d7\u30e9\u30b0\u30a4\u30f3\u3092\u30ed\u30fc\u30c9\u4e2d... Building\ menus..=\u30e1\u30cb\u30e5\u30fc\u3092\u69cb\u6210\u4e2d... Building\ buttons\ bar..=\u30dc\u30bf\u30f3\u30d0\u30fc\u3092\u69cb\u6210\u4e2d... Building\ status\ bar..=\u30b9\u30c6\u30fc\u30bf\u30b9\u30d0\u30fc\u3092\u69cb\u6210\u4e2d... Building\ tree..=\u30c4\u30ea\u30fc\u3092\u69cb\u6210\u4e2d... Loading\ default\ environment.=\u30c7\u30d5\u30a9\u30eb\u30c8\u74b0\u5883\u3092\u30ed\u30fc\u30c9\u4e2d\u3002 Error\ starting\ pdfsam.=pdfsam\u958b\u59cb\u6642\u306b\u30a8\u30e9\u30fc\u3002 Clear\ log=\u30ed\u30b0\u306e\u30af\u30ea\u30a2 Unable\ to\ initialize\ button\ bar.=\u30dc\u30bf\u30f3\u30d0\u30fc\u306e\u521d\u671f\u5316\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002 Version\:\ =\u30d0\u30fc\u30b8\u30e7\u30f3\: Language\:\ =\u8a00\u8a9e\: !Developed\ by\:\ = Build\ date\:\ =\u30d3\u30eb\u30c9\u65e5\u6642\: Java\ home\:\ =Java home\: Java\ version\:\ =Java version\: Max\ memory\:\ =\u6700\u5927\u30e1\u30e2\u30ea\: Configuration\ file\:\ =\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\: Website\:\ =Web\u30b5\u30a4\u30c8\: Name=\u540d\u524d !About= !Unimplemented\ method\ for\ JInfoPanel= !Contributes\:\ = Log\ level\:=\u30ed\u30b0\u30ec\u30d9\u30eb\: !Settings= Look\ and\ feel\:=\u5916\u89b3\: Theme\:=\u30c6\u30fc\u30de\: Language\:=\u8a00\u8a9e\uff1a Check\ for\ updates\:=\u66f4\u65b0\u306e\u78ba\u8a8d\: Load\ default\ environment\ at\ startup\:=\u958b\u59cb\u6642\u306b\u30c7\u30d5\u30a9\u30eb\u30c8\u74b0\u5883\u3092\u30ed\u30fc\u30c9\: Default\ working\ directory\:=\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u4f5c\u696d\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\: !Error\ getting\ default\ environment.= !Check\ now= !Play\ alert\ sounds= Settings\ =\u8a2d\u5b9a Language=\u8a00\u8a9e Set\ your\ preferred\ language\ (restart\ needed)=\u4f7f\u7528\u8a00\u8a9e\u306e\u8a2d\u5b9a\uff08\u8981\u30ea\u30b9\u30bf\u30fc\u30c8\uff09 Look\ and\ feel=\u5916\u89b3 !Set\ your\ preferred\ look\ and\ feel\ and\ your\ preferred\ theme\ (restart\ needed)= Log\ level=\u30ed\u30b0\u30ec\u30d9\u30eb !Set\ a\ log\ detail\ level\ (restart\ needed)= Check\ for\ updates=\u66f4\u65b0\u306e\u78ba\u8a8d !Set\ when\ new\ version\ availability\ should\ be\ checked\ (restart\ needed)= !Turn\ on\ or\ off\ alert\ sounds= !Default\ env.= !Select\ a\ previously\ saved\ env.\ file\ that\ will\ be\ automatically\ loaded\ at\ startup= !Default\ working\ directory= !Select\ a\ directory\ where\ documents\ will\ be\ saved\ and\ loaded\ by\ default= Save=\u4fdd\u5b58 !Configuration\ saved.= !Unimplemented\ method\ for\ JSettingsPanel= !New\ version\ available\:\ = !Plugins= !Error\ getting\ pdf\ version\ description.= !Version\ 1.2\ (Acrobat\ 3)= !Version\ 1.3\ (Acrobat\ 4)= !Version\ 1.4\ (Acrobat\ 5)= !Version\ 1.5\ (Acrobat\ 6)= !Version\ 1.6\ (Acrobat\ 7)= !Version\ 1.7\ (Acrobat\ 8)= !Never= !pdfsam\ start\ up= Output\ file\ location\ is\ not\ correct=\u30d5\u30a1\u30a4\u30eb\u306e\u51fa\u529b\u5148\u6307\u5b9a\u304c\u9069\u5207\u3067\u306f\u3042\u308a\u307e\u305b\u3093 Would\ you\ like\ to\ change\ it\ to=\u4ee5\u4e0b\u306b\u5909\u66f4\u3057\u3066\u3088\u308d\u3057\u3044\u3067\u3059\u304b\: Output\ location\ error=\u51fa\u529b\u5148\u30a8\u30e9\u30fc !Selected\ output\ file\ already\ exists\ = !Would\ you\ like\ to\ overwrite\ it?= !Provided\ pages\ selection\ is\ not\ valid= !Limits\ must\ be\ a\ comma\ separated\ list\ of\ "page_number"\ or\ "page_number-page_number"= !Limits\ are\ not\ valid= !Checking\ for\ a\ new\ version\ available.= !Error\ checking\ for\ a\ new\ version\ available.= !Unable\ to\ get\ latest\ available\ version= !New\ version\ available.= !No\ new\ version\ available.= !Cut= !Paste= pdfsam-1.1.4/pdfsam-langpack-br1/src/java/org/pdfsam/i18n/resources/Messages_sv.properties0000644000175000017500000010546211225342444031407 0ustar twernertwerner# Swedish translation for pdfsam # Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 # This file is distributed under the same license as the pdfsam package. # FIRST AUTHOR , 2006. # !=Project-Id-Version\: pdfsam\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2009-07-09 12\:23+0200\nPO-Revision-Date\: 2009-02-09 19\:22+0000\nLast-Translator\: Susanna Bj\u00f6rverud \nLanguage-Team\: Swedish \nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Launchpad-Export-Date\: 2009-03-23 17\:32+0000\nX-Generator\: Launchpad (build Unknown)\n Merge\ options=Alternativ f\u00f6r sammanslagning PDF\ documents\ contain\ forms=PDF-dokumenten inneh\u00e5ller formul\u00e4r. Merge\ type=Ihopslagningstyp. Unchecked=Omarkerad Use\ this\ merge\ type\ for\ standard\ pdf\ documents=Anv\u00e4nd denna hopslagningstyp f\u00f6r vanliga PDF-dokument. Checked=Markerad Use\ this\ merge\ type\ for\ pdf\ documents\ containing\ forms=Anv\u00e4nd denna hopslagningstyp f\u00f6r PDF-dokument med formul\u00e4r. Note=Anteckning Setting\ this\ option\ the\ documents\ will\ be\ completely\ loaded\ in\ memory=Markera detta val f\u00f6r att ladda hela dokumentet i arbetsminnet. # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:289 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:440 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:255 Destination\ output\ file=Destination f\u00f6r m\u00e5lfil\: # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:388 # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:535 # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:811 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:387 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:414 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:441 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:599 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:619 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:649 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:879 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:983 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:616 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:423 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:588 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:608 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:638 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:861 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:977 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:143 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:170 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:237 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:498 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:539 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:256 Error\:\ =Fel\: Browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ file.=Bl\u00e4ddra eller skriv s\u00f6kv\u00e4gen till m\u00e5lfilen. Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ file\ if\ it\ already\ exists.=Markera f\u00f6r att skriva \u00f6ver fil som redan finns. Check\ the\ box\ if\ you\ want\ compressed\ output\ files.=Markera f\u00f6r att komprimera den skapade filen. PDF\ version\ 1.5\ or\ above.=PDF version 1.5 eller h\u00f6gre. Set\ the\ pdf\ version\ of\ the\ ouput\ document.=V\u00e4lj PDF-version f\u00f6r m\u00e5lfilen. # G:\Documents\eclipse_workspace\PDFSAMsplit\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:305 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:469 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:408 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:451 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:509 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:511 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:350 Please\ wait\ while\ all\ files\ are\ processed..=V\u00e4nta medan alla filer behandlas... Found\ a\ password\ for\ input\ file.=Fann l\u00f6senord f\u00f6r k\u00e4llfilen. Please\ select\ at\ least\ one\ pdf\ document.=V\u00e4lj \u00e5tminstone ett pdf-dokument Warning=Varning Execute\ pdf\ merge=P\u00e5b\u00f6rja sammanslagning av PDF-filer Merge/Extract=S\u00e4tt samman/Dela Merge\ section\ loaded.=Avsnitt att s\u00e4tta samman laddat. Export\ as\ xml=Exportera som xml Unable\ to\ save\ xml\ file.=Kunde inte spara xml-filen. Ok=OK File\ xml\ saved.=Xml-filen har sparats. Error\ saving\ xml\ file,\ output\ file\ is\ null.=Ett fel uppstod n\u00e4r xml-filen sparades, m\u00e5lfilen \u00e4r tom. # G:\Documents\eclipse_workspace\PDFSAMsplit\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:210 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:220 Split\ options=Uppdelningsalterantiv\: # G:\Documents\eclipse_workspace\PDFSAMsplit\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:181 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:195 Burst\ (split\ into\ single\ pages)=Dela upp till enskilda sidor # G:\Documents\eclipse_workspace\PDFSAMsplit\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:184 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:198 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:222 Split\ every\ "n"\ pages=Dela upp efter "n" sidor # G:\Documents\eclipse_workspace\PDFSAMsplit\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:193 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:206 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:223 Split\ even\ pages=Dela upp efter j\u00e4mna sidor # G:\Documents\eclipse_workspace\PDFSAMsplit\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:196 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:209 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:224 Split\ odd\ pages=Dela upp oj\u00e4mna sidor # G:\Documents\eclipse_workspace\PDFSAMsplit\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:199 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:212 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:225 Split\ after\ these\ pages=Dela upp efter dessa sidor Split\ at\ this\ size=Dela upp till denna storlek Split\ by\ bookmarks\ level=Dela efter bokm\u00e4rkesniv\u00e5 Burst=Gasa Explode\ the\ pdf\ document\ into\ single\ pages=Dela upp dokumentet till enskilda sidor # G:\Documents\eclipse_workspace\PDFSAMsplit\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:184 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:222 Split\ the\ document\ every\ "n"\ pages=Dela upp efter "n" sidor Split\ the\ document\ every\ even\ page=Dela upp dokumentet efter j\u00e4mna sidor. Split\ the\ document\ every\ odd\ page=Dela upp dokumentet efter udda sidor. Split\ the\ document\ after\ page\ numbers\ (num1-num2-num3..)=Dela dokumentet efter sidnummer (sid1-sid2-sid3) Split\ the\ document\ in\ files\ of\ the\ given\ size\ (roughly)=Dela upp dokumentet i filer av ungef\u00e4r angiven storlek Split\ the\ document\ at\ pages\ referred\ by\ bookmarks\ of\ the\ given\ level=Dela upp dokumentet efter de sidor som refereras till av bokm\u00e4rken p\u00e5 angiven niv\u00e5 Destination\ folder=M\u00e5lmapp # G:\Documents\eclipse_workspace\PDFSAMsplit\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:234 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:297 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:256 Same\ as\ source=Samma som k\u00e4lla # G:\Documents\eclipse_workspace\PDFSAMsplit\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:238 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:301 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:260 Choose\ a\ folder=V\u00e4lj en mapp # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:289 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:458 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:345 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:309 Destination\ output\ directory=Destination f\u00f6r m\u00e5lfil\: Use\ the\ same\ output\ folder\ as\ the\ input\ file\ or\ choose\ a\ folder.=Anv\u00e4nd k\u00e4llfilens katalog att spara i eller v\u00e4lj annan katalog. To\ choose\ a\ folder\ browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ directory.=F\u00f6r att v\u00e4lja katalog, bl\u00e4ddra eller skriv in hela s\u00f6kv\u00e4gen till m\u00e5lkatalogen. Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ files\ if\ they\ already\ exist.=Markera f\u00f6r att skriva \u00f6ver filer som redan existerar. Output\ options=Utdataalternativ # G:\Documents\eclipse_workspace\PDFSAMsplit\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:291 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:384 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:326 Output\ file\ names\ prefix\:=Prefix p\u00e5 m\u00e5lfilnamn\: # G:\Documents\eclipse_workspace\PDFSAMsplit\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:291 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:394 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:336 Output\ files\ prefix=Prefix p\u00e5 m\u00e5lfilnamn\: !If\ it\ contains\ "[CURRENTPAGE]",\ "[TIMESTAMP]",\ "[FILENUMBER]"\ or\ "[BOOKMARK_NAME]"\ it\ performs\ variable\ substitution.= Ex.\ prefix_[BASENAME]_[CURRENTPAGE]\ generates\ prefix_FileName_005.pdf.=Exempel. prefix_[BASENAME]_[CURRENTPAGE] skaparprefix_FileName_005.pdf. If\ it\ doesn't\ contain\ "[CURRENTPAGE]",\ "[TIMESTAMP]"\ or\ "[FILENUMBER]"\ it\ generates\ oldstyle\ output\ file\ names.=Om det inte inneh\u00e5ller "[CURRENTPAGE]", "[TIMESTAMP]" eller "[FILENUMBER]" generar det den gamla sortens filnamn f\u00f6r utdata. !Available\ variables= Invalid\ split\ size=Ogiltig delningsstorlek. The\ lowest\ available\ pdf\ version\ is\ =Den l\u00e4gsta tillg\u00e4ngliga versionen av pdf \u00e4r You\ selected\ a\ lower\ output\ pdf\ version,\ continue\ anyway\ ?=Du har valt en l\u00e4gre pdf-version p\u00e5 m\u00e5lfilen, vill du forts\u00e4tta \u00e4nd\u00e5? Pdf\ version\ conflict=PDF-version konflikt Please\ select\ a\ pdf\ document.=V\u00e4lj ett pdf-dokument # G:\Documents\eclipse_workspace\PDFSAMsplit\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:369 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:411 Split\ selected\ file=Dela upp vald fil Split=Dela Split\ section\ loaded.=Dela laddat urval. Invalid\ unit\:\ =Ogiltig enhet\: !Fill\ from\ document= !Getting\ bookmarks\ max\ depth= !Frontpage\ pdf\ file= !Addendum\ pdf\ file= Select\ at\ least\ one\ cover\ or\ one\ footer=V\u00e4lj minst en omslags- eller sidfotspdf. !Frontpage\ and\ Addendum= Cover\ And\ Footer\ section\ loaded.=Omslag och Sidfot laddad. Encrypt\ options=Krypteringsalternativ Owner\ password\:=\u00c4garens l\u00f6senord. Owner\ password\ (Max\ 32\ chars\ long)=\u00c4garens l\u00f6senord (Max 32 tecken) User\ password\:=Anv\u00e4ndarl\u00f6senord\: User\ password\ (Max\ 32\ chars\ long)=Anv\u00e4ndal\u00f6senord (Max32 tecken) Encryption\ algorithm\:=Krypteringsalgoritm\: Allow\ all=Tll\u00e5t alla Print=Skriv ut Low\ quality\ print=Utskrift, l\u00e5g kvalit\u00e9 Copy\ or\ extract=Kopiera eller klipp ut Modify=\u00c4ndra Add\ or\ modify\ text\ annotations=Skriv eller \u00e4ndra noteringstext Fill\ form\ fields=Fyll i formul\u00e4rf\u00e4lt Extract\ for\ use\ by\ accessibility\ dev.=Klipp ur f\u00f6r att anv\u00e4nda av tillg\u00e4nglighetsutv. Manipulate\ pages\ and\ add\ bookmarks=\u00c4nda sidor och l\u00e4gg till bokm\u00e4rken Check\ the\ box\ if\ you\ want\ compressed\ output\ files\ (Pdf\ version\ 1.5\ or\ higher).=Markera om du vill komprimera m\u00e5lfilerna (PDF version 1.5 eller h\u00f6gre) If\ it\ contains\ "[TIMESTAMP]"\ it\ performs\ variable\ substitution.=Om det inneh\u00e5ller "[TIMESTAMP]" blir ers\u00e4ttningen variabel. Ex.\ [BASENAME]_prefix_[TIMESTAMP]\ generates\ FileName_prefix_20070517_113423471.pdf.=Exenpel. [BASENAME]_prefix_[TIMESTAMP] skapar FileName_prefix_20070517_113423471.pdf. If\ it\ doesn't\ contain\ "[TIMESTAMP]"\ it\ generates\ oldstyle\ output\ file\ names.=Om det inte inneh\u00e5ller "[TIMESTAMP]" skapas traditionella filnamn. Available\ variables\:\ [TIMESTAMP],\ [BASENAME].=Tillg\u00e4ngliga variabler\: [TIMESTAMP], [BASENAME]. Encrypt\ selected\ files=Kryptera valda filer Encrypt=Kryptera Encrypt\ section\ loaded.=Krypterad sektion laddad. Decrypt\ selected\ files=Dekryptera valda filer Decrypt=Dekryptera Decrypt\ section\ loaded.=Dekryptera inl\u00e4st avsnitt. !Mix\ options= Reverse\ first\ document=V\u00e4nd f\u00f6rsta dokumentet. Reverse\ second\ document=V\u00e4nd andra dokumentet. !Number\ of\ pages\ to\ switch\ document= !Tick\ the\ boxes\ if\ you\ want\ to\ reverse\ the\ first\ or\ the\ second\ document\ (or\ both).= !Set\ the\ number\ of\ pages\ to\ switch\ from\ a\ document\ to\ the\ other\ one\ (default\ is\ 1).= Found\ a\ password\ for\ first\ file.=Hittade ett l\u00f6senord f\u00f6r f\u00f6rsta filen. Found\ a\ password\ for\ second\ file.=Hittade ett l\u00f6senord f\u00f6r andra filen. Please\ select\ two\ pdf\ documents.=V\u00e4lj tv\u00e5 PDF-dokument Execute\ pdf\ alternate\ mix=Genomf\u00f6r pdf-alternativmix. Alternate\ Mix=Alternativ mix AlternateMix\ section\ loaded.=Alternativ mixsektion laddad. Unpack\ selected\ files=Extrahera valda filer Unpack=Extrahera Unpack\ section\ loaded.=Upppacknings-sektionen laddad. Set\ viewer\ options=Ange visningsalternativ Hide\ the\ menubar=D\u00f6lj menyraden Hide\ the\ toolbar=G\u00f6m verktygsraden Hide\ user\ interface\ elements=D\u00f6lj delar av anv\u00e4ndargr\u00e4nssnittet Rezise\ the\ window\ to\ fit\ the\ page\ size=\u00c4ndra storlek p\u00e5 f\u00f6nstret s\u00e5 att det passar sidstorleken Center\ of\ the\ screen=Mitten av sk\u00e4rmen Display\ document\ title\ as\ window\ title=Visa dokuementets titel som f\u00f6nstertitel Pdf\ version\ required\:=PDF-version som kr\u00e4vs\: No\ page\ scaling\ in\ print\ dialog=Ingen sidskalning i utskriftsdialogen Viewer\ layout\:=Visningslayout\: Viewer\ open\ mode\:=\u00d6ppningsl\u00e4ge f\u00f6r visning\: Non\ fullscreen\ mode\:=Icke-helsk\u00e4rmsl\u00e4ge\: Direction\:=Riktning\: Set\ options=Ange alternativ Set\ viewer\ options\ for\ selected\ files=Ange visningsalternativ f\u00f6r valda filer Left\ to\ right=V\u00e4nster till h\u00f6ger Right\ to\ left=H\u00f6ger till v\u00e4nster None=Inga Fullscreen=Helsk\u00e4rm Attachments=Bilagor !Optional\ content\ group\ panel= Document\ outline=Dokumentdisposition Thumbnail\ images=Miniatyrbilder One\ page\ at\ a\ time=En sida \u00e5t g\u00e5ngen Pages\ in\ one\ column=Sidor i en kolumn Pages\ in\ two\ columns\ (odd\ on\ the\ left)=Sidor i tv\u00e5 kolumner (udda till v\u00e4nster) Pages\ in\ two\ columns\ (odd\ on\ the\ right)=Sidor i tv\u00e5 kolumner (udda till h\u00f6ger) Two\ pages\ at\ a\ time\ (odd\ on\ the\ left)=Tv\u00e5 sidor \u00e5t g\u00e5ngen (udda till v\u00e4nster) Two\ pages\ at\ a\ time\ (odd\ on\ the\ right)=Tv\u00e5 sidor \u00e5t g\u00e5ngen (udda till h\u00f6ger) Viewer\ options=Visningsalternativ Viewer\ options\ section\ loaded.=Avsnittet f\u00f6r visningsalternativ inl\u00e4st. Save\ passwords\ informations\ (they\ will\ be\ readable\ opening\ the\ output\ file)?=Spara l\u00f6senordsinformation (de blir l\u00e4sbara vid \u00f6ppning av m\u00e5lfilen)? Confirm\ password\ saving=Bekr\u00e4fta att l\u00f6senordet sparas. Unknown\ action.=Ok\u00e4nd \u00e5tg\u00e4rd. Log\ saved.=Logg sparad \ node\ environment\ loaded.=\ nodmilj\u00f6 sparad Environment\ saved.=Milj\u00f6n sparad. Error\ saving\ environment,\ output\ file\ is\ null.=Fel n\u00e4r milj\u00f6n sprades, m\u00e5lfilen \u00e4r noll. Error\ saving\ environment.=Fel n\u00e4r milj\u00f6n sparades. Environment\ loaded.=Milj\u00f6 laddad. Error\ loading\ environment.=Fel n\u00e4r milj\u00f6n laddades Error\ loading\ environment\ from\ input\ file.\ =Fel n\u00e4r milj\u00f6n laddades fr\u00e5n k\u00e4llfilen Selection\ table\ is\ full,\ please\ remove\ some\ pdf\ document.=Urvalskolumnen \u00e4r full, ta bort n\u00e5ga dokument Table\ full=Kolumn full Please\ wait\ while\ reading=V\u00e4nta medan inl\u00e4sning sker Selected\ file\ is\ not\ a\ pdf\ document.=Vald fil \u00e4r inte av typen PDF Error\ loading\ =Fel vid laddning av Command\ validation\ returned\ an\ empty\ value.=Kommandovalidationen gav ett tomt v\u00e4rde. Command\ executed.=Kommandot genomf\u00f6rt. # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:164 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:180 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:178 File\ name=Filnamn !Number\ of\ pages= !File\ size= !Pdf\ version= !Encryption= !Not\ encrypted= !Permissions= !Title= # G:\Documents\eclipse_workspace\PDF # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:118 Author=F\u00f6rfattare !Subject= !Producer= !Creator= !Creation\ date= !Modification\ date= !Keywords= !Document\ properties= # G:\Documents\eclipse_workspace\PDF # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:55 File=Arkiv !Close= Copy=Kopiera !Error\ creating\ properties\ panel.= # G:\Documents\eclipse_workspace\PDFSAMsplit\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:368 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:542 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:462 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:526 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:320 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:410 Run=K\u00f6r # G:\Documents\eclipse_workspace\PDFSAMsplit\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:150 # G:\Documents\eclipse_workspace\PDFSAMsplit\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:278 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:394 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:421 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:448 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:175 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:340 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:430 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:150 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:177 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:244 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:164 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:304 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:233 Browse=Bl\u00e4ddra # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:243 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:264 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:257 Add=L\u00e4gg till Compress\ output\ file/files=Kryptera m\u00e5lfil(er) # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:399 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:452 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:315 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:434 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:249 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:279 Overwrite\ if\ already\ exists=Skriv \u00f6ver om filen existerar Don't\ preserve\ file\ order\ (fast\ load)=Beh\u00e5ll inte filernas ordning (snabb laddning) Output\ document\ pdf\ version\:=M\u00e5lfilens pdf-version\: !The\ cross\ reference\ table\ cantained\ some\ error\ and\ has\ been\ rebuilt= !The\ document\ has\ not\ been\ opened\ with\ the\ owner\ password.\ You\ must\ provide\ the\ owner\ password\ in\ order\ to\ manipulate\ the\ document= !An\ error\ occured\ while\ loading\ the\ document= Same\ as\ input\ document=Samma som k\u00e4lldokument # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:165 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:181 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:179 Path=S\u00f6kv\u00e4g # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:166 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:182 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:180 Pages=Sidor Password=L\u00f6senord # G:\Documents\eclipse_workspace\PDF # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:118 Version=Version # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:167 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:183 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:181 Page\ Selection=Sidval Total\ pages\ of\ the\ document=Totalt sidantal f\u00f6r dokumentet Password\ to\ open\ the\ document\ (if\ needed)=L\u00f6senord f\u00f6r att \u00f6ppna dokumentet (om det beh\u00f6vs) Pdf\ version\ of\ the\ document=Dokumentets pdf-version !Double\ click\ to\ set\ pages\ you\ want\ to\ merge\ (ex\:\ 2\ or\ 5-23\ or\ 2,5-7,12-)= # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:211 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:232 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:225 Add\ a\ pdf\ to\ the\ list=L\u00e4gg till en pdf till listan # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:248 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:269 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:262 Remove\ a\ pdf\ from\ the\ list=Ta bort en pdf fr\u00e5n listan (Canc)=Avbryt # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:252 # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:297 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:273 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:317 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:266 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:311 Remove=Ta bort Reload=Uppdatera Error\:\ Unable\ to\ reload\ the\ selected\ file/s.=Fel\: Kunde inte l\u00e4sa om vald(a) fil(er). Unable\ to\ remove\ JList\ text\ =G\u00e5r ej att ta bort JList text # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:532 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:596 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:646 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:585 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:635 File\ selected\:\ =Vald fil\: File\ reloaded\:\ =Fil omladdad\: # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:259 # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:306 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:273 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:320 Move\ Up=Flytta upp\u00e5t # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:260 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:274 Move\ up\ selected\ pdf\ file=Flytta upp vad pdffil (Alt+ArrowUp)=(Alt+Pil Upp) # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:268 # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:315 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:282 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:329 Move\ Down=Flytta ned\u00e5t # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:269 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:283 Move\ down\ selected\ pdf\ file=Flytta ner vald pdffil (Alt+ArrowDown)=(Alt+Pil Ned # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:280 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:284 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:294 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:105 Clear=Rensa # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:281 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:295 Remove\ every\ pdf\ file\ from\ the\ merge\ list=Ta bort varje pdffil fr\u00e5n inhopslagningslistan # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:324 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:326 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:338 Set\ output\ file=St\u00e4ll in utdatafil # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:336 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:338 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:350 Error\:\ Unable\ to\ get\ the\ file\ path.=Fel\: Kunde inte h\u00e4mta s\u00f6kv\u00e4gen. Unable\ to\ get\ the\ default\ environment\ informations.=Kunde ej h\u00e4mta den f\u00f6rvalda omgivningsinormationen Setting\ look\ and\ feel...=Best\u00e4mmer utseende... Setting\ logging\ level...=S\u00e4tter loggningsniv\u00e5... Unable\ to\ find\ log\ level,\ setting\ to\ default\ level\ (DEBUG).=Gick inte att s\u00e4tta loggningsniv\u00e5, anv\u00e4nder normalniv\u00e5 (DEBUG). Logging\ level\ set\ to\ =Loggningsniv\u00e5 satt till Unable\ to\ set\ logging\ level.=G\u00e5 ej att s\u00e4tta loggningsniv\u00e5. Error\ getting\ plugins\ directory.=Fel vid l\u00e4sning av pluginarkiv. Cannot\ read\ plugins\ directory\ =Kan inte l\u00e4sa pluginbiblioteket Plugins\ directory\ is\ null.=Pluginbiblioteket \u00e4r noll. Found\ zero\ or\ many\ jars\ in\ plugin\ directory\ =Fann noll eller m\u00e5nga jars i pluginbiblioteket. Exception\ loading\ plugins.=Undantag d\u00e5 pluginer laddades. Cannot\ read\ plugin\ directory\ =Kan inte l\u00e4sa pluginbiblioteket \ plugin\ loaded.=\ plugin laddad. Unable\ to\ load\ a\ plugin\ that\ is\ not\ JPanel\ subclass.=Kan inte ladda plugin som inte \u00e4r av typen JPanel Error\ loading\ class\ =Fel vid laddning av klassen Select\ all=Markera alla Save\ log=Spara logg Save\ environment=Spara milj\u00f6 Load\ environment=Ladda milj\u00f6 # G:\Documents\eclipse_workspace\PDF # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:125 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:70 Exit=Avsluta Unable\ to\ initialize\ menu\ bar.=Kan ej starta menylisten. started\ in\ =startad i Loading\ plugins..=Laddar plugin.. Building\ menus..=Bygger menyer.. Building\ buttons\ bar..=Bygger knapprader... Building\ status\ bar..=Bygger statusrad... Building\ tree..=Bygger tr\u00e4d... Loading\ default\ environment.=Laddar f\u00f6rvald omgivning Error\ starting\ pdfsam.=Fel vid start av pdfsam. # G:\Documents\eclipse_workspace\PDF # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:121 Clear\ log=Rensa logg Unable\ to\ initialize\ button\ bar.=Kan ej starta knapprad. # G:\Documents\eclipse_workspace\PDF # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 Version\:\ =Version\: # G:\Documents\eclipse_workspace\PDF # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 Language\:\ =Spr\u00e5k\: !Developed\ by\:\ = # G:\Documents\eclipse_workspace\PDF # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 Build\ date\:\ =Byggdatum\: Java\ home\:\ =Java hem\: Java\ version\:\ =Java version\: Max\ memory\:\ =Max minne\: Configuration\ file\:\ =Konfigurationsfil\: # G:\Documents\eclipse_workspace\PDF # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 Website\:\ =Webbsida\: # G:\Documents\eclipse_workspace\PDF # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:118 Name=Namn About=Om Unimplemented\ method\ for\ JInfoPanel=Ej inf\u00f6rd metod f\u00f6r JInfoPanel Contributes\:\ =Statuerar\: Log\ level\:=Loggniv\u00e5\: Settings=Inst\u00e4llningar Look\ and\ feel\:=Utseende\: Theme\:=Tema\: # G:\Documents\eclipse_workspace\PDF # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:125 Language\:=Spr\u00e5k\: Check\ for\ updates\:=S\u00f6k efter uppdateringar\: Load\ default\ environment\ at\ startup\:=Ladda standardmilj\u00f6 vid uppstart\: Default\ working\ directory\:=F\u00f6rvald arbetsmapp\: Error\ getting\ default\ environment.=Fel vid laddning av standardmilj\u00f6\: Check\ now=Kontrollera nu Play\ alert\ sounds=Spela varningsljud Settings\ =Inst\u00e4llningar # G:\Documents\eclipse_workspace\PDF # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:224 Language=Spr\u00e5k\: Set\ your\ preferred\ language\ (restart\ needed)=V\u00e4lj spr\u00e5k du f\u00f6redrar (omstart kr\u00e4vs) Look\ and\ feel=Utseende Set\ your\ preferred\ look\ and\ feel\ and\ your\ preferred\ theme\ (restart\ needed)=V\u00e4lj utseende och tema (omstart kr\u00e4vs) Log\ level=Loggningsniv\u00e5 Set\ a\ log\ detail\ level\ (restart\ needed)=S\u00e4tt loggen detaljniv\u00e5 (omstart kr\u00e4vs) Check\ for\ updates=S\u00f6k efter uppdateringar Set\ when\ new\ version\ availability\ should\ be\ checked\ (restart\ needed)=St\u00e4ll in n\u00e4r du vill att programmet ska s\u00f6ka efter nya uppdateringar (omstart kr\u00e4vs) Turn\ on\ or\ off\ alert\ sounds=S\u00e4tt p\u00e5 eller av varningsljud Default\ env.=F\u00f6rvald milj\u00f6. Select\ a\ previously\ saved\ env.\ file\ that\ will\ be\ automatically\ loaded\ at\ startup=V\u00e4lj en tidigare sparad milj\u00f6 som laddas automatisk vid uppstart. Default\ working\ directory=F\u00f6rvald arbetsmapp Select\ a\ directory\ where\ documents\ will\ be\ saved\ and\ loaded\ by\ default=V\u00e4lj mapp d\u00e4r dokument ska sparas och laddas som standard Save=Spara Configuration\ saved.=Konfiguration sparad. Unimplemented\ method\ for\ JSettingsPanel=Ej inf\u00f6rd metod f\u00f6r JSettingsPanel New\ version\ available\:\ =Ny version tillg\u00e4nglig\: Plugins=Insticksmoduler Error\ getting\ pdf\ version\ description.=Fel vi l\u00e4sning av pdf-version Version\ 1.2\ (Acrobat\ 3)=Version 1.2 (Acrobat 3) Version\ 1.3\ (Acrobat\ 4)=Version 1.3 (Acrobat 4) Version\ 1.4\ (Acrobat\ 5)=Version 1.4 (Acrobat 5) Version\ 1.5\ (Acrobat\ 6)=Version 1.5 (Acrobat 6) Version\ 1.6\ (Acrobat\ 7)=Version 1.6 (Acrobat 7) Version\ 1.7\ (Acrobat\ 8)=Version 1.7 (Acrobat 8) Never=Aldrig pdfsam\ start\ up=pdfsam uppstart Output\ file\ location\ is\ not\ correct=S\u00f6kv\u00e4gen till m\u00e5lfilen \u00e4r felaktig Would\ you\ like\ to\ change\ it\ to=Vill du \u00e4ndra det till !Output\ location\ error= !Selected\ output\ file\ already\ exists\ = !Would\ you\ like\ to\ overwrite\ it?= !Provided\ pages\ selection\ is\ not\ valid= !Limits\ must\ be\ a\ comma\ separated\ list\ of\ "page_number"\ or\ "page_number-page_number"= !Limits\ are\ not\ valid= Checking\ for\ a\ new\ version\ available.=S\u00f6ker efter nya uppdateringar. Error\ checking\ for\ a\ new\ version\ available.=Ett fel intr\u00e4ffade vid s\u00f6kning efter ny uppdatering. Unable\ to\ get\ latest\ available\ version=Kunde inte h\u00e4mta den senaste uppdateringen New\ version\ available.=Ny uppdatering tillg\u00e4nglig. No\ new\ version\ available.=Ingen ny uppdatering tillg\u00e4nglig. Cut=Klipp ut Paste=Klistra in pdfsam-1.1.4/pdfsam-langpack-br1/src/java/org/pdfsam/i18n/resources/Messages_pt.properties0000644000175000017500000003473411225342444031405 0ustar twernertwerner# Portuguese translation for pdfsam # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the pdfsam package. # FIRST AUTHOR , 2008. # !=Project-Id-Version\: pdfsam\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2009-07-09 12\:23+0200\nPO-Revision-Date\: 2009-02-12 13\:47+0000\nLast-Translator\: cavacuz \nLanguage-Team\: Portuguese \nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Launchpad-Export-Date\: 2009-03-23 17\:32+0000\nX-Generator\: Launchpad (build Unknown)\n Merge\ options=Op\u00e7\u00f5es de uni\u00e3o PDF\ documents\ contain\ forms=Documentos PDF cont\u00e9m formul\u00e1rios Merge\ type=Tipo de uni\u00e3o Unchecked=Desmarcado Use\ this\ merge\ type\ for\ standard\ pdf\ documents=Usar este tipo de uni\u00e3o para documentos pdf standard Checked=Marcado Use\ this\ merge\ type\ for\ pdf\ documents\ containing\ forms=Usar este tipo de uni\u00e3o para documentos pdf que contenham formul\u00e1rios Note=Nota Setting\ this\ option\ the\ documents\ will\ be\ completely\ loaded\ in\ memory=Seleccionando esta op\u00e7\u00e3o os documentos ser\u00e3o carregados completamente para a mem\u00f3ria Destination\ output\ file=Ficheiro de destino Error\:\ =Erro\: Browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ file.=Procure ou introduza o caminho absoluto (PATH) para o ficheiro de destino !Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ file\ if\ it\ already\ exists.= Check\ the\ box\ if\ you\ want\ compressed\ output\ files.=Seleccione a caixa se deseja que os ficheiros de sa\u00edda sejam comprimidos. PDF\ version\ 1.5\ or\ above.=Vers\u00e3o PDF 1.5 ou superior Set\ the\ pdf\ version\ of\ the\ ouput\ document.=Defina a vers\u00e3o pdf do documento de sa\u00edda. Please\ wait\ while\ all\ files\ are\ processed..=Por favor espere enquanto todos os ficheiros s\u00e3o processados... Found\ a\ password\ for\ input\ file.=Foi encontrada uma palavra-chave para o ficheiro de entrada Please\ select\ at\ least\ one\ pdf\ document.=Por favor selecione pelo menos um documento pdf Warning=Aten\u00e7\u00e3o Execute\ pdf\ merge=Executar uni\u00e3o de pdf Merge/Extract=Unir/Separar Merge\ section\ loaded.=Unir sec\u00e7\u00e3o carregada Export\ as\ xml=Exportar como xml Unable\ to\ save\ xml\ file.=N\u00e3o foi poss\u00edvel guardar o ficheiro xml Ok=OK File\ xml\ saved.=Ficheiro xml guardado. Error\ saving\ xml\ file,\ output\ file\ is\ null.=Erro ao guardar ficheiro xml, ficheiro de sa\u00edda n\u00e3o existe. Split\ options=Op\u00f5es de separa\u00e7\u00e3o Burst\ (split\ into\ single\ pages)=Burst (dividir para p\u00e1ginas \u00fanicas) Split\ every\ "n"\ pages=Separar a cada "n" p\u00e1ginas Split\ even\ pages=Separar p\u00e1ginas pares Split\ odd\ pages=Separar p\u00e1ginas impares Split\ after\ these\ pages=Separar ap\u00f3s estas p\u00e1ginas Split\ at\ this\ size=Separar a este tamanho Split\ by\ bookmarks\ level=Separar por nivel de favoritos !Burst= Explode\ the\ pdf\ document\ into\ single\ pages=Separar o documento pdf em p\u00e1ginas unicas Split\ the\ document\ every\ "n"\ pages=Separar o documento a cada "n" p\u00e1ginas Split\ the\ document\ every\ even\ page=Dividir o documento a cada p\u00e1gina par Split\ the\ document\ every\ odd\ page=Dividir o documento a cada p\u00e1gina \u00edmpar !Split\ the\ document\ after\ page\ numbers\ (num1-num2-num3..)= !Split\ the\ document\ in\ files\ of\ the\ given\ size\ (roughly)= !Split\ the\ document\ at\ pages\ referred\ by\ bookmarks\ of\ the\ given\ level= !Destination\ folder= Same\ as\ source=Id\u00eantico ao de origem Choose\ a\ folder=Seleccione uma pasta Destination\ output\ directory=Pasta de destino de sa\u00edda !Use\ the\ same\ output\ folder\ as\ the\ input\ file\ or\ choose\ a\ folder.= !To\ choose\ a\ folder\ browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ directory.= !Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ files\ if\ they\ already\ exist.= !Output\ options= Output\ file\ names\ prefix\:=Prefixo do nome do ficheiro de sa\u00edda\: Output\ files\ prefix=Prefixo dos ficheiros de sa\u00edda !If\ it\ contains\ "[CURRENTPAGE]",\ "[TIMESTAMP]",\ "[FILENUMBER]"\ or\ "[BOOKMARK_NAME]"\ it\ performs\ variable\ substitution.= !Ex.\ prefix_[BASENAME]_[CURRENTPAGE]\ generates\ prefix_FileName_005.pdf.= !If\ it\ doesn't\ contain\ "[CURRENTPAGE]",\ "[TIMESTAMP]"\ or\ "[FILENUMBER]"\ it\ generates\ oldstyle\ output\ file\ names.= !Available\ variables= Invalid\ split\ size=Tamanho de divis\u00e3o inv\u00e1lido The\ lowest\ available\ pdf\ version\ is\ =A vers\u00e3o mais baixa do pdf dispon\u00edvel \u00e9 !You\ selected\ a\ lower\ output\ pdf\ version,\ continue\ anyway\ ?= Pdf\ version\ conflict=Conflicto entre vers\u00f5es de pdf !Please\ select\ a\ pdf\ document.= Split\ selected\ file=Dividir ficheiro seleccionado Split=Dividir !Split\ section\ loaded.= Invalid\ unit\:\ =Unidade inv\u00e1lida\: !Fill\ from\ document= !Getting\ bookmarks\ max\ depth= !Frontpage\ pdf\ file= !Addendum\ pdf\ file= Select\ at\ least\ one\ cover\ or\ one\ footer=Seleccionar pelo menos uma capa ou um rodap\u00e9 !Frontpage\ and\ Addendum= Cover\ And\ Footer\ section\ loaded.=Sec\u00e7\u00e3o de Capa e Rodap\u00e9 carregada. !Encrypt\ options= Owner\ password\:=Password de propriet\u00e1rio Owner\ password\ (Max\ 32\ chars\ long)=Password de propriet\u00e1rio (Max 32 caracteres de comprimento) User\ password\:=Password de utilizador User\ password\ (Max\ 32\ chars\ long)=Password de utilizador (M\u00e1ximo 32 caracteres de comprimento) !Encryption\ algorithm\:= Allow\ all=Permitir todos Print=Imprimir Low\ quality\ print=Impress\u00e3o de baixa qualidade Copy\ or\ extract=Copiar ou extrair Modify=Modificar Add\ or\ modify\ text\ annotations=Adicione ou modifique anota\u00e7\u00f5es de texto !Fill\ form\ fields= !Extract\ for\ use\ by\ accessibility\ dev.= Manipulate\ pages\ and\ add\ bookmarks=Manipula\u00e7\u00e3o de p\u00e1ginas e adi\u00e7\u00e3o de favoritos !Check\ the\ box\ if\ you\ want\ compressed\ output\ files\ (Pdf\ version\ 1.5\ or\ higher).= If\ it\ contains\ "[TIMESTAMP]"\ it\ performs\ variable\ substitution.=Se contiver "[TIMESTAMP]" efectua uma substitui\u00e7\u00e3o de vari\u00e1veis. !Ex.\ [BASENAME]_prefix_[TIMESTAMP]\ generates\ FileName_prefix_20070517_113423471.pdf.= !If\ it\ doesn't\ contain\ "[TIMESTAMP]"\ it\ generates\ oldstyle\ output\ file\ names.= !Available\ variables\:\ [TIMESTAMP],\ [BASENAME].= Encrypt\ selected\ files=Encriptar os ficheiros seleccionados Encrypt=Encriptar !Encrypt\ section\ loaded.= !Decrypt\ selected\ files= !Decrypt= !Decrypt\ section\ loaded.= !Mix\ options= Reverse\ first\ document=Inverter o primeiro documento !Reverse\ second\ document= !Number\ of\ pages\ to\ switch\ document= !Tick\ the\ boxes\ if\ you\ want\ to\ reverse\ the\ first\ or\ the\ second\ document\ (or\ both).= !Set\ the\ number\ of\ pages\ to\ switch\ from\ a\ document\ to\ the\ other\ one\ (default\ is\ 1).= Found\ a\ password\ for\ first\ file.=Foi encontrada uma password para o primeiro ficheiro. Found\ a\ password\ for\ second\ file.=Foi encontrada uma password para o segundo ficheiro. Please\ select\ two\ pdf\ documents.=Por favor seleccione dois documentos pdf. !Execute\ pdf\ alternate\ mix= Alternate\ Mix=Mistura alternativa !AlternateMix\ section\ loaded.= Unpack\ selected\ files=Descompactar os ficheiros seleccionados Unpack=Descompactar !Unpack\ section\ loaded.= !Set\ viewer\ options= !Hide\ the\ menubar= !Hide\ the\ toolbar= !Hide\ user\ interface\ elements= !Rezise\ the\ window\ to\ fit\ the\ page\ size= !Center\ of\ the\ screen= !Display\ document\ title\ as\ window\ title= !Pdf\ version\ required\:= !No\ page\ scaling\ in\ print\ dialog= !Viewer\ layout\:= !Viewer\ open\ mode\:= !Non\ fullscreen\ mode\:= !Direction\:= !Set\ options= !Set\ viewer\ options\ for\ selected\ files= !Left\ to\ right= !Right\ to\ left= !None= !Fullscreen= !Attachments= !Optional\ content\ group\ panel= !Document\ outline= !Thumbnail\ images= !One\ page\ at\ a\ time= !Pages\ in\ one\ column= !Pages\ in\ two\ columns\ (odd\ on\ the\ left)= !Pages\ in\ two\ columns\ (odd\ on\ the\ right)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ left)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ right)= !Viewer\ options= !Viewer\ options\ section\ loaded.= !Save\ passwords\ informations\ (they\ will\ be\ readable\ opening\ the\ output\ file)?= !Confirm\ password\ saving= Unknown\ action.=Ac\u00e7\u00e3o desconhecida. !Log\ saved.= !\ node\ environment\ loaded.= !Environment\ saved.= Error\ saving\ environment,\ output\ file\ is\ null.=Erro a salvar o ambiente, o ficheiro de saida n\u00e3o existe (null). Error\ saving\ environment.=Erro a salvar o ambiente. Environment\ loaded.=Ambiente carregado. Error\ loading\ environment.=Erro a carregar o ambiente. Error\ loading\ environment\ from\ input\ file.\ =Erro a carregar ambiente do ficheiro de entrada. !Selection\ table\ is\ full,\ please\ remove\ some\ pdf\ document.= !Table\ full= Please\ wait\ while\ reading=Por favor aguarde enquanto o ficheiro \u00e9 lido Selected\ file\ is\ not\ a\ pdf\ document.=O ficheiro seleccionado n\u00e3o \u00e9 um ficheiro pdf. Error\ loading\ =Erro a carregar !Command\ validation\ returned\ an\ empty\ value.= Command\ executed.=Comando executado. File\ name=Nome do ficheiro !Number\ of\ pages= !File\ size= !Pdf\ version= !Encryption= !Not\ encrypted= !Permissions= !Title= !Author= !Subject= !Producer= !Creator= !Creation\ date= !Modification\ date= !Keywords= !Document\ properties= !File= !Close= !Copy= !Error\ creating\ properties\ panel.= Run=Executar Browse=Navegar Add=Adicionar Compress\ output\ file/files=Comprimir ficheiro(s) de sa\u00edda Overwrite\ if\ already\ exists=Substituir ficheiro se este j\u00e1 existir Don't\ preserve\ file\ order\ (fast\ load)=N\u00e3o manter a ordem dos ficheiros (carregamento mais r\u00e1pido) Output\ document\ pdf\ version\:=Vers\u00e3o pdf do documento de sa\u00edda\: !The\ cross\ reference\ table\ cantained\ some\ error\ and\ has\ been\ rebuilt= !The\ document\ has\ not\ been\ opened\ with\ the\ owner\ password.\ You\ must\ provide\ the\ owner\ password\ in\ order\ to\ manipulate\ the\ document= !An\ error\ occured\ while\ loading\ the\ document= Same\ as\ input\ document=Mesmo que o documento de entrada !Path= Pages=P\u00e1ginas !Password= Version=Vers\u00e3o Page\ Selection=Selec\u00e7\u00e3o de P\u00e1ginas Total\ pages\ of\ the\ document=Total de p\u00e1ginas do documento Password\ to\ open\ the\ document\ (if\ needed)=Password para abrir o documento (se necess\u00e1ria) !Pdf\ version\ of\ the\ document= !Double\ click\ to\ set\ pages\ you\ want\ to\ merge\ (ex\:\ 2\ or\ 5-23\ or\ 2,5-7,12-)= Add\ a\ pdf\ to\ the\ list=Adicionar um pdf \u00e0 lista Remove\ a\ pdf\ from\ the\ list=Remover um pdf da lista !(Canc)= Remove=Remover Reload=Recarregar !Error\:\ Unable\ to\ reload\ the\ selected\ file/s.= !Unable\ to\ remove\ JList\ text\ = File\ selected\:\ =Ficheiro seleccionado\: !File\ reloaded\:\ = !Move\ Up= !Move\ up\ selected\ pdf\ file= !(Alt+ArrowUp)= !Move\ Down= !Move\ down\ selected\ pdf\ file= !(Alt+ArrowDown)= !Clear= !Remove\ every\ pdf\ file\ from\ the\ merge\ list= !Set\ output\ file= !Error\:\ Unable\ to\ get\ the\ file\ path.= !Unable\ to\ get\ the\ default\ environment\ informations.= !Setting\ look\ and\ feel...= !Setting\ logging\ level...= !Unable\ to\ find\ log\ level,\ setting\ to\ default\ level\ (DEBUG).= !Logging\ level\ set\ to\ = !Unable\ to\ set\ logging\ level.= !Error\ getting\ plugins\ directory.= !Cannot\ read\ plugins\ directory\ = !Plugins\ directory\ is\ null.= !Found\ zero\ or\ many\ jars\ in\ plugin\ directory\ = !Exception\ loading\ plugins.= !Cannot\ read\ plugin\ directory\ = !\ plugin\ loaded.= !Unable\ to\ load\ a\ plugin\ that\ is\ not\ JPanel\ subclass.= !Error\ loading\ class\ = !Select\ all= !Save\ log= !Save\ environment= !Load\ environment= !Exit= !Unable\ to\ initialize\ menu\ bar.= !started\ in\ = !Loading\ plugins..= !Building\ menus..= !Building\ buttons\ bar..= !Building\ status\ bar..= !Building\ tree..= !Loading\ default\ environment.= !Error\ starting\ pdfsam.= !Clear\ log= !Unable\ to\ initialize\ button\ bar.= !Version\:\ = !Language\:\ = !Developed\ by\:\ = !Build\ date\:\ = !Java\ home\:\ = !Java\ version\:\ = !Max\ memory\:\ = !Configuration\ file\:\ = !Website\:\ = !Name= !About= !Unimplemented\ method\ for\ JInfoPanel= !Contributes\:\ = !Log\ level\:= !Settings= !Look\ and\ feel\:= !Theme\:= !Language\:= !Check\ for\ updates\:= !Load\ default\ environment\ at\ startup\:= !Default\ working\ directory\:= !Error\ getting\ default\ environment.= !Check\ now= !Play\ alert\ sounds= !Settings\ = !Language= !Set\ your\ preferred\ language\ (restart\ needed)= !Look\ and\ feel= !Set\ your\ preferred\ look\ and\ feel\ and\ your\ preferred\ theme\ (restart\ needed)= !Log\ level= !Set\ a\ log\ detail\ level\ (restart\ needed)= !Check\ for\ updates= !Set\ when\ new\ version\ availability\ should\ be\ checked\ (restart\ needed)= !Turn\ on\ or\ off\ alert\ sounds= !Default\ env.= !Select\ a\ previously\ saved\ env.\ file\ that\ will\ be\ automatically\ loaded\ at\ startup= !Default\ working\ directory= !Select\ a\ directory\ where\ documents\ will\ be\ saved\ and\ loaded\ by\ default= Save=Guardar !Configuration\ saved.= !Unimplemented\ method\ for\ JSettingsPanel= !New\ version\ available\:\ = !Plugins= !Error\ getting\ pdf\ version\ description.= !Version\ 1.2\ (Acrobat\ 3)= !Version\ 1.3\ (Acrobat\ 4)= !Version\ 1.4\ (Acrobat\ 5)= !Version\ 1.5\ (Acrobat\ 6)= !Version\ 1.6\ (Acrobat\ 7)= !Version\ 1.7\ (Acrobat\ 8)= !Never= !pdfsam\ start\ up= Output\ file\ location\ is\ not\ correct=A localiza\u00e7\u00e3o do ficheiro de sa\u00edda n\u00e3o \u00e9 correcta Would\ you\ like\ to\ change\ it\ to=Gostaria de mud\u00e1-lo para !Output\ location\ error= !Selected\ output\ file\ already\ exists\ = !Would\ you\ like\ to\ overwrite\ it?= !Provided\ pages\ selection\ is\ not\ valid= !Limits\ must\ be\ a\ comma\ separated\ list\ of\ "page_number"\ or\ "page_number-page_number"= !Limits\ are\ not\ valid= !Checking\ for\ a\ new\ version\ available.= !Error\ checking\ for\ a\ new\ version\ available.= !Unable\ to\ get\ latest\ available\ version= !New\ version\ available.= !No\ new\ version\ available.= !Cut= !Paste= pdfsam-1.1.4/pdfsam-langpack-br1/src/java/org/pdfsam/i18n/resources/Messages_en_GB.properties0000644000175000017500000004100211225342444031716 0ustar twernertwerner!=Project-Id-Version\: pdfsam\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2009-07-09 12\:23+0200\nPO-Revision-Date\: 2008-12-31 19\:02+0000\nLast-Translator\: Luke M. \nLanguage-Team\: \nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Launchpad-Export-Date\: 2009-01-18 15\:08+0000\nX-Generator\: Launchpad (build Unknown)\nX-Poedit-Country\: UNITED KINGDOM\nX-Poedit-Language\: English\n Merge\ options=Merge options PDF\ documents\ contain\ forms=PDF documents contain forms Merge\ type=Merge type Unchecked=Unticked Use\ this\ merge\ type\ for\ standard\ pdf\ documents=Use this merge type for standard pdf documents Checked=Ticked Use\ this\ merge\ type\ for\ pdf\ documents\ containing\ forms=Use this merge type for pdf documents containing forms Note=Note Setting\ this\ option\ the\ documents\ will\ be\ completely\ loaded\ in\ memory=Selecting this option means the documents will be completely loaded in memory Destination\ output\ file=Destination output file Error\:\ =Error\: Browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ file.=Browse or enter the full path to the destination output file. Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ file\ if\ it\ already\ exists.=Tick the box if you want to overwrite the output file if it already exists. Check\ the\ box\ if\ you\ want\ compressed\ output\ files.=Tick the box if you want compressed output files. PDF\ version\ 1.5\ or\ above.=PDF version 1.5 or above. Set\ the\ pdf\ version\ of\ the\ ouput\ document.=Set the pdf version of the ouput document. Please\ wait\ while\ all\ files\ are\ processed..=Please wait while all files are processed.. Found\ a\ password\ for\ input\ file.=Found a password for input file. !Please\ select\ at\ least\ one\ pdf\ document.= !Warning= Execute\ pdf\ merge=Execute pdf merge Merge/Extract=Merge/Extract Merge\ section\ loaded.=Merge section loaded. Export\ as\ xml=Export as xml Unable\ to\ save\ xml\ file.=Unable to save xml file. Ok=Ok File\ xml\ saved.=File xml saved. Error\ saving\ xml\ file,\ output\ file\ is\ null.=Error saving xml file, output file is null. Split\ options=Split options Burst\ (split\ into\ single\ pages)=Burst (split into single pages) Split\ every\ "n"\ pages=Split every "n" pages Split\ even\ pages=Split even pages Split\ odd\ pages=Split odd pages Split\ after\ these\ pages=Split after these pages Split\ at\ this\ size=Split at this size !Split\ by\ bookmarks\ level= Burst=Burst Explode\ the\ pdf\ document\ into\ single\ pages=Explode the pdf document into single pages Split\ the\ document\ every\ "n"\ pages=Split the document every "n" pages Split\ the\ document\ every\ even\ page=Split the document every even page Split\ the\ document\ every\ odd\ page=Split the document every odd page Split\ the\ document\ after\ page\ numbers\ (num1-num2-num3..)=Split the document after page numbers (num1-num2-num3..) !Split\ the\ document\ in\ files\ of\ the\ given\ size\ (roughly)= !Split\ the\ document\ at\ pages\ referred\ by\ bookmarks\ of\ the\ given\ level= !Destination\ folder= Same\ as\ source=Same as source Choose\ a\ folder=Choose a folder Destination\ output\ directory=Destination output directory Use\ the\ same\ output\ folder\ as\ the\ input\ file\ or\ choose\ a\ folder.=Use the same output folder as the input file or choose a folder. To\ choose\ a\ folder\ browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ directory.=To choose a folder browse or enter the full path to the destination output directory. Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ files\ if\ they\ already\ exist.=Tick the box if you want to overwrite the output files if they already exist. !Output\ options= Output\ file\ names\ prefix\:=Output file names prefix\: Output\ files\ prefix=Output files prefix !If\ it\ contains\ "[CURRENTPAGE]",\ "[TIMESTAMP]",\ "[FILENUMBER]"\ or\ "[BOOKMARK_NAME]"\ it\ performs\ variable\ substitution.= Ex.\ prefix_[BASENAME]_[CURRENTPAGE]\ generates\ prefix_FileName_005.pdf.=Ex. prefix_[BASENAME]_[CURRENTPAGE] generates prefix_FileName_005.pdf. !If\ it\ doesn't\ contain\ "[CURRENTPAGE]",\ "[TIMESTAMP]"\ or\ "[FILENUMBER]"\ it\ generates\ oldstyle\ output\ file\ names.= !Available\ variables= Invalid\ split\ size=Invalid split size The\ lowest\ available\ pdf\ version\ is\ =The lowest available pdf version is You\ selected\ a\ lower\ output\ pdf\ version,\ continue\ anyway\ ?=You selected a lower output pdf version, continue anyway ? Pdf\ version\ conflict=Pdf version conflict !Please\ select\ a\ pdf\ document.= Split\ selected\ file=Split selected file Split=Split Split\ section\ loaded.=Split section loaded. Invalid\ unit\:\ =Invalid unit\: !Fill\ from\ document= !Getting\ bookmarks\ max\ depth= !Frontpage\ pdf\ file= !Addendum\ pdf\ file= Select\ at\ least\ one\ cover\ or\ one\ footer=Select at least one cover or one footer !Frontpage\ and\ Addendum= Cover\ And\ Footer\ section\ loaded.=Cover And Footer section loaded. !Encrypt\ options= Owner\ password\:=Owner password\: Owner\ password\ (Max\ 32\ chars\ long)=Owner password (Max 32 chars long) User\ password\:=User password\: User\ password\ (Max\ 32\ chars\ long)=User password (Max 32 chars long) !Encryption\ algorithm\:= Allow\ all=Allow all Print=Print Low\ quality\ print=Low quality print Copy\ or\ extract=Copy or extract Modify=Modify Add\ or\ modify\ text\ annotations=Add or modify text annotations Fill\ form\ fields=Fill form fields Extract\ for\ use\ by\ accessibility\ dev.=Extract for use by accessibility dev. Manipulate\ pages\ and\ add\ bookmarks=Manipulate pages and add bookmarks Check\ the\ box\ if\ you\ want\ compressed\ output\ files\ (Pdf\ version\ 1.5\ or\ higher).=Tick the box if you want compressed output files (Pdf version 1.5 or higher). If\ it\ contains\ "[TIMESTAMP]"\ it\ performs\ variable\ substitution.=If it contains "[TIMESTAMP]" it performs variable substitution. Ex.\ [BASENAME]_prefix_[TIMESTAMP]\ generates\ FileName_prefix_20070517_113423471.pdf.=Ex. [BASENAME]_prefix_[TIMESTAMP] generates FileName_prefix_20070517_113423471.pdf. If\ it\ doesn't\ contain\ "[TIMESTAMP]"\ it\ generates\ oldstyle\ output\ file\ names.=If it doesn't contain "[TIMESTAMP]" it generates oldstyle output file names. Available\ variables\:\ [TIMESTAMP],\ [BASENAME].=Available variables\: [TIMESTAMP], [BASENAME]. Encrypt\ selected\ files=Encrypt selected files Encrypt=Encrypt Encrypt\ section\ loaded.=Encrypt section loaded. !Decrypt\ selected\ files= !Decrypt= !Decrypt\ section\ loaded.= !Mix\ options= Reverse\ first\ document=Reverse first document Reverse\ second\ document=Reverse second document !Number\ of\ pages\ to\ switch\ document= !Tick\ the\ boxes\ if\ you\ want\ to\ reverse\ the\ first\ or\ the\ second\ document\ (or\ both).= !Set\ the\ number\ of\ pages\ to\ switch\ from\ a\ document\ to\ the\ other\ one\ (default\ is\ 1).= Found\ a\ password\ for\ first\ file.=Found a password for first file. Found\ a\ password\ for\ second\ file.=Found a password for second file. Please\ select\ two\ pdf\ documents.=Please select two pdf documents. Execute\ pdf\ alternate\ mix=Execute pdf alternate mix Alternate\ Mix=Alternate Mix AlternateMix\ section\ loaded.=AlternateMix section loaded. Unpack\ selected\ files=Unpack selected files Unpack=Unpack Unpack\ section\ loaded.=Unpack section loaded. !Set\ viewer\ options= !Hide\ the\ menubar= !Hide\ the\ toolbar= !Hide\ user\ interface\ elements= !Rezise\ the\ window\ to\ fit\ the\ page\ size= !Center\ of\ the\ screen= !Display\ document\ title\ as\ window\ title= !Pdf\ version\ required\:= !No\ page\ scaling\ in\ print\ dialog= !Viewer\ layout\:= !Viewer\ open\ mode\:= !Non\ fullscreen\ mode\:= !Direction\:= !Set\ options= !Set\ viewer\ options\ for\ selected\ files= !Left\ to\ right= !Right\ to\ left= !None= !Fullscreen= !Attachments= !Optional\ content\ group\ panel= !Document\ outline= !Thumbnail\ images= !One\ page\ at\ a\ time= !Pages\ in\ one\ column= !Pages\ in\ two\ columns\ (odd\ on\ the\ left)= !Pages\ in\ two\ columns\ (odd\ on\ the\ right)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ left)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ right)= !Viewer\ options= !Viewer\ options\ section\ loaded.= Save\ passwords\ informations\ (they\ will\ be\ readable\ opening\ the\ output\ file)?=Save password information (they will be readable opening the output file)? Confirm\ password\ saving=Confirm password saving Unknown\ action.=Unknown action. Log\ saved.=Log saved. \ node\ environment\ loaded.=\ node environment loaded. Environment\ saved.=Environment saved. Error\ saving\ environment,\ output\ file\ is\ null.=Error saving environment, output file is null. Error\ saving\ environment.=Error saving environment. Environment\ loaded.=Environment loaded. Error\ loading\ environment.=Error loading environment. Error\ loading\ environment\ from\ input\ file.\ =Error loading environment from input file. Selection\ table\ is\ full,\ please\ remove\ some\ pdf\ document.=Selection table is full, please remove some pdf document. Table\ full=Table full Please\ wait\ while\ reading=Please wait while reading Selected\ file\ is\ not\ a\ pdf\ document.=Selected file is not a pdf document. Error\ loading\ =Error loading Command\ validation\ returned\ an\ empty\ value.=Command validation returned an empty value. Command\ executed.=Command executed. File\ name=File name !Number\ of\ pages= !File\ size= !Pdf\ version= !Encryption= !Not\ encrypted= !Permissions= !Title= Author=Author !Subject= !Producer= !Creator= !Creation\ date= !Modification\ date= !Keywords= !Document\ properties= File=File !Close= Copy=Copy !Error\ creating\ properties\ panel.= Run=Run Browse=Browse Add=Add Compress\ output\ file/files=Compress output file/files Overwrite\ if\ already\ exists=Overwrite if already exists Don't\ preserve\ file\ order\ (fast\ load)=Don't preserve file order (fast load) Output\ document\ pdf\ version\:=Output document pdf version\: !The\ cross\ reference\ table\ cantained\ some\ error\ and\ has\ been\ rebuilt= !The\ document\ has\ not\ been\ opened\ with\ the\ owner\ password.\ You\ must\ provide\ the\ owner\ password\ in\ order\ to\ manipulate\ the\ document= !An\ error\ occured\ while\ loading\ the\ document= Same\ as\ input\ document=Same as input document Path=Path Pages=Pages Password=Password Version=Version Page\ Selection=Page Selection Total\ pages\ of\ the\ document=Total pages of the document Password\ to\ open\ the\ document\ (if\ needed)=Password to open the document (if needed) Pdf\ version\ of\ the\ document=Pdf version of the document !Double\ click\ to\ set\ pages\ you\ want\ to\ merge\ (ex\:\ 2\ or\ 5-23\ or\ 2,5-7,12-)= Add\ a\ pdf\ to\ the\ list=Add a pdf to the list Remove\ a\ pdf\ from\ the\ list=Remove a pdf from the list (Canc)=(Canc) Remove=Remove Reload=Reload Error\:\ Unable\ to\ reload\ the\ selected\ file/s.=Error\: Unable to reload the selected file/s. Unable\ to\ remove\ JList\ text\ =Unable to remove JList text File\ selected\:\ =File selected\: File\ reloaded\:\ =File reloaded\: Move\ Up=Move Up Move\ up\ selected\ pdf\ file=Move up selected pdf file (Alt+ArrowUp)=(Alt+ArrowUp) Move\ Down=Move Down Move\ down\ selected\ pdf\ file=Move down selected pdf file (Alt+ArrowDown)=(Alt+ArrowDown) Clear=Clear Remove\ every\ pdf\ file\ from\ the\ merge\ list=Remove every pdf file from the merge list Set\ output\ file=Set output file Error\:\ Unable\ to\ get\ the\ file\ path.=Error\: Unable to get the file path. Unable\ to\ get\ the\ default\ environment\ informations.=Unable to get the default environment information. Setting\ look\ and\ feel...=Setting look and feel... Setting\ logging\ level...=Setting logging level... Unable\ to\ find\ log\ level,\ setting\ to\ default\ level\ (DEBUG).=Unable to find log level, setting to default level (DEBUG). Logging\ level\ set\ to\ =Logging level set to Unable\ to\ set\ logging\ level.=Unable to set logging level. Error\ getting\ plugins\ directory.=Error getting plugins directory. Cannot\ read\ plugins\ directory\ =Cannot read plugins directory Plugins\ directory\ is\ null.=Plugins directory is null. Found\ zero\ or\ many\ jars\ in\ plugin\ directory\ =Found zero or many jars in plugin directory Exception\ loading\ plugins.=Exception loading plugins. Cannot\ read\ plugin\ directory\ =Cannot read plugin directory \ plugin\ loaded.=\ plugin loaded. Unable\ to\ load\ a\ plugin\ that\ is\ not\ JPanel\ subclass.=Unable to load a plugin that is not JPanel subclass. Error\ loading\ class\ =Error loading class Select\ all=Select all Save\ log=Save log Save\ environment=Save environment Load\ environment=Load environment Exit=Exit Unable\ to\ initialize\ menu\ bar.=Unable to initialise menu bar. started\ in\ =started in Loading\ plugins..=Loading plugins.. Building\ menus..=Building menus.. Building\ buttons\ bar..=Building buttons bar.. Building\ status\ bar..=Building status bar.. Building\ tree..=Building tree.. Loading\ default\ environment.=Loading default environment. Error\ starting\ pdfsam.=Error starting pdfsam. Clear\ log=Clear log Unable\ to\ initialize\ button\ bar.=Unable to initialise button bar. Version\:\ =Version\: Language\:\ =Language\: !Developed\ by\:\ = Build\ date\:\ =Build date\: Java\ home\:\ =Java home\: Java\ version\:\ =Java version\: Max\ memory\:\ =Max memory\: Configuration\ file\:\ =Configuration file\: Website\:\ =Website\: Name=Name About=About Unimplemented\ method\ for\ JInfoPanel=Unimplemented method for JInfoPanel Contributes\:\ =Contributes\: Log\ level\:=Log level\: Settings=Settings Look\ and\ feel\:=Look and feel\: Theme\:=Theme\: Language\:=Language\: Check\ for\ updates\:=Check for updates\: Load\ default\ environment\ at\ startup\:=Load default environment at startup\: Default\ working\ directory\:=Default working directory\: Error\ getting\ default\ environment.=Error getting default environment. Check\ now=Check now !Play\ alert\ sounds= Settings\ =Settings Language=Language Set\ your\ preferred\ language\ (restart\ needed)=Set your preferred language (restart needed) Look\ and\ feel=Look and feel Set\ your\ preferred\ look\ and\ feel\ and\ your\ preferred\ theme\ (restart\ needed)=Set your preferred look and feel and your preferred theme (restart needed) Log\ level=Log level Set\ a\ log\ detail\ level\ (restart\ needed)=Set a log detail level (restart needed) Check\ for\ updates=Check for updates Set\ when\ new\ version\ availability\ should\ be\ checked\ (restart\ needed)=Set when new version availability should be checked (restart needed) !Turn\ on\ or\ off\ alert\ sounds= Default\ env.=Default env. Select\ a\ previously\ saved\ env.\ file\ that\ will\ be\ automatically\ loaded\ at\ startup=Select a previously saved env. file that will be automatically loaded at startup Default\ working\ directory=Default working directory Select\ a\ directory\ where\ documents\ will\ be\ saved\ and\ loaded\ by\ default=Select a directory where documents will be saved and loaded by default Save=Save Configuration\ saved.=Configuration saved. Unimplemented\ method\ for\ JSettingsPanel=Unimplemented method for JSettingsPanel New\ version\ available\:\ =New version available\: Plugins=Plugins Error\ getting\ pdf\ version\ description.=Error getting pdf version description. Version\ 1.2\ (Acrobat\ 3)=Version 1.2 (Acrobat 3) Version\ 1.3\ (Acrobat\ 4)=Version 1.3 (Acrobat 4) Version\ 1.4\ (Acrobat\ 5)=Version 1.4 (Acrobat 5) Version\ 1.5\ (Acrobat\ 6)=Version 1.5 (Acrobat 6) Version\ 1.6\ (Acrobat\ 7)=Version 1.6 (Acrobat 7) Version\ 1.7\ (Acrobat\ 8)=Version 1.7 (Acrobat 8) Never=Never pdfsam\ start\ up=pdfsam start up Output\ file\ location\ is\ not\ correct=Output file location is not correct Would\ you\ like\ to\ change\ it\ to=Would you like to change it to Output\ location\ error=Output location error !Selected\ output\ file\ already\ exists\ = !Would\ you\ like\ to\ overwrite\ it?= !Provided\ pages\ selection\ is\ not\ valid= !Limits\ must\ be\ a\ comma\ separated\ list\ of\ "page_number"\ or\ "page_number-page_number"= !Limits\ are\ not\ valid= Checking\ for\ a\ new\ version\ available.=Checking if a new version is available. Error\ checking\ for\ a\ new\ version\ available.=Error checking if a new version is available. Unable\ to\ get\ latest\ available\ version=Unable to get latest available version New\ version\ available.=New version available. No\ new\ version\ available.=No new version available. Cut=Cut Paste=Paste pdfsam-1.1.4/pdfsam-langpack-br1/src/java/org/pdfsam/i18n/resources/Messages_nl.properties0000644000175000017500000013127511225342444031371 0ustar twernertwerner# Dutch translation for pdfsam # Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 # This file is distributed under the same license as the pdfsam package. # FIRST AUTHOR , 2007. # !=Project-Id-Version\: pdfsam\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2009-07-09 12\:23+0200\nPO-Revision-Date\: 2009-03-30 10\:21+0000\nLast-Translator\: Wim Rosseel \nLanguage-Team\: Dutch \nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Launchpad-Export-Date\: 2009-05-29 14\:40+0000\nX-Generator\: Launchpad (build Unknown)\n Merge\ options=Samenvoeg opties # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:389 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:392 PDF\ documents\ contain\ forms=PDF documenten bevatten formulieren # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:394 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:397 Merge\ type=Samenvoeg type Unchecked=Niet aangevinkt # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:395 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:398 Use\ this\ merge\ type\ for\ standard\ pdf\ documents=Gebruik dit samenvoeg-type voor standaard pdf-documenten # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:396 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:399 Checked=Aangevinkt # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:396 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:399 Use\ this\ merge\ type\ for\ pdf\ documents\ containing\ forms=Gebruik dit samenvoeg-type voor pdf-documenten met formulieren # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:397 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:400 Note=Notitie # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:397 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:400 Setting\ this\ option\ the\ documents\ will\ be\ completely\ loaded\ in\ memory=Door deze optie te kiezen zal het document volledig in het geheugen geladen worden # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:440 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:255 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:444 Destination\ output\ file=Doelbestand # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:387 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:414 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:441 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:599 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:619 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:649 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:879 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:983 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:616 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:423 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:588 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:608 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:638 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:861 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:977 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:143 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:170 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:237 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:498 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:539 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:256 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:427 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:599 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:907 Error\:\ =Fout\: # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:441 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:256 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:445 Browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ file.=Blader door het bestandssysteem of typ het volledige pad naar het doelbestand. # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:442 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:257 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:446 Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ file\ if\ it\ already\ exists.=Vink de optie aan indien u het doelbestand wil overschrijven als het reeds bestaat. Check\ the\ box\ if\ you\ want\ compressed\ output\ files.=Vink de optie aan indien u gecomprimeerde uitvoer wenst. PDF\ version\ 1.5\ or\ above.=PDF versie 1.5 of hoger. Set\ the\ pdf\ version\ of\ the\ ouput\ document.=Instellen van de pdf-versie van het output-document. # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:469 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:408 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:451 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:509 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:511 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:350 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:455 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:514 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:516 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:346 Please\ wait\ while\ all\ files\ are\ processed..=Een moment geduld om alle bestanden te verwerken.. Found\ a\ password\ for\ input\ file.=Wachtwoord gevonden voor het input-bestand Please\ select\ at\ least\ one\ pdf\ document.=Selecteer minimaal \u00e9\u00e9n PDF document Warning=Waarschuwing Execute\ pdf\ merge=Samenvoegen van pdf's uitvoeren Merge/Extract=Voeg samen/extraheer # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:858 Merge\ section\ loaded.=Samenvoeg-sectie geladen Export\ as\ xml=Exporteren als xml Unable\ to\ save\ xml\ file.=Kon het xml bestand niet wegschrijven\! Ok=Ok File\ xml\ saved.=XML bestand bewaard. Error\ saving\ xml\ file,\ output\ file\ is\ null.=Fout bij het bewaren van uw xml bestand\! Het uitvoerbestand werd niet gespecifieerd. # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:220 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:220 Split\ options=Opties voor splitsen # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:195 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:194 Burst\ (split\ into\ single\ pages)=Uitpakken (in enkele pagina's splitsen) # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:198 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:222 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:197 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:222 Split\ every\ "n"\ pages=Splist om de 'n' pagina's # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:206 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:223 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:205 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:223 Split\ even\ pages=Splist even pagina's # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:209 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:224 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:208 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:224 Split\ odd\ pages=Splits oneven pagina's # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:212 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:225 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:211 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:225 Split\ after\ these\ pages=Splits na deze pagina's Split\ at\ this\ size=Splits na deze grootte Split\ by\ bookmarks\ level=Splits op het bookmark niveau # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:221 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:221 Burst=Uitpakken # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:221 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:221 Explode\ the\ pdf\ document\ into\ single\ pages=Het document in enkele pagina's opsplitsen # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:222 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:222 Split\ the\ document\ every\ "n"\ pages=Splits het document om de 'n' pagina's # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:223 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:223 Split\ the\ document\ every\ even\ page=Splist het document op de even pagina's # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:224 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:224 Split\ the\ document\ every\ odd\ page=Splist het document op de oneven pagina's # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:225 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:225 Split\ the\ document\ after\ page\ numbers\ (num1-num2-num3..)=Splits het document na de volgende pagina nummers (num1-num2-num3..) Split\ the\ document\ in\ files\ of\ the\ given\ size\ (roughly)=Splits de documenten in files van de opgegeven grootte (ongeveer) Split\ the\ document\ at\ pages\ referred\ by\ bookmarks\ of\ the\ given\ level=Splits de documenten op het opgegeven bookmark niveau Destination\ folder=Doelmap # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:297 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:256 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:256 Same\ as\ source=Dezelfde als de bron # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:301 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:260 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:260 Choose\ a\ folder=Kies een map # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:458 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:345 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:309 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:305 Destination\ output\ directory=Doelmap # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:346 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:310 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:306 Use\ the\ same\ output\ folder\ as\ the\ input\ file\ or\ choose\ a\ folder.=Gebruik dezelfde doelmap als van het invoerbestand of kies een doelmap # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:347 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:311 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:307 To\ choose\ a\ folder\ browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ directory.=Om een map te kiezen blader door naar de doelmap of typ het volledige pad in # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:460 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:348 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:312 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:308 Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ files\ if\ they\ already\ exist.=Aanvinken als je het doelbestand wilt overschrijven mocht het reeds bestaan. Output\ options=Resultaat opties # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:384 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:326 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:322 Output\ file\ names\ prefix\:=Voorvoegsel doelbestand # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:394 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:336 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:331 Output\ files\ prefix=Voorvoegsel doelbestanden If\ it\ contains\ "[CURRENTPAGE]",\ "[TIMESTAMP]",\ "[FILENUMBER]"\ or\ "[BOOKMARK_NAME]"\ it\ performs\ variable\ substitution.=Als het "[CURRENTPAGE]", "[TIMESTAMP]", "[FILENUMBER]" of "[BOOKMARK_NAME]" bevat, wordt er een variabele substitutie uitgevoerd. # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:338 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:333 Ex.\ prefix_[BASENAME]_[CURRENTPAGE]\ generates\ prefix_FileName_005.pdf.=bijv\: voorvoegsel_[BASENAME]_[CURRENTPAGE] wordt voorvoegsel_bestandsnaam_005.pdf. If\ it\ doesn't\ contain\ "[CURRENTPAGE]",\ "[TIMESTAMP]"\ or\ "[FILENUMBER]"\ it\ generates\ oldstyle\ output\ file\ names.=Wanneer het geen "[CURRENTPAGE]", "[TIMESTAMP]" of "[FILENUMBER]" bevat worden bestandsnamen op de oude manier gegenereerd. Available\ variables=Beschikbare variabelen Invalid\ split\ size=Ongeldige splitsingsgrootte The\ lowest\ available\ pdf\ version\ is\ =De laagst beschikbare pdf versie is You\ selected\ a\ lower\ output\ pdf\ version,\ continue\ anyway\ ?=U hebt een lagere pdf versie voor de uitvoer gekozen, wenst u toch verder te gaan? Pdf\ version\ conflict="Pdf-versie"-conflict Please\ select\ a\ pdf\ document.=Selecteer een pdf document. # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:411 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:409 Split\ selected\ file=Splits geselecteerd bestand Split=Splitsen Split\ section\ loaded.=Splits-sectie geladen Invalid\ unit\:\ =Ongeldige eenheid\: Fill\ from\ document=Vul vanuit document Getting\ bookmarks\ max\ depth=Verkrijgen van de maximale diepte van de bladwijzers !Frontpage\ pdf\ file= !Addendum\ pdf\ file= Select\ at\ least\ one\ cover\ or\ one\ footer=Selecteer minstens \u00e9\u00e9n voorblad of \u00e9\u00e9n bijlage Frontpage\ and\ Addendum=Voorpagina en addendum Cover\ And\ Footer\ section\ loaded.=Voorblad- en bijlage ingeladen. Encrypt\ options=Versleutel opties # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:206 Owner\ password\:=Wachtwoord van de eigenaar\: # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:210 Owner\ password\ (Max\ 32\ chars\ long)=Wachtwoord van de eigenaar (max. 32 karakters) User\ password\:=Gebruikerswachtwoord\: User\ password\ (Max\ 32\ chars\ long)=Gebruikerswachtwoord (max. 32 karakters) Encryption\ algorithm\:=Versleutel argoritme\: # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:253 Allow\ all=Iedereen toelaten Print=Afdrukken # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:232 Low\ quality\ print=Afdrukken op lage kwaliteit # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:235 Copy\ or\ extract=Kopieren of uitpakken # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:238 Modify=Bewerk # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:241 Add\ or\ modify\ text\ annotations=Toevoegen of wijzigen van tekstannotaties Fill\ form\ fields=Formuliervelden invullen # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:247 Extract\ for\ use\ by\ accessibility\ dev.=Uitpakken voor gebruik door toegankelijkheidsapparaten # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:250 Manipulate\ pages\ and\ add\ bookmarks=Pagina\u00b4s aanpassen en referenties toevoegen Check\ the\ box\ if\ you\ want\ compressed\ output\ files\ (Pdf\ version\ 1.5\ or\ higher).=Aanvinken indien je gecomprimeerde uitvoer wenst (Pdf versie 1.5 of hoger) # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:395 If\ it\ contains\ "[TIMESTAMP]"\ it\ performs\ variable\ substitution.=Als het "[TIMESTAMP]" bevat dan zal deze variabele worden vervangen # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:396 Ex.\ [BASENAME]_prefix_[TIMESTAMP]\ generates\ FileName_prefix_20070517_113423471.pdf.=bijv\: [BASENAME]_voorvoegsel_[TIMESTAMP] wordt bestandsnaam_voorvoegsel_20070517_113423471.pdf. # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:397 If\ it\ doesn't\ contain\ "[TIMESTAMP]"\ it\ generates\ oldstyle\ output\ file\ names.=Als het "[TIMESTAMP]" niet bevat dan wordt de naam van het doelbestand op de oude manier vastgesteld. # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:398 Available\ variables\:\ [TIMESTAMP],\ [BASENAME].=Beschikbare variabelen\: [TIMESTAMP], [BASENAME]. # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:463 Encrypt\ selected\ files=Versleutel geselecteerd bestand Encrypt=Versleutelen # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:613 Encrypt\ section\ loaded.=Versleutel-sectie geladen Decrypt\ selected\ files=Ontsleutel de geselecteerde bestanden Decrypt=Ontsleutelen Decrypt\ section\ loaded.=Ontsleutel sectie geladen Mix\ options=Mix opties Reverse\ first\ document=Eerste document achterstevoren zetten Reverse\ second\ document=Tweede document achterstevoren zetten Number\ of\ pages\ to\ switch\ document=Aantal paginas waarna van document gewisseld moet worden Tick\ the\ boxes\ if\ you\ want\ to\ reverse\ the\ first\ or\ the\ second\ document\ (or\ both).=Zet een vinkje als je het eerste of tweede document wilt omdraaien (of beide). Set\ the\ number\ of\ pages\ to\ switch\ from\ a\ document\ to\ the\ other\ one\ (default\ is\ 1).=Stel het aantal pagina's in waarna gewisseld moet worden van document (standaar waarde is 1). Found\ a\ password\ for\ first\ file.=Een paswoord voor het eerste bestand gevonden. Found\ a\ password\ for\ second\ file.=Een paswoord voor het tweede bestand gevonden. Please\ select\ two\ pdf\ documents.=Gelieve 2 pdf bestanden te selecteren. # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:318 Execute\ pdf\ alternate\ mix=Om-en-om mix van pdf's uitvoeren Alternate\ Mix=Mix om en om # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:495 AlternateMix\ section\ loaded.=Om-en-om mix sectie geladen Unpack\ selected\ files=Uitpakken geselecteerde bestanden Unpack=Pak uit Unpack\ section\ loaded.=Sectie "uitpakken" geladen. Set\ viewer\ options=Stel viewer opties in Hide\ the\ menubar=Verberg de menubalk Hide\ the\ toolbar=De werkbalk verbergen Hide\ user\ interface\ elements=Verberg de gebruikersinterface elementen Rezise\ the\ window\ to\ fit\ the\ page\ size=Schaal het venster zodat de pagina grootte past. Center\ of\ the\ screen=Middelpunt van het scherm Display\ document\ title\ as\ window\ title=Toon de documenttitel als venstertitel Pdf\ version\ required\:=Pdf versie is noodzakelijk\: No\ page\ scaling\ in\ print\ dialog=Geen print verschaling in de printer dialoog !Viewer\ layout\:= !Viewer\ open\ mode\:= Non\ fullscreen\ mode\:=Venstermode\: Direction\:=Richting\: Set\ options=Opties instellen !Set\ viewer\ options\ for\ selected\ files= Left\ to\ right=Van links naar rechts Right\ to\ left=Van rechts naar links None=Geen Fullscreen=Volledig scherm Attachments=Bijlagen Optional\ content\ group\ panel=Optioneel informatiegroeppaneel Document\ outline=Documentstructuur Thumbnail\ images=Miniatuur weergave One\ page\ at\ a\ time=Een pagina gelijktijdig Pages\ in\ one\ column=Pagina's in een kolom Pages\ in\ two\ columns\ (odd\ on\ the\ left)=Pagina's in twee kolommen (oneven aan de linkerkant) Pages\ in\ two\ columns\ (odd\ on\ the\ right)=Pagina's in twee kolommen (oneven aan de rechterkant) Two\ pages\ at\ a\ time\ (odd\ on\ the\ left)=Twee pagina's gelijktijdig (oneven aan de linkerkant) Two\ pages\ at\ a\ time\ (odd\ on\ the\ right)=Twee pagina's gelijktijdig (oneven aan de rechterkant) !Viewer\ options= !Viewer\ options\ section\ loaded.= Save\ passwords\ informations\ (they\ will\ be\ readable\ opening\ the\ output\ file)?=Wenst u de paswoorden te bewaren? (Opgepast, de paswoorden zullen leesbaar zijn in het uitvoerbestand\!) Confirm\ password\ saving=Bevestig de keuze om paswoorden te bewaren. # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:233 Unknown\ action.=Onbekende actie. # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:253 Log\ saved.=Log bewaard. \ node\ environment\ loaded.=\ instellingen geladen. Environment\ saved.=Omgeving bewaren. Error\ saving\ environment,\ output\ file\ is\ null.=Fout bij het bewaren van de omgeving. Outvoerbestand werd niet geconfigureerd. Error\ saving\ environment.=Fout bij het opslaan van de instellingen. Environment\ loaded.=Instellingen geladen. Error\ loading\ environment.=Fout bij het laden van de instellingen. Error\ loading\ environment\ from\ input\ file.\ =Fout bij het laden van uw omgeving uit het invoerbestand. Selection\ table\ is\ full,\ please\ remove\ some\ pdf\ document.=Selectietabel is vol. Gelieve enkele pdf documenten te verwijderen. Table\ full=Tabel vol Please\ wait\ while\ reading=Gelieve te wachten tijdens het inlezen Selected\ file\ is\ not\ a\ pdf\ document.=Het geselecteerde bestand wordt niet herkend als pdf bestand. Error\ loading\ =Fout bij het laden Command\ validation\ returned\ an\ empty\ value.=Validate gaf een lege waarde terug. Command\ executed.=Commando uitgevoerd. # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:180 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:178 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:181 File\ name=Bestandsnaam Number\ of\ pages=Aantal pagina's File\ size=Bestandsgrootte Pdf\ version=Pdfversie Encryption=Encryptie Not\ encrypted=Niet ge\u00ebncrypteerd Permissions=Rechten Title=Titel # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:118 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\GUI\InfoGUI.java:128 Author=Auteur Subject=Onderwerp !Producer= !Creator= Creation\ date=Creatiedatum Modification\ date=Wijzigingsdatum Keywords=Sleutelwoorden Document\ properties=Documentseigenschappen # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:55 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\GUI\MainGUI.java:217 File=Bestand # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\GUI\InfoGUI.java:150 Close=Afsluiten # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:99 Copy=Kopie\u00ebren Error\ creating\ properties\ panel.=Fout bij het cre\u00ebren van het eigenschappenpaneel. Run=Voer uit # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:394 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:421 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:448 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:175 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:340 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:430 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:150 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:177 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:244 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:164 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:304 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:233 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:434 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:163 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:300 Browse=Bladeren # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:264 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:257 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:260 Add=Toevoegen Compress\ output\ file/files=Comprimeer het/de doelbestand/-en # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:452 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:315 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:434 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:249 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:279 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:438 Overwrite\ if\ already\ exists=Bestand overschrijven als het reeds bestaat Don't\ preserve\ file\ order\ (fast\ load)=Bewaar de orde van bestanden niet (snel laden) Output\ document\ pdf\ version\:=Pdf-versie van het doelbestand\: !The\ cross\ reference\ table\ cantained\ some\ error\ and\ has\ been\ rebuilt= !The\ document\ has\ not\ been\ opened\ with\ the\ owner\ password.\ You\ must\ provide\ the\ owner\ password\ in\ order\ to\ manipulate\ the\ document= !An\ error\ occured\ while\ loading\ the\ document= Same\ as\ input\ document=Gelijk aan het invoerbestand # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:181 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:179 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:182 Path=Pad # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:182 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:180 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:183 Pages=Pagina's Password=Wachtwoord # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:118 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\GUI\InfoGUI.java:128 Version=Versie\: # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:183 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:181 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:184 Page\ Selection=Paginaselectie Total\ pages\ of\ the\ document=Totale paginas in het document Password\ to\ open\ the\ document\ (if\ needed)=Paswoord om het document to openen (indien nodig) Pdf\ version\ of\ the\ document=Pdf-versie van het document !Double\ click\ to\ set\ pages\ you\ want\ to\ merge\ (ex\:\ 2\ or\ 5-23\ or\ 2,5-7,12-)= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:232 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:225 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:228 Add\ a\ pdf\ to\ the\ list=Een pdf aan de lijst toevoegen # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:269 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:262 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:265 Remove\ a\ pdf\ from\ the\ list=Verwijder een pdf uit de lijst (Canc)=(Annuleer) # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:273 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:317 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:266 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:311 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:269 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:314 Remove=Verwijder Reload=Herladen Error\:\ Unable\ to\ reload\ the\ selected\ file/s.=Fout\: Kon de geselecteerde bestanden niet herladen. Unable\ to\ remove\ JList\ text\ =Het verwijderen van de JList text blijkt niet mogelijk # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:596 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:646 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:585 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:635 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:596 File\ selected\:\ =Geselecteerd bestand\: File\ reloaded\:\ =Bestand herladen\: # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:273 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:320 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:276 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:323 Move\ Up=Verplaats omhoog # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:274 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:277 Move\ up\ selected\ pdf\ file=Verplaats geselecteerde pdf omhoog (Alt+ArrowUp)=(Alt+PijlOmhoog) # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:282 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:329 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:285 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:332 Move\ Down=Verplaats omlaag # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:283 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:286 Move\ down\ selected\ pdf\ file=Verplaats geselecteerde pdf omlaag (Alt+ArrowDown)=(Alt+PijlOmlaag) # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:284 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:294 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:105 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:297 Clear=Leegmaken # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:295 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:298 Remove\ every\ pdf\ file\ from\ the\ merge\ list=Verwijder elke pdf uit de samenvoeglijst # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:326 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:338 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:341 Set\ output\ file=Doelbestand instellen # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:338 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:350 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:353 Error\:\ Unable\ to\ get\ the\ file\ path.=Fout\: Kan pad niet vinden Unable\ to\ get\ the\ default\ environment\ informations.=Kon de standaard omgevingsinformatie niet ophalen. Setting\ look\ and\ feel...="Look and Feel" instellen... Setting\ logging\ level...=Stel het logniveau in... Unable\ to\ find\ log\ level,\ setting\ to\ default\ level\ (DEBUG).=Kon het logniveau niet vinden. Standaard logniveau wordt ingesteld (DEBUG). # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:143 Logging\ level\ set\ to\ =Log level\: Unable\ to\ set\ logging\ level.=Kon het gevraagde logniveau niet instellen. Error\ getting\ plugins\ directory.=Fout bij het ophalen van de plugin-map. Cannot\ read\ plugins\ directory\ =Kan het plugin-pad niet lezen Plugins\ directory\ is\ null.=Plugin-pad is niet geconfigureerd. Found\ zero\ or\ many\ jars\ in\ plugin\ directory\ =Geen of veel jars op het plugin-pad gevonden Exception\ loading\ plugins.=Fout bij het laden van de plugins. Cannot\ read\ plugin\ directory\ =Kon het plugin-pad niet openen \ plugin\ loaded.=\ plugin geladen. Unable\ to\ load\ a\ plugin\ that\ is\ not\ JPanel\ subclass.=Kon een plugin niet laden. De plugin is geen JPanel subklasse. Error\ loading\ class\ =Fout bij het laden van een klasse # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:112 Select\ all=Alles selecteren # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:117 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:121 Save\ log=Log opslaan # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:109 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:58 Save\ environment=Instellingen opslaan # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:113 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:64 Load\ environment=Instellingen laden # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:125 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:70 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\GUI\MainGUI.java:237 Exit=Afsluiten Unable\ to\ initialize\ menu\ bar.=Kon het menu niet initializeren. started\ in\ =gestart in # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:188 Loading\ plugins..=Plugins laden.. # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:167 Building\ menus..=Menu's opbouwen.. # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:173 Building\ buttons\ bar..=Knoppenbalk opbouwen.. # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:259 Building\ status\ bar..=Statusbalk opbouwen.. # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:231 Building\ tree..=Boomstructuur opbouwen.. Loading\ default\ environment.=Standaard omgevingsinformatie wordt opgehaald. Error\ starting\ pdfsam.=Fout bij het starten van pdfsam. # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:121 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\GUI\MainGUI.java:226 Clear\ log=Log wissen Unable\ to\ initialize\ button\ bar.=Kon de knoppenbalk niet initializeren. # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 Version\:\ =Versie\: # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\GUI\InfoGUI.java:118 Language\:\ =Taal\: !Developed\ by\:\ = # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\GUI\InfoGUI.java:118 Build\ date\:\ =Versie datum\: Java\ home\:\ =Java installatiepad\: Java\ version\:\ =Java versie\: Max\ memory\:\ =Maximum geheugen\: Configuration\ file\:\ =Configuratiebestand\: # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\GUI\InfoGUI.java:118 Website\:\ =Website\: # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:118 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\GUI\InfoGUI.java:128 Name=Naam # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\GUI\MainGUI.java:222 About=Info over Unimplemented\ method\ for\ JInfoPanel=Methode niet ge\u00efmplementeerd voor het JInfoPanel # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:167 Contributes\:\ =Bijdragen\: # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:128 Log\ level\:=Logniveau\: Settings=Instellingen # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:119 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\panels\JSettingsPanel.java:110 Look\ and\ feel\:=Look and feel\: # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:122 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\panels\JSettingsPanel.java:113 Theme\:=Thema\: # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:125 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\panels\JSettingsPanel.java:116 Language\:=Taal\: Check\ for\ updates\:=Updates zoeken\: # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:131 Load\ default\ environment\ at\ startup\:=Laad standaardinstellingen bij het opstarten\: Default\ working\ directory\:=Standaard werkpad\: Error\ getting\ default\ environment.=Fout bij het ophalen van de standaard instellingen. Check\ now=Nu controleren Play\ alert\ sounds=Geef een waarchuwingstoon # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:223 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\panels\JSettingsPanel.java:181 Settings\ =Instellingen # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:224 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\panels\JSettingsPanel.java:182 Language=Taal # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:224 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\panels\JSettingsPanel.java:182 Set\ your\ preferred\ language\ (restart\ needed)=Stel uw voorkeurstaal in (herstart noodzakelijk) # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:225 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\panels\JSettingsPanel.java:183 Look\ and\ feel=Look and feel # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:225 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\panels\JSettingsPanel.java:183 Set\ your\ preferred\ look\ and\ feel\ and\ your\ preferred\ theme\ (restart\ needed)=Stel de look and feel van uw voorkeur en uw voorkeursthema in (herstart noodzakelijk) # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:226 Log\ level=Log niveau # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:226 Set\ a\ log\ detail\ level\ (restart\ needed)=Stel een detailniveau voor logs in (herstart noodzakelijk) Check\ for\ updates=Updates zoeken Set\ when\ new\ version\ availability\ should\ be\ checked\ (restart\ needed)=Instellen wanneer de beschikbaarheid van een nieuwe versie dient gecontroleerd te worden. (Herstarten van de applicatie is noodzakelijk.) Turn\ on\ or\ off\ alert\ sounds=Schakel waarschuwingstonen aan of uit # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:227 Default\ env.=standaard omgeving # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:227 Select\ a\ previously\ saved\ env.\ file\ that\ will\ be\ automatically\ loaded\ at\ startup=Selecteer een eerder opgeslagen env. bestand dat automatisch zal worden geladen bij het opstarten Default\ working\ directory=Geen standaard werkpad beschikbaar Select\ a\ directory\ where\ documents\ will\ be\ saved\ and\ loaded\ by\ default=Selecteer een pad waar uw documenten standaard bewaard en gelezen zullen worden. # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:257 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:241 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\panels\JSettingsPanel.java:190 Save=Bewaar Configuration\ saved.=Configuratie bewaard. Unimplemented\ method\ for\ JSettingsPanel=Methode niet ge\u00efmplementeerd voor een JSettingsPanel New\ version\ available\:\ =Nieuwe versie beschikbaar\: Plugins=Invoegtoepassingen Error\ getting\ pdf\ version\ description.=Fotu bij het ophalen van de "pdf-versie"-omschrijving Version\ 1.2\ (Acrobat\ 3)=Versie 1.2 (Acrobat 3) Version\ 1.3\ (Acrobat\ 4)=Versie 1.3 (Acrobat 4) Version\ 1.4\ (Acrobat\ 5)=Versie 1.4 (Acrobat 5) Version\ 1.5\ (Acrobat\ 6)=Versie 1.5 (Acrobat 6) Version\ 1.6\ (Acrobat\ 7)=Versie 1.6 (Acrobat 7) Version\ 1.7\ (Acrobat\ 8)=Versie 1.7 (Acrobat 8) Never=Nooit pdfsam\ start\ up=pdfsam wordt opgestart Output\ file\ location\ is\ not\ correct=Locatie van het uitvoerbestand is incorrect Would\ you\ like\ to\ change\ it\ to=Wenst u het te veranderen naar Output\ location\ error=Fout in de uitvoerlocatie Selected\ output\ file\ already\ exists\ =Het gekozen uitvoerbestand bestaat al Would\ you\ like\ to\ overwrite\ it?=Wenst U het bestand te overschrijven? Provided\ pages\ selection\ is\ not\ valid=De opgegeven pagina selectie is ongeldig Limits\ must\ be\ a\ comma\ separated\ list\ of\ "page_number"\ or\ "page_number-page_number"=De waarden moeten een lijst zijn van pagina nummers gescheiden door komma's of een pagina reeks (pagina nr.-pagina nr.) Limits\ are\ not\ valid=De grenswaarden zijn niet geldig Checking\ for\ a\ new\ version\ available.=Beschikbaarheid van een nieuwe versie wordt afgetoetst. Error\ checking\ for\ a\ new\ version\ available.=Fout bij het zoeken naar een nieuwe versie. Unable\ to\ get\ latest\ available\ version=Kon de laatste versie niet ophalen. New\ version\ available.=Nieuwe versie beschikbaar. No\ new\ version\ available.=Geen nieuwe versie beschikbaar. Cut=Knippen Paste=Plakken pdfsam-1.1.4/pdfsam-langpack-br1/src/java/org/pdfsam/i18n/resources/Messages_he.properties0000644000175000017500000004453411225342444031355 0ustar twernertwerner# Hebrew translation for pdfsam # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the pdfsam package. # FIRST AUTHOR , 2008. # !=Project-Id-Version\: pdfsam\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2009-07-09 12\:23+0200\nPO-Revision-Date\: 2009-01-01 18\:45+0000\nLast-Translator\: Yaron \nLanguage-Team\: Hebrew \nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Launchpad-Export-Date\: 2009-01-18 15\:08+0000\nX-Generator\: Launchpad (build Unknown)\n !Merge\ options= PDF\ documents\ contain\ forms=\u05e7\u05d5\u05d1\u05e5 \u05d4-PDF \u05db\u05d5\u05dc\u05dc \u05d8\u05e4\u05e1\u05d9\u05dd Merge\ type=\u05e1\u05d5\u05d2 \u05d4\u05de\u05d9\u05d6\u05d5\u05d2 Unchecked=\u05dc\u05d0 \u05de\u05e1\u05d5\u05de\u05df Use\ this\ merge\ type\ for\ standard\ pdf\ documents=\u05d4\u05e9\u05ea\u05de\u05e9 \u05d1\u05e1\u05d5\u05d2 \u05de\u05d9\u05d6\u05d5\u05d2 \u05d6\u05d4 \u05dc\u05e7\u05d1\u05e6\u05d9 PDF \u05e8\u05d2\u05d9\u05dc\u05d9\u05dd Checked=\u05de\u05e1\u05d5\u05de\u05df Use\ this\ merge\ type\ for\ pdf\ documents\ containing\ forms=\u05d4\u05e9\u05ea\u05de\u05e9 \u05d1\u05e1\u05d5\u05d2 \u05de\u05d9\u05d6\u05d5\u05d2 \u05d6\u05d4 \u05dc\u05e7\u05d1\u05e6\u05d9 PDF \u05d4\u05de\u05db\u05d9\u05dc\u05d9\u05dd \u05d8\u05e4\u05e1\u05d9\u05dd Note=\u05d4\u05e2\u05e8\u05d4 Setting\ this\ option\ the\ documents\ will\ be\ completely\ loaded\ in\ memory=\u05d1\u05d7\u05d9\u05e8\u05d4 \u05d1\u05d0\u05e4\u05e9\u05e8\u05d5\u05ea \u05d6\u05d5 \u05ea\u05d8\u05e2\u05df \u05d0\u05ea \u05d4\u05de\u05e1\u05de\u05da \u05db\u05d5\u05dc\u05d5 \u05dc\u05d6\u05d9\u05db\u05e8\u05d5\u05df Destination\ output\ file=\u05e7\u05d5\u05d1\u05e5 \u05d9\u05e2\u05d3 \u05d4\u05e4\u05dc\u05d8 Error\:\ =\u05e9\u05d2\u05d9\u05d0\u05d4\: Browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ file.=\u05d4\u05e9\u05ea\u05de\u05e9 \u05d1\u05e1\u05d9\u05d9\u05e8 \u05d0\u05d5 \u05d4\u05e7\u05dc\u05d3 \u05d0\u05ea \u05d4\u05db\u05ea\u05d5\u05d1\u05ea \u05d4\u05de\u05dc\u05d0\u05d4 \u05dc\u05e7\u05d5\u05d1\u05e5 \u05d4\u05d9\u05e2\u05d3 Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ file\ if\ it\ already\ exists.=\u05e1\u05de\u05df \u05ea\u05d9\u05d1\u05d4 \u05d6\u05d0\u05ea \u05d0\u05dd \u05d1\u05e8\u05e6\u05d5\u05e0\u05da \u05dc\u05d4\u05d7\u05dc\u05d9\u05e3 \u05e7\u05d5\u05d1\u05e5 \u05d9\u05e2\u05d3 \u05e7\u05d9\u05d9\u05dd. Check\ the\ box\ if\ you\ want\ compressed\ output\ files.=\u05e1\u05de\u05df \u05ea\u05d9\u05d1\u05d4 \u05d6\u05d0\u05ea \u05d0\u05dd \u05d1\u05e8\u05e6\u05d5\u05e0\u05da \u05dc\u05d3\u05d7\u05d5\u05e1 \u05d0\u05ea \u05e7\u05d1\u05e6\u05d9 \u05d4\u05d9\u05e2\u05d3. PDF\ version\ 1.5\ or\ above.=\u05d2\u05e8\u05e1\u05ea PDF 1.5 \u05d5\u05de\u05e2\u05dc\u05d4 Set\ the\ pdf\ version\ of\ the\ ouput\ document.=\u05d4\u05d2\u05d3\u05e8 \u05d0\u05ea \u05d2\u05d9\u05e8\u05e1\u05ea \u05d4-PDF \u05dc\u05de\u05e1\u05de\u05da \u05d4\u05e4\u05dc\u05d8. Please\ wait\ while\ all\ files\ are\ processed..=\u05e0\u05d0 \u05d4\u05de\u05ea\u05df \u05d1\u05de\u05d4\u05dc\u05da \u05e2\u05d9\u05d1\u05d5\u05d3 \u05db\u05dc \u05d4\u05e7\u05d1\u05e6\u05d9\u05dd.. Found\ a\ password\ for\ input\ file.=\u05e0\u05de\u05e6\u05d0\u05d4 \u05d4\u05d2\u05e0\u05d4 \u05d1\u05e1\u05d9\u05e1\u05de\u05d4 \u05e2\u05d1\u05d5\u05e8 \u05e7\u05d5\u05d1\u05e5 \u05d4\u05e7\u05dc\u05d8. !Please\ select\ at\ least\ one\ pdf\ document.= !Warning= Execute\ pdf\ merge=\u05d1\u05e6\u05e2 \u05de\u05d9\u05d6\u05d5\u05d2 PDF Merge/Extract=\u05de\u05d6\u05d2/\u05d7\u05dc\u05e5 Merge\ section\ loaded.=\u05d7\u05dc\u05e7 \u05d4\u05de\u05d9\u05d6\u05d5\u05d2 \u05e0\u05d8\u05e2\u05df. !Export\ as\ xml= !Unable\ to\ save\ xml\ file.= !Ok= !File\ xml\ saved.= !Error\ saving\ xml\ file,\ output\ file\ is\ null.= Split\ options=\u05d0\u05e4\u05e9\u05e8\u05d5\u05d9\u05d5\u05ea \u05e4\u05d9\u05e6\u05d5\u05dc Burst\ (split\ into\ single\ pages)=\u05d7\u05ea\u05d5\u05da (\u05e4\u05e6\u05dc \u05dc\u05d3\u05e4\u05d9\u05dd \u05d1\u05d5\u05d3\u05d3\u05d9\u05dd) Split\ every\ "n"\ pages=\u05e4\u05e6\u05dc \u05db\u05dc "x" \u05e2\u05de\u05d5\u05d3\u05d9\u05dd Split\ even\ pages=\u05e4\u05e6\u05dc \u05e2\u05de\u05d5\u05d3\u05d9\u05dd \u05d6\u05d5\u05d2\u05d9\u05d9\u05dd Split\ odd\ pages=\u05e4\u05e6\u05dc \u05e2\u05de\u05d5\u05d3\u05d9\u05dd \u05d0\u05d9-\u05d6\u05d5\u05d2\u05d9\u05d9\u05dd Split\ after\ these\ pages=\u05e4\u05e6\u05dc \u05dc\u05d0\u05d7\u05e8 \u05e2\u05de\u05d5\u05d3\u05d9\u05dd \u05d0\u05dc\u05d5 Split\ at\ this\ size=\u05e4\u05e6\u05dc \u05d1\u05e0\u05e4\u05d7 \u05d4\u05e7\u05d5\u05d1\u05e5 \u05d4\u05d6\u05d4 !Split\ by\ bookmarks\ level= Burst=\u05d7\u05ea\u05d5\u05da Explode\ the\ pdf\ document\ into\ single\ pages=\u05e4\u05e8\u05e7 \u05d0\u05ea \u05de\u05e1\u05de\u05da \u05d4-PDF \u05dc\u05e2\u05de\u05d5\u05d3\u05d9\u05dd \u05e0\u05e4\u05e8\u05d3\u05d9\u05dd Split\ the\ document\ every\ "n"\ pages=\u05e4\u05e6\u05dc \u05d0\u05ea \u05d4\u05de\u05e1\u05de\u05da \u05db\u05dc "x" \u05e2\u05de\u05d5\u05d3\u05d9\u05dd Split\ the\ document\ every\ even\ page=\u05e4\u05e6\u05dc \u05d0\u05ea \u05d4\u05de\u05e1\u05de\u05da \u05d1\u05db\u05dc \u05e2\u05de\u05d5\u05d3 \u05d6\u05d5\u05d2\u05d9 Split\ the\ document\ every\ odd\ page=\u05e4\u05e6\u05dc \u05d0\u05ea \u05d4\u05de\u05e1\u05de\u05da \u05d1\u05db\u05dc \u05e2\u05de\u05d5\u05d3 \u05d0\u05d9-\u05d6\u05d5\u05d2\u05d9 Split\ the\ document\ after\ page\ numbers\ (num1-num2-num3..)=\u05e4\u05e6\u05dc \u05d0\u05ea \u05d4\u05de\u05e1\u05de\u05da \u05dc\u05d0\u05d7\u05e8 \u05de\u05e1\u05e4\u05e8\u05d9 \u05d4\u05e2\u05de\u05d5\u05d3\u05d9\u05dd (num1-num2-num3..) !Split\ the\ document\ in\ files\ of\ the\ given\ size\ (roughly)= !Split\ the\ document\ at\ pages\ referred\ by\ bookmarks\ of\ the\ given\ level= !Destination\ folder= Same\ as\ source=\u05d6\u05d4\u05d4 \u05dc\u05de\u05e7\u05d5\u05e8 Choose\ a\ folder=\u05d1\u05d7\u05e8 \u05ea\u05d9\u05e7\u05d9\u05d9\u05d4 Destination\ output\ directory=\u05ea\u05d9\u05e7\u05d9\u05d9\u05ea \u05d9\u05e2\u05d3 \u05d4\u05e4\u05dc\u05d8 Use\ the\ same\ output\ folder\ as\ the\ input\ file\ or\ choose\ a\ folder.=\u05d4\u05e9\u05ea\u05de\u05e9 \u05d1\u05ea\u05d9\u05e7\u05d9\u05d9\u05ea \u05d4\u05e7\u05dc\u05d8 \u05d1\u05ea\u05d5\u05e8 \u05ea\u05d9\u05e7\u05d9\u05d9\u05ea \u05d4\u05e4\u05dc\u05d8 \u05d0\u05d5 \u05d1\u05d7\u05e8 \u05ea\u05d9\u05e7\u05d9\u05d9\u05d4. To\ choose\ a\ folder\ browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ directory.=\u05dc\u05d1\u05d7\u05d9\u05e8\u05ea \u05ea\u05d9\u05e7\u05d9\u05d4 \u05e1\u05d9\u05d9\u05e8 \u05d0\u05d5 \u05d4\u05d6\u05df \u05d0\u05ea \u05d4\u05e0\u05ea\u05d9\u05d1 \u05d4\u05de\u05dc\u05d0 \u05dc\u05ea\u05d9\u05e7\u05d9\u05d9\u05ea \u05d9\u05e2\u05d3 \u05d4\u05e4\u05dc\u05d8. Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ files\ if\ they\ already\ exist.=\u05d1\u05d7\u05e8 \u05ea\u05d9\u05d1\u05d4 \u05d6\u05d5 \u05d1\u05de\u05d9\u05d3\u05d4 \u05d5\u05d1\u05e8\u05e6\u05d5\u05e0\u05da \u05dc\u05e9\u05db\u05ea\u05d1 \u05e2\u05dc \u05e7\u05d1\u05e6\u05d9 \u05d4\u05e4\u05dc\u05d8 \u05d1\u05de\u05d9\u05d3\u05d4 \u05d5\u05d4\u05dd \u05db\u05d1\u05e8 \u05e7\u05d9\u05d9\u05de\u05d9\u05dd. !Output\ options= Output\ file\ names\ prefix\:=\u05d4\u05e7\u05d9\u05d3\u05d5\u05de\u05ea \u05e9\u05dc \u05e9\u05de\u05d5\u05ea \u05e7\u05d1\u05e6\u05d9 \u05d4\u05e4\u05dc\u05d8\: Output\ files\ prefix=\u05e7\u05d9\u05d3\u05d5\u05de\u05ea \u05e7\u05d1\u05e6\u05d9 \u05d4\u05e4\u05dc\u05d8 !If\ it\ contains\ "[CURRENTPAGE]",\ "[TIMESTAMP]",\ "[FILENUMBER]"\ or\ "[BOOKMARK_NAME]"\ it\ performs\ variable\ substitution.= Ex.\ prefix_[BASENAME]_[CURRENTPAGE]\ generates\ prefix_FileName_005.pdf.=\u05dc\u05d3\u05d5\u05d2\u05de\u05d0\: \u05e7\u05d9\u05d3\u05d5\u05de\u05ea_[BASENAME]_[CURRENTPAGE] \u05ea\u05d9\u05d9\u05e6\u05e8 \u05e7\u05d9\u05d3\u05d5\u05de\u05ea_\u05e9\u05dd\u05d4\u05e7\u05d5\u05d1\u05e5_005.pdf !If\ it\ doesn't\ contain\ "[CURRENTPAGE]",\ "[TIMESTAMP]"\ or\ "[FILENUMBER]"\ it\ generates\ oldstyle\ output\ file\ names.= !Available\ variables= Invalid\ split\ size=\u05d2\u05d5\u05d3\u05dc \u05d4\u05e4\u05d9\u05e6\u05d5\u05dc \u05e9\u05d2\u05d5\u05d9 The\ lowest\ available\ pdf\ version\ is\ =\u05d2\u05d9\u05e8\u05e1\u05ea \u05d4-PDF \u05d4\u05e0\u05de\u05d5\u05db\u05d4 \u05d1\u05d9\u05d5\u05ea\u05e8 \u05d4\u05d6\u05de\u05d9\u05e0\u05d4 \u05d4\u05d9\u05d0 You\ selected\ a\ lower\ output\ pdf\ version,\ continue\ anyway\ ?=\u05d1\u05d7\u05e8\u05ea \u05d2\u05d9\u05e8\u05e1\u05ea pdf \u05e0\u05de\u05d5\u05db\u05d4 \u05e2\u05d1\u05d5\u05e8 \u05d4\u05e4\u05dc\u05d8, \u05dc\u05d4\u05de\u05e9\u05d9\u05da \u05d1\u05db\u05dc \u05d0\u05d5\u05e4\u05df? Pdf\ version\ conflict=\u05d4\u05ea\u05e0\u05d2\u05e9\u05d5\u05ea \u05d2\u05d9\u05e8\u05e1\u05d0\u05d5\u05ea pdf !Please\ select\ a\ pdf\ document.= Split\ selected\ file=\u05e4\u05e6\u05dc \u05d0\u05ea \u05d4\u05e7\u05d5\u05d1\u05e5 \u05d4\u05e0\u05d1\u05d7\u05e8 Split=\u05e4\u05d9\u05e6\u05d5\u05dc Split\ section\ loaded.=\u05d7\u05dc\u05e7 \u05de\u05d4\u05e4\u05d9\u05e6\u05d5\u05dc \u05e0\u05d1\u05d7\u05e8. Invalid\ unit\:\ =\u05d9\u05d7\u05d9\u05d3\u05d4 \u05e9\u05d2\u05d5\u05d9\u05d4\: !Fill\ from\ document= !Getting\ bookmarks\ max\ depth= !Frontpage\ pdf\ file= !Addendum\ pdf\ file= Select\ at\ least\ one\ cover\ or\ one\ footer=\u05d1\u05d7\u05e8 \u05dc\u05e4\u05d7\u05d5\u05ea \u05db\u05e8\u05d9\u05db\u05d4 \u05d0\u05d7\u05ea \u05d5\u05e1\u05d9\u05d5\u05de\u05ea \u05d0\u05d7\u05ea !Frontpage\ and\ Addendum= Cover\ And\ Footer\ section\ loaded.=\u05d7\u05dc\u05e7\u05d9 \u05d4\u05db\u05e8\u05d9\u05db\u05d4 \u05d5\u05d4\u05e1\u05d9\u05d5\u05de\u05ea \u05e0\u05d8\u05e2\u05e0\u05d5. !Encrypt\ options= Owner\ password\:=\u05e1\u05d9\u05e1\u05de\u05ea \u05d4\u05d1\u05e2\u05dc\u05d9\u05dd\: Owner\ password\ (Max\ 32\ chars\ long)=\u05e1\u05d9\u05e1\u05de\u05ea \u05d4\u05d1\u05e2\u05dc\u05d9\u05dd\: (32 \u05ea\u05d5\u05d5\u05d9\u05dd \u05dc\u05db\u05dc \u05d4\u05d9\u05d5\u05ea\u05e8) User\ password\:=\u05e1\u05d9\u05e1\u05de\u05ea \u05d4\u05de\u05e9\u05ea\u05de\u05e9\: User\ password\ (Max\ 32\ chars\ long)=\u05e1\u05d9\u05e1\u05de\u05ea \u05de\u05e9\u05ea\u05de\u05e9 (32 \u05ea\u05d5\u05d5\u05d9\u05dd \u05dc\u05db\u05dc \u05d4\u05d9\u05d5\u05ea\u05e8) !Encryption\ algorithm\:= Allow\ all=\u05d0\u05e4\u05e9\u05e8 \u05d4\u05db\u05dc Print=\u05d4\u05d3\u05e4\u05e1 Low\ quality\ print=\u05d4\u05d3\u05e4\u05e1\u05d4 \u05d1\u05d0\u05d9\u05db\u05d5\u05ea \u05e0\u05de\u05d5\u05db\u05d4 Copy\ or\ extract=\u05d4\u05e2\u05ea\u05e7 \u05d0\u05d5 \u05d7\u05dc\u05e5 Modify=\u05e9\u05e0\u05d4 Add\ or\ modify\ text\ annotations=\u05d4\u05d5\u05e1\u05e3 \u05d0\u05d5 \u05e9\u05e0\u05d4 \u05d4\u05e1\u05d1\u05e8\u05d9\u05dd Fill\ form\ fields=\u05de\u05dc\u05d0 \u05d0\u05ea \u05e9\u05d3\u05d5\u05ea \u05d4\u05d8\u05d5\u05e4\u05e1 Extract\ for\ use\ by\ accessibility\ dev.=\u05d7\u05dc\u05e5 \u05dc\u05e9\u05d9\u05de\u05d5\u05e9 \u05e2\u05dc \u05d9\u05d3\u05d9 \u05d4\u05ea\u05e7\u05df \u05e0\u05d2\u05d9\u05e9\u05d5\u05ea Manipulate\ pages\ and\ add\ bookmarks=\u05e9\u05e0\u05d4 \u05e2\u05de\u05d5\u05d3\u05d9\u05dd \u05d5\u05d4\u05d5\u05e1\u05e3 \u05e1\u05d9\u05de\u05e0\u05d9\u05d5\u05ea !Check\ the\ box\ if\ you\ want\ compressed\ output\ files\ (Pdf\ version\ 1.5\ or\ higher).= !If\ it\ contains\ "[TIMESTAMP]"\ it\ performs\ variable\ substitution.= !Ex.\ [BASENAME]_prefix_[TIMESTAMP]\ generates\ FileName_prefix_20070517_113423471.pdf.= !If\ it\ doesn't\ contain\ "[TIMESTAMP]"\ it\ generates\ oldstyle\ output\ file\ names.= !Available\ variables\:\ [TIMESTAMP],\ [BASENAME].= !Encrypt\ selected\ files= !Encrypt= !Encrypt\ section\ loaded.= !Decrypt\ selected\ files= !Decrypt= !Decrypt\ section\ loaded.= !Mix\ options= !Reverse\ first\ document= !Reverse\ second\ document= !Number\ of\ pages\ to\ switch\ document= !Tick\ the\ boxes\ if\ you\ want\ to\ reverse\ the\ first\ or\ the\ second\ document\ (or\ both).= !Set\ the\ number\ of\ pages\ to\ switch\ from\ a\ document\ to\ the\ other\ one\ (default\ is\ 1).= !Found\ a\ password\ for\ first\ file.= !Found\ a\ password\ for\ second\ file.= !Please\ select\ two\ pdf\ documents.= !Execute\ pdf\ alternate\ mix= !Alternate\ Mix= !AlternateMix\ section\ loaded.= !Unpack\ selected\ files= !Unpack= !Unpack\ section\ loaded.= !Set\ viewer\ options= !Hide\ the\ menubar= !Hide\ the\ toolbar= !Hide\ user\ interface\ elements= !Rezise\ the\ window\ to\ fit\ the\ page\ size= !Center\ of\ the\ screen= !Display\ document\ title\ as\ window\ title= !Pdf\ version\ required\:= !No\ page\ scaling\ in\ print\ dialog= !Viewer\ layout\:= !Viewer\ open\ mode\:= !Non\ fullscreen\ mode\:= !Direction\:= !Set\ options= !Set\ viewer\ options\ for\ selected\ files= !Left\ to\ right= !Right\ to\ left= !None= !Fullscreen= !Attachments= !Optional\ content\ group\ panel= !Document\ outline= !Thumbnail\ images= !One\ page\ at\ a\ time= !Pages\ in\ one\ column= !Pages\ in\ two\ columns\ (odd\ on\ the\ left)= !Pages\ in\ two\ columns\ (odd\ on\ the\ right)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ left)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ right)= !Viewer\ options= !Viewer\ options\ section\ loaded.= !Save\ passwords\ informations\ (they\ will\ be\ readable\ opening\ the\ output\ file)?= !Confirm\ password\ saving= !Unknown\ action.= !Log\ saved.= !\ node\ environment\ loaded.= !Environment\ saved.= !Error\ saving\ environment,\ output\ file\ is\ null.= !Error\ saving\ environment.= !Environment\ loaded.= !Error\ loading\ environment.= !Error\ loading\ environment\ from\ input\ file.\ = !Selection\ table\ is\ full,\ please\ remove\ some\ pdf\ document.= !Table\ full= !Please\ wait\ while\ reading= !Selected\ file\ is\ not\ a\ pdf\ document.= !Error\ loading\ = !Command\ validation\ returned\ an\ empty\ value.= !Command\ executed.= !File\ name= !Number\ of\ pages= !File\ size= !Pdf\ version= !Encryption= !Not\ encrypted= !Permissions= !Title= !Author= !Subject= !Producer= !Creator= !Creation\ date= !Modification\ date= !Keywords= !Document\ properties= !File= !Close= !Copy= !Error\ creating\ properties\ panel.= !Run= !Browse= !Add= !Compress\ output\ file/files= Overwrite\ if\ already\ exists=\u05d4\u05d7\u05dc\u05e3 \u05e7\u05d5\u05d1\u05e5 \u05d1\u05de\u05d9\u05d3\u05d4 \u05d5\u05e7\u05d9\u05d9\u05dd !Don't\ preserve\ file\ order\ (fast\ load)= !Output\ document\ pdf\ version\:= !The\ cross\ reference\ table\ cantained\ some\ error\ and\ has\ been\ rebuilt= !The\ document\ has\ not\ been\ opened\ with\ the\ owner\ password.\ You\ must\ provide\ the\ owner\ password\ in\ order\ to\ manipulate\ the\ document= !An\ error\ occured\ while\ loading\ the\ document= !Same\ as\ input\ document= !Path= !Pages= !Password= !Version= !Page\ Selection= !Total\ pages\ of\ the\ document= !Password\ to\ open\ the\ document\ (if\ needed)= !Pdf\ version\ of\ the\ document= !Double\ click\ to\ set\ pages\ you\ want\ to\ merge\ (ex\:\ 2\ or\ 5-23\ or\ 2,5-7,12-)= !Add\ a\ pdf\ to\ the\ list= !Remove\ a\ pdf\ from\ the\ list= !(Canc)= !Remove= !Reload= !Error\:\ Unable\ to\ reload\ the\ selected\ file/s.= !Unable\ to\ remove\ JList\ text\ = !File\ selected\:\ = !File\ reloaded\:\ = !Move\ Up= !Move\ up\ selected\ pdf\ file= !(Alt+ArrowUp)= !Move\ Down= !Move\ down\ selected\ pdf\ file= !(Alt+ArrowDown)= !Clear= !Remove\ every\ pdf\ file\ from\ the\ merge\ list= !Set\ output\ file= !Error\:\ Unable\ to\ get\ the\ file\ path.= !Unable\ to\ get\ the\ default\ environment\ informations.= !Setting\ look\ and\ feel...= !Setting\ logging\ level...= !Unable\ to\ find\ log\ level,\ setting\ to\ default\ level\ (DEBUG).= !Logging\ level\ set\ to\ = !Unable\ to\ set\ logging\ level.= !Error\ getting\ plugins\ directory.= !Cannot\ read\ plugins\ directory\ = !Plugins\ directory\ is\ null.= !Found\ zero\ or\ many\ jars\ in\ plugin\ directory\ = !Exception\ loading\ plugins.= !Cannot\ read\ plugin\ directory\ = !\ plugin\ loaded.= !Unable\ to\ load\ a\ plugin\ that\ is\ not\ JPanel\ subclass.= !Error\ loading\ class\ = !Select\ all= !Save\ log= !Save\ environment= !Load\ environment= !Exit= !Unable\ to\ initialize\ menu\ bar.= !started\ in\ = !Loading\ plugins..= !Building\ menus..= !Building\ buttons\ bar..= !Building\ status\ bar..= !Building\ tree..= !Loading\ default\ environment.= !Error\ starting\ pdfsam.= !Clear\ log= !Unable\ to\ initialize\ button\ bar.= !Version\:\ = !Language\:\ = !Developed\ by\:\ = !Build\ date\:\ = !Java\ home\:\ = !Java\ version\:\ = !Max\ memory\:\ = !Configuration\ file\:\ = !Website\:\ = !Name= !About= !Unimplemented\ method\ for\ JInfoPanel= !Contributes\:\ = !Log\ level\:= !Settings= !Look\ and\ feel\:= !Theme\:= !Language\:= !Check\ for\ updates\:= !Load\ default\ environment\ at\ startup\:= !Default\ working\ directory\:= !Error\ getting\ default\ environment.= !Check\ now= !Play\ alert\ sounds= !Settings\ = !Language= !Set\ your\ preferred\ language\ (restart\ needed)= !Look\ and\ feel= !Set\ your\ preferred\ look\ and\ feel\ and\ your\ preferred\ theme\ (restart\ needed)= !Log\ level= !Set\ a\ log\ detail\ level\ (restart\ needed)= !Check\ for\ updates= !Set\ when\ new\ version\ availability\ should\ be\ checked\ (restart\ needed)= !Turn\ on\ or\ off\ alert\ sounds= !Default\ env.= !Select\ a\ previously\ saved\ env.\ file\ that\ will\ be\ automatically\ loaded\ at\ startup= !Default\ working\ directory= !Select\ a\ directory\ where\ documents\ will\ be\ saved\ and\ loaded\ by\ default= !Save= !Configuration\ saved.= !Unimplemented\ method\ for\ JSettingsPanel= !New\ version\ available\:\ = !Plugins= !Error\ getting\ pdf\ version\ description.= !Version\ 1.2\ (Acrobat\ 3)= !Version\ 1.3\ (Acrobat\ 4)= !Version\ 1.4\ (Acrobat\ 5)= !Version\ 1.5\ (Acrobat\ 6)= !Version\ 1.6\ (Acrobat\ 7)= !Version\ 1.7\ (Acrobat\ 8)= !Never= !pdfsam\ start\ up= !Output\ file\ location\ is\ not\ correct= !Would\ you\ like\ to\ change\ it\ to= !Output\ location\ error= !Selected\ output\ file\ already\ exists\ = !Would\ you\ like\ to\ overwrite\ it?= !Provided\ pages\ selection\ is\ not\ valid= !Limits\ must\ be\ a\ comma\ separated\ list\ of\ "page_number"\ or\ "page_number-page_number"= !Limits\ are\ not\ valid= !Checking\ for\ a\ new\ version\ available.= !Error\ checking\ for\ a\ new\ version\ available.= !Unable\ to\ get\ latest\ available\ version= !New\ version\ available.= !No\ new\ version\ available.= !Cut= !Paste= pdfsam-1.1.4/pdfsam-langpack-br1/src/java/org/pdfsam/i18n/resources/Messages_pt_BR.properties0000644000175000017500000005275211225342444031770 0ustar twernertwerner# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # !=Project-Id-Version\: PACKAGE VERSION\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2009-07-09 12\:23+0200\nPO-Revision-Date\: 2009-06-30 19\:05+0000\nLast-Translator\: Waldir Leoncio \nLanguage-Team\: LANGUAGE \nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Launchpad-Export-Date\: 2009-07-09 10\:20+0000\nX-Generator\: Launchpad (build Unknown)\n Merge\ options=Mesclar op\u00e7\u00f5es PDF\ documents\ contain\ forms=Documentos PDF possuem formul\u00e1rios Merge\ type=Tipo de mesclagem Unchecked=N\u00e3o selecionado Use\ this\ merge\ type\ for\ standard\ pdf\ documents=Utilize este tipo de mesclagem para documentos pdf padr\u00e3o Checked=Selecionado Use\ this\ merge\ type\ for\ pdf\ documents\ containing\ forms=Utilize este tipo de mesclagem para documentos pdf que possuem formul\u00e1rios Note=Nota Setting\ this\ option\ the\ documents\ will\ be\ completely\ loaded\ in\ memory=Selecionando esta op\u00e7\u00e3o os documentos ser\u00e3o carregados completamente em mem\u00f3ria Destination\ output\ file=Destino do arquivo de sa\u00edda Error\:\ =Erro\: Browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ file.=Navegue ou digite o caminho completo para o arquivo de sa\u00edda. Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ file\ if\ it\ already\ exists.=Selecione se quiser sobrescrever o arquivo de sa\u00edda caso ele j\u00e1 exista. Check\ the\ box\ if\ you\ want\ compressed\ output\ files.=Selecione se quiser arquivos de sa\u00edda compactados. PDF\ version\ 1.5\ or\ above.=PDF vers\u00e3o 1.5 ou superior. Set\ the\ pdf\ version\ of\ the\ ouput\ document.=Define a vers\u00e3o do pdf para o documento de sa\u00edda. Please\ wait\ while\ all\ files\ are\ processed..=Por favor aguarde enquanto todos arquivos s\u00e3o processados.. Found\ a\ password\ for\ input\ file.=Foi encontrado uma senha para o arquivo de entrada. Please\ select\ at\ least\ one\ pdf\ document.=Por favor selecione ao menos um documento do tipo pdf Warning=Aten\u00e7\u00e3o Execute\ pdf\ merge=Executar mesclagem pdf Merge/Extract=Mesclar/Extrair Merge\ section\ loaded.=Mesclar se\u00e7\u00e3o carregada. Export\ as\ xml=Exportar como xml Unable\ to\ save\ xml\ file.=Incapaz de salvar como xml. Ok=Ok File\ xml\ saved.=Arquivo xml salvo. Error\ saving\ xml\ file,\ output\ file\ is\ null.=Erro salvando arquivo xml, o arquivo resultante \u00e9 nulo. Split\ options=Op\u00e7\u00f5es de divis\u00e3o Burst\ (split\ into\ single\ pages)=Burst (dividir em p\u00e1ginas \u00fanicas) Split\ every\ "n"\ pages=Dividir a cada "n" p\u00e1ginas Split\ even\ pages=Dividir p\u00e1ginas pares Split\ odd\ pages=Dividir p\u00e1ginas \u00edmpares Split\ after\ these\ pages=Dividir ap\u00f3s estas p\u00e1ginas Split\ at\ this\ size=Dividir neste tamanho Split\ by\ bookmarks\ level=Dividir ao n\u00edvel dos marcadores Burst=Burst Explode\ the\ pdf\ document\ into\ single\ pages=Explodir o documento pdf em p\u00e1ginas \u00fanicas Split\ the\ document\ every\ "n"\ pages=Dividir o documento a cada "n" p\u00e1ginas Split\ the\ document\ every\ even\ page=Dividir o documento a cada p\u00e1gina par Split\ the\ document\ every\ odd\ page=Dividir o documento a cada p\u00e1gina \u00edmpar Split\ the\ document\ after\ page\ numbers\ (num1-num2-num3..)=Dividir o documento ap\u00f3s p\u00e1ginas n\u00famero (num1-num2-num3..) Split\ the\ document\ in\ files\ of\ the\ given\ size\ (roughly)=Dividir o documento em arquivos do seguinte tamanho (aproximadamente) Split\ the\ document\ at\ pages\ referred\ by\ bookmarks\ of\ the\ given\ level=Divide o documento nas p\u00e1ginas referenciadas pelos marcadores do n\u00edvel dado Destination\ folder=Pasta de destino Same\ as\ source=Mesmo que original Choose\ a\ folder=Selecione um diret\u00f3rio Destination\ output\ directory=Destino do diret\u00f3rio de sa\u00edda Use\ the\ same\ output\ folder\ as\ the\ input\ file\ or\ choose\ a\ folder.=Utilize o mesmo diret\u00f3rio do arquivo de entrada ou escolha um diret\u00f3rio. To\ choose\ a\ folder\ browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ directory.=Para selecionar um diret\u00f3rio navegue ou digite o caminho completo para o diret\u00f3rio de sa\u00edda. Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ files\ if\ they\ already\ exist.=Selecione caso deseje sobrescrever o arquivo de sa\u00edda caso ele j\u00e1 exista. Output\ options=Op\u00e7\u00f5es de Sa\u00edda Output\ file\ names\ prefix\:=Prefixos para os arquivos de sa\u00edda\: Output\ files\ prefix=Prefixos para os arquivos de sa\u00edda If\ it\ contains\ "[CURRENTPAGE]",\ "[TIMESTAMP]",\ "[FILENUMBER]"\ or\ "[BOOKMARK_NAME]"\ it\ performs\ variable\ substitution.=Se possuir "[CURRENTPAGE]", "[TIMESTAMP]", "[FILENUMBER]" ou "[BOOKMARK_NAME]" ser\u00e1 feita a substitui\u00e7\u00e3o de vari\u00e1vel. Ex.\ prefix_[BASENAME]_[CURRENTPAGE]\ generates\ prefix_FileName_005.pdf.=Ex\: prefixo_[BASENAME]_[CURRENTPAGE] gera prefixo_NomeDoArquivo_005.pdf. If\ it\ doesn't\ contain\ "[CURRENTPAGE]",\ "[TIMESTAMP]"\ or\ "[FILENUMBER]"\ it\ generates\ oldstyle\ output\ file\ names.=Se n\u00e3o cont\u00eam "[CURRENTPAGE]", "[TIMESTAMP]" or "[FILENUMBER]" , Available\ variables=Vari\u00e1veis dispon\u00edveis Invalid\ split\ size=Tamanho de divis\u00e3o inv\u00e1lido The\ lowest\ available\ pdf\ version\ is\ =A menor vers\u00e3o pdf dispon\u00edvel \u00e9 You\ selected\ a\ lower\ output\ pdf\ version,\ continue\ anyway\ ?=Voc\u00ea selecionou uma vers\u00e3o de pdf inferior, deseja continuar assim mesmo? Pdf\ version\ conflict=Conflito na vers\u00e3o do Pdf Please\ select\ a\ pdf\ document.=Por favor selecione um documento do tipo pdf Split\ selected\ file=Dividir arquivo selecionado Split=Dividir Split\ section\ loaded.=Se\u00e7\u00e3o de divis\u00e3o carregada. Invalid\ unit\:\ =Unidade inv\u00e1lida\: Fill\ from\ document=Preencher a partir documento Getting\ bookmarks\ max\ depth=Recuperando n\u00edvel m\u00e1ximo de marcadores Frontpage\ pdf\ file=Arquivo pdf de capa Addendum\ pdf\ file=Arquivo pdf adendo Select\ at\ least\ one\ cover\ or\ one\ footer=Selecione ao menos uma capa ou um rodap\u00e9 Frontpage\ and\ Addendum=Capa e Adendo Cover\ And\ Footer\ section\ loaded.=Se\u00e7\u00e3o Capa e Rodap\u00e9 carregada. Encrypt\ options=Op\u00e7\u00f5es de encripta\u00e7\u00e3o Owner\ password\:=Senha do dono\: Owner\ password\ (Max\ 32\ chars\ long)=Senha do dono (M\u00e1x 32 caracteres) User\ password\:=Senha do usu\u00e1rio\: User\ password\ (Max\ 32\ chars\ long)=Senha do usu\u00e1rio (M\u00e1x 32 caracteres) Encryption\ algorithm\:=Criptografar algoritmo\: Allow\ all=Permitir todos Print=Imprimir Low\ quality\ print=Impress\u00e3o de baixa qualidade Copy\ or\ extract=Copiar ou extrair Modify=Modificar Add\ or\ modify\ text\ annotations=Adicionar ou modificar anota\u00e7\u00f5es Fill\ form\ fields=Preencher campos de formul\u00e1rio Extract\ for\ use\ by\ accessibility\ dev.=Extrair para uso por disp. de acessibilidade. Manipulate\ pages\ and\ add\ bookmarks=Manipular p\u00e1ginas e adicionar favoritos Check\ the\ box\ if\ you\ want\ compressed\ output\ files\ (Pdf\ version\ 1.5\ or\ higher).=Selecione se deseja arquivos de sa\u00edda compactados (Vers\u00e3o PDF 1.5 ou maior). If\ it\ contains\ "[TIMESTAMP]"\ it\ performs\ variable\ substitution.=Se possuir "[TIMESTAMP]" ele realiza a substitui\u00e7\u00e3o de vari\u00e1vel. Ex.\ [BASENAME]_prefix_[TIMESTAMP]\ generates\ FileName_prefix_20070517_113423471.pdf.=Ex\: [BASENAME]_prefixo_[TIMESTAMP] gera NomeDoArquivo_prefixo_20070517_113423471.pdf. If\ it\ doesn't\ contain\ "[TIMESTAMP]"\ it\ generates\ oldstyle\ output\ file\ names.=Se n\u00e3o possuir "[TIMESTAMP]" ent\u00e3o os nomes dos arquivos ser\u00e3o gerados da maneira antiga. Available\ variables\:\ [TIMESTAMP],\ [BASENAME].=Vari\u00e1veis dispon\u00edveis\: [TIMESTAMP], [BASENAME]. Encrypt\ selected\ files=Criptografar arquivo(s) selecionado(s) Encrypt=Criptografar Encrypt\ section\ loaded.=Criptografar se\u00e7\u00e3o carregada. Decrypt\ selected\ files=Descriptografar os arquivos selecionados Decrypt=Descriptografar Decrypt\ section\ loaded.=Descriptografar a se\u00e7\u00e3o carregada Mix\ options=Misturar op\u00e7\u00f5es Reverse\ first\ document=Inverter primeiro documento Reverse\ second\ document=Inverter segundo documento !Number\ of\ pages\ to\ switch\ document= Tick\ the\ boxes\ if\ you\ want\ to\ reverse\ the\ first\ or\ the\ second\ document\ (or\ both).=Marque as caixas se quiser reverter o primeiro documento, o segundo ou ambos. !Set\ the\ number\ of\ pages\ to\ switch\ from\ a\ document\ to\ the\ other\ one\ (default\ is\ 1).= Found\ a\ password\ for\ first\ file.=Encontrada uma senha para o primeiro arquivo. Found\ a\ password\ for\ second\ file.=Encontrada uma senha para o segundo arquivo. Please\ select\ two\ pdf\ documents.=Por favor, selecione dois documentos pdf. Execute\ pdf\ alternate\ mix=Executar pdf mix alternado Alternate\ Mix=Mix alternado AlternateMix\ section\ loaded.=Se\u00e7\u00e3o MixAlternado carregada. Unpack\ selected\ files=Desempacotar arquivos selecionados Unpack=Descompactar Unpack\ section\ loaded.=Descompactar se\u00e7\u00e3o carregada. Set\ viewer\ options=Configurar op\u00e7\u00f5es do visualizador Hide\ the\ menubar=Ocultar a Barra de Menu Hide\ the\ toolbar=Ocultar a Barra de Ferramentas Hide\ user\ interface\ elements=Ocultar elementos de Interface de Usu\u00e1rio Rezise\ the\ window\ to\ fit\ the\ page\ size=Redimensionar a janela para ajustar ao tamanho da p\u00e1gina Center\ of\ the\ screen=Centro da Tela Display\ document\ title\ as\ window\ title=Mostrar t\u00edtulo do documento no t\u00edtulo da janela Pdf\ version\ required\:=Vers\u00e3o de Pdf requerida No\ page\ scaling\ in\ print\ dialog=Sem escala de p\u00e1gina na janela de impress\u00e3o Viewer\ layout\:=Layout do Visualizador !Viewer\ open\ mode\:= Non\ fullscreen\ mode\:=Sem modo de tela cheia\: Direction\:=Dire\u00e7\u00e3o\: Set\ options=Configurar op\u00e7\u00f5es Set\ viewer\ options\ for\ selected\ files=Configure op\u00e7\u00f5es de visualiza\u00e7\u00e3o para os arquivos selecionados Left\ to\ right=Esquerda para direita Right\ to\ left=Direita para esquerda None=Nenhum Fullscreen=Tela Cheia Attachments=Anexos Optional\ content\ group\ panel=Painel opcional de conte\u00fado de grupo Document\ outline=Esbo\u00e7o do documento Thumbnail\ images=Imagens em miniatura One\ page\ at\ a\ time=Uma pagina por vez Pages\ in\ one\ column=P\u00e1ginas em uma coluna Pages\ in\ two\ columns\ (odd\ on\ the\ left)=P\u00e1ginas em 2 colunas (impares a esquerda) Pages\ in\ two\ columns\ (odd\ on\ the\ right)=P\u00e1ginas em duas colunas (impares a direita) Two\ pages\ at\ a\ time\ (odd\ on\ the\ left)=Duas p\u00e1ginas por vez (impares a esquerda) Two\ pages\ at\ a\ time\ (odd\ on\ the\ right)=Duas p\u00e1ginas por vez (impares a direita) Viewer\ options=Op\u00e7\u00f5es do VIsualizador Viewer\ options\ section\ loaded.=Ver op\u00e7\u00f5es carregadas na se\u00e7\u00e3o Save\ passwords\ informations\ (they\ will\ be\ readable\ opening\ the\ output\ file)?=Salvar informa\u00e7\u00f5es de senha (eles ser\u00e3o lidos ao abrir o arquivo de sa\u00edda)? Confirm\ password\ saving=Confirmar senha Unknown\ action.=A\u00e7\u00e3o desconhecida. Log\ saved.=Log salvo. \ node\ environment\ loaded.=\ ambiente n\u00f3 carregado. Environment\ saved.=Ambiente salvo. Error\ saving\ environment,\ output\ file\ is\ null.=Erro ao salvar o ambiente, arquivo de sa\u00edda \u00e9 nulo. Error\ saving\ environment.=Erro ao salvar o ambiente. Environment\ loaded.=Ambiente carregado. Error\ loading\ environment.=Erro ao carregar o ambiente. Error\ loading\ environment\ from\ input\ file.\ =Erro ao carregar embiente do arquivo de entrada. Selection\ table\ is\ full,\ please\ remove\ some\ pdf\ document.=Tabela de sele\u00e7\u00e3o est\u00e1 cheio, por favor, remova algum documento pdf. Table\ full=Tabela cheia Please\ wait\ while\ reading=Por favor, aguarde a leitura Selected\ file\ is\ not\ a\ pdf\ document.=O arquivo selecionado n\u00e3o \u00e9 um documento pdf. Error\ loading\ =Erro carregando Command\ validation\ returned\ an\ empty\ value.=Valida\u00e7\u00e3o de comando retornou um valor vazio. Command\ executed.=Comando executado. File\ name=Nome de arquivo Number\ of\ pages=N\u00famero de p\u00e1ginas File\ size=Tamanho do arquivo Pdf\ version=Vers\u00e3o do PDF Encryption=Criptografia Not\ encrypted=N\u00e3o criptografado Permissions=Permiss\u00f5es Title=T\u00edtulo Author=Autor Subject=Assunto Producer=Produtor Creator=Gerador Creation\ date=Data de cria\u00e7\u00e3o Modification\ date=Data de modifica\u00e7\u00e3o Keywords=Palavras-chave Document\ properties=Propriedades do documento File=Arquivo Close=Fechar Copy=Copiar Error\ creating\ properties\ panel.=Erro ao criar painel de propriedades. Run=Executar Browse=Navegar Add=Adicionar Compress\ output\ file/files=Compactar arquivo(s) de sa\u00edda Overwrite\ if\ already\ exists=Sobrescrever se j\u00e1 existir Don't\ preserve\ file\ order\ (fast\ load)=N\u00e3o preservar a ordem de arquivos (carregamento r\u00e1pido) Output\ document\ pdf\ version\:=Vers\u00e3o pdf do documento de sa\u00edda\: !The\ cross\ reference\ table\ cantained\ some\ error\ and\ has\ been\ rebuilt= !The\ document\ has\ not\ been\ opened\ with\ the\ owner\ password.\ You\ must\ provide\ the\ owner\ password\ in\ order\ to\ manipulate\ the\ document= !An\ error\ occured\ while\ loading\ the\ document= Same\ as\ input\ document=Mesmo que documento de entrada Path=Caminho Pages=P\u00e1ginas Password=Senha Version=Vers\u00e3o Page\ Selection=Sele\u00e7\u00e3o de p\u00e1gina Total\ pages\ of\ the\ document=Total de p\u00e1ginas do documento Password\ to\ open\ the\ document\ (if\ needed)=Senha para abrir o arquivo (se necess\u00e1rio) Pdf\ version\ of\ the\ document=Vers\u00e3o pdf do documento Double\ click\ to\ set\ pages\ you\ want\ to\ merge\ (ex\:\ 2\ or\ 5-23\ or\ 2,5-7,12-)=Clique duplo para definir as p\u00e1ginas que ser\u00e3o mescladas (ex\: 2 ou 5-23 ou 2,5-7,12-) Add\ a\ pdf\ to\ the\ list=Adicionar um pdf \u00e0 lista Remove\ a\ pdf\ from\ the\ list=Remove um arquivo pdf da lista (Canc)=(Canc) Remove=Remover Reload=Recarregar Error\:\ Unable\ to\ reload\ the\ selected\ file/s.=Erro\: n\u00e3o foi poss\u00edvel recarregar o(s) arquivo(s) selecionado(s). Unable\ to\ remove\ JList\ text\ =N\u00e3o foi poss\u00edvel remover o texto JList File\ selected\:\ =Arquivo selecionado\: File\ reloaded\:\ =Arquivo recarregado\: Move\ Up=Para cima Move\ up\ selected\ pdf\ file=Move para cima o arquivo pdf selecionado (Alt+ArrowUp)=(Alt+Seta para cima) Move\ Down=Para baixo Move\ down\ selected\ pdf\ file=Move para baixo o arquivo pdf selecionado (Alt+ArrowDown)=(Alt+Seta para baixo) Clear=Limpar Remove\ every\ pdf\ file\ from\ the\ merge\ list=Remover todos arquivos pdf da lista de mesclagem Set\ output\ file=Definir arquivo de sa\u00edda Error\:\ Unable\ to\ get\ the\ file\ path.=Erro\: n\u00e3o foi poss\u00edvel recuperar o caminho do arquivo. Unable\ to\ get\ the\ default\ environment\ informations.=Incapaz de obter as informa\u00e7\u00f5es do ambiente padr\u00e3o. Setting\ look\ and\ feel...=Definindo apar\u00eancia... Setting\ logging\ level...=Definindo n\u00edvel de log... Unable\ to\ find\ log\ level,\ setting\ to\ default\ level\ (DEBUG).=N\u00e3o foi poss\u00edvel carregar o log do n\u00edvel, configurando para n\u00edvel padr\u00e3o (DEBUG) Logging\ level\ set\ to\ =N\u00edvel do log definido para Unable\ to\ set\ logging\ level.=N\u00e3o foi poss\u00edvel definir o n\u00edvel de log. Error\ getting\ plugins\ directory.=Erro ao recuperar diret\u00f3rio de plugins. Cannot\ read\ plugins\ directory\ =N\u00e3o foi poss\u00edvel ler diret\u00f3rio de plugins Plugins\ directory\ is\ null.=Diret\u00f3rio de plugins \u00e9 nulo. Found\ zero\ or\ many\ jars\ in\ plugin\ directory\ =Encontrado nenhum ou muitos jars no diret\u00f3rio de plugin Exception\ loading\ plugins.=Exce\u00e7\u00e3o ao carregar plugins. Cannot\ read\ plugin\ directory\ =N\u00e3o \u00e9 poss\u00edvel ler diret\u00f3rio de plugin \ plugin\ loaded.=\ plugin carregado. Unable\ to\ load\ a\ plugin\ that\ is\ not\ JPanel\ subclass.=N\u00e3o \u00e9 poss\u00edvel carregar um plugin que n\u00e3o \u00e9 uma sub-classe de JPanel. Error\ loading\ class\ =Erro carregando classes Select\ all=Selecionar tudo Save\ log=Salvar log Save\ environment=Salvar ambiente Load\ environment=Carregar ambiente Exit=Sair Unable\ to\ initialize\ menu\ bar.=N\u00e3o foi poss\u00edvel inicializar a barra de menu. started\ in\ =iniciado em Loading\ plugins..=Carregando plugins.. Building\ menus..=Construindo menus.. Building\ buttons\ bar..=Construindo barra de bot\u00f5es.. Building\ status\ bar..=Construindo barra de status.. Building\ tree..=Construindo \u00e1rvore.. Loading\ default\ environment.=Carregando ambiente padr\u00e3o. Error\ starting\ pdfsam.=Erro ao iniciar pdfsam. Clear\ log=Limpar log Unable\ to\ initialize\ button\ bar.=N\u00e3o foi poss\u00edvel inicializar a barra de bot\u00f5es. Version\:\ =Vers\u00e3o\: Language\:\ =Idioma\: Developed\ by\:\ =Desenvolvido por\: Build\ date\:\ =Data de compila\u00e7\u00e3o\: Java\ home\:\ =Diret\u00f3rio do Java\: Java\ version\:\ =Vers\u00e3o do Java\: Max\ memory\:\ =Mem\u00f3ria m\u00e1x. Configuration\ file\:\ =Arquivo de configura\u00e7\u00e3o\: Website\:\ =Website\: Name=Nome About=Sobre Unimplemented\ method\ for\ JInfoPanel=M\u00e9todo n\u00e3o implementado para JInfoPanel Contributes\:\ =Contribui\: Log\ level\:=N\u00edvel de log\: Settings=Configura\u00e7\u00f5es Look\ and\ feel\:=Apar\u00eancia\: Theme\:=Tema\: Language\:=Linguagem\: Check\ for\ updates\:=Verificar se h\u00e1 atualiza\u00e7\u00f5es Load\ default\ environment\ at\ startup\:=Carregar ambiente padr\u00e3o ao iniciar\: Default\ working\ directory\:=Diret\u00f3rio padr\u00e3o\: Error\ getting\ default\ environment.=Erro ao recuperar ambiente padr\u00e3o. Check\ now=Verificar agora Play\ alert\ sounds=Tocar alertas sonoros Settings\ =Configura\u00e7\u00f5es Language=Idioma Set\ your\ preferred\ language\ (restart\ needed)=Define seu idioma preferido (rein\u00edcio necess\u00e1rio) Look\ and\ feel=Apar\u00eancia Set\ your\ preferred\ look\ and\ feel\ and\ your\ preferred\ theme\ (restart\ needed)=Define sua apar\u00eancia e temas preferidos (rein\u00edcio necess\u00e1rio) Log\ level=N\u00edvel de log Set\ a\ log\ detail\ level\ (restart\ needed)=Define o n\u00edvel de detalhamento do log (rein\u00edcio necess\u00e1rio) Check\ for\ updates=Verificar se h\u00e1 atualiza\u00e7\u00f5es Set\ when\ new\ version\ availability\ should\ be\ checked\ (restart\ needed)=Define quando procurar por nova vers\u00e3o (\u00e9 necess\u00e1rio reiniciar) Turn\ on\ or\ off\ alert\ sounds=Ligar ou desligar alert sonoros Default\ env.=Amb. padr\u00e3o. Select\ a\ previously\ saved\ env.\ file\ that\ will\ be\ automatically\ loaded\ at\ startup=Seleciona um arquivo de ambiente previamente salvo que ser\u00e1 automaticamente carregado no lan\u00e7amento da aplica\u00e7\u00e3o Default\ working\ directory=Diret\u00f3rio padr\u00e3o Select\ a\ directory\ where\ documents\ will\ be\ saved\ and\ loaded\ by\ default=Selecione o diret\u00f3rio onde os arquivos ser\u00e3o salvos e lidos por padr\u00e3o Save=Salvar Configuration\ saved.=Configura\u00e7\u00e3o salva. Unimplemented\ method\ for\ JSettingsPanel=M\u00e9todo n\u00e3o implementado para JSettingsPanel New\ version\ available\:\ =Nova vers\u00e3o dispon\u00edvel\: Plugins=Plugins Error\ getting\ pdf\ version\ description.=Erro ao recuperar a descri\u00e7\u00e3o da vers\u00e3o do pdf. Version\ 1.2\ (Acrobat\ 3)=Vers\u00e3o 1.2 (Acrobat 3) Version\ 1.3\ (Acrobat\ 4)=Vers\u00e3o 1.3 (Acrobat 4) Version\ 1.4\ (Acrobat\ 5)=Vers\u00e3o 1.4 (Acrobat 5) Version\ 1.5\ (Acrobat\ 6)=Vers\u00e3o 1.5 (Acrobat 6) Version\ 1.6\ (Acrobat\ 7)=Vers\u00e3o 1.6 (Acrobat 7) Version\ 1.7\ (Acrobat\ 8)=Vers\u00e3o 1.7 (Acrobat 8) Never=Jamais pdfsam\ start\ up=inicializa\u00e7\u00e3o do pdfsam Output\ file\ location\ is\ not\ correct=O local do arquivo de sa\u00edda est\u00e1 incorreto Would\ you\ like\ to\ change\ it\ to=Voc\u00ea gostaria de alter\u00e1-lo para Output\ location\ error=Erro de local sa\u00edda Selected\ output\ file\ already\ exists\ =Arquivo de sa\u00edda j\u00e1 existente Would\ you\ like\ to\ overwrite\ it?=Voc\u00ea gostaria de sobrescrev\u00ea-lo? Provided\ pages\ selection\ is\ not\ valid=A sele\u00e7\u00e3o de p\u00e1ginas n\u00e3o \u00e9 v\u00e1lida Limits\ must\ be\ a\ comma\ separated\ list\ of\ "page_number"\ or\ "page_number-page_number"=Os limites precisam ser uma lista, separada por v\u00edrgulas, de "n\u00famero_da_p\u00e1gina" ou "n\u00famero_da_p\u00e1gina-n\u00famero_da_p\u00e1gina" Limits\ are\ not\ valid=Os limites n\u00e3o s\u00e3o v\u00e1lidos Checking\ for\ a\ new\ version\ available.=Verificando se h\u00e1 uma vers\u00e3o nova dispon\u00edvel. Error\ checking\ for\ a\ new\ version\ available.=Erro ao verificar se h\u00e1 vers\u00e3o nova dispon\u00edvel. Unable\ to\ get\ latest\ available\ version=N\u00e3o foi poss\u00edvel obter \u00faltima vers\u00e3o dispon\u00edvel New\ version\ available.=Nova vers\u00e3o dispon\u00edvel. No\ new\ version\ available.=Nenhuma nova vers\u00e3o dispon\u00edvel. Cut=Recortar Paste=Colar pdfsam-1.1.4/pdfsam-langpack-br1/src/java/org/pdfsam/i18n/resources/Messages_ko.properties0000644000175000017500000003636011225342444031370 0ustar twernertwerner# Korean translation for pdfsam # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the pdfsam package. # FIRST AUTHOR , 2008. # !=Project-Id-Version\: pdfsam\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2009-07-09 12\:23+0200\nPO-Revision-Date\: 2008-06-24 09\:30+0000\nLast-Translator\: sanghyun lee \nLanguage-Team\: Korean \nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Launchpad-Export-Date\: 2008-08-17 09\:24+0000\nX-Generator\: Launchpad (build Unknown)\n #, fuzzy !Merge\ options=Merge options\: PDF\ documents\ contain\ forms=\ud3fc\uc744 \ud3ec\ud568\ud55c PDF \ubb38\uc11c Merge\ type=\ubcd1\ud569 \ud615\uc2dd Unchecked=\uc120\ud0dd \uc548\ud568 Use\ this\ merge\ type\ for\ standard\ pdf\ documents=\ud45c\uc900 pdf \ubb38\uc11c\uc5d0 \uc774 \ubcd1\ud569 \ud615\uc2dd \uc0ac\uc6a9 Checked=\uc120\ud0dd\ud568 Use\ this\ merge\ type\ for\ pdf\ documents\ containing\ forms=\ud3fc\uc744 \ud3ec\ud568\ud55c \ubb38\uc11c\uc5d0 \uc774 \ubcd1\ud569 \ud615\uc2dd \uc0ac\uc6a9 Note=\ub178\ud2b8 Setting\ this\ option\ the\ documents\ will\ be\ completely\ loaded\ in\ memory=\uc774 \uc635\uc158\uc744 \uc120\ud0dd\ud558\uba74 \ubb38\uc11c \uc804\ubd80\ub97c \uba54\ubaa8\ub9ac\uc5d0 \uc77d\uc5b4\ub4e4\uc785\ub2c8\ub2e4 Destination\ output\ file=\ucd9c\ub825 \ud30c\uc77c Error\:\ =\uc624\ub958\: Browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ file.=\ucd9c\ub825\ud30c\uc77c\uc744 \uc120\ud0dd\ud558\uac70\ub098 \uc644\uc804\ud55c \uacbd\ub85c\ub97c \uc785\ub825\ud558\uc138\uc694. Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ file\ if\ it\ already\ exists.=\ucd9c\ub825 \ud30c\uc77c\uc774 \uc774\ubbf8 \uc788\uc744 \uacbd\uc6b0 \ub36e\uc5b4\uc4f0\uae30\ub97c \uc6d0\ud558\uba74 \uc120\ud0dd\ud558\uc138\uc694. Check\ the\ box\ if\ you\ want\ compressed\ output\ files.=\ucd9c\ub825 \ud30c\uc77c\uc744 \uc555\ucd95\ud558\ub824\uba74 \uc120\ud0dd\ud558\uc138\uc694. PDF\ version\ 1.5\ or\ above.=PDF \ubc84\uc804 1.5 \uc774\uc0c1. Set\ the\ pdf\ version\ of\ the\ ouput\ document.=\ucd9c\ub825 \ubb38\uc11c\uc758 PDF \ubc84\uc804 \uc124\uc815. Please\ wait\ while\ all\ files\ are\ processed..=\ubaa8\ub4e0 \ud30c\uc77c\uc774 \ucc98\ub9ac\ub420 \ub3d9\uc548 \uc7a0\uc2dc \uae30\ub2e4\ub9ac\uc138\uc694. #, fuzzy !Found\ a\ password\ for\ input\ file.=\uc785\ub825 \ud30c\uc77c \uc554\ud638 \ubc1c\uacac. !Please\ select\ at\ least\ one\ pdf\ document.= !Warning= Execute\ pdf\ merge=PDF \ubcd1\ud569 \uc2e4\ud589 Merge/Extract=\ubcd1\ud569/\ucd94\ucd9c Merge\ section\ loaded.=\uc77d\uc740 \uc601\uc5ed \ubcd1\ud569. !Export\ as\ xml= !Unable\ to\ save\ xml\ file.= !Ok= !File\ xml\ saved.= !Error\ saving\ xml\ file,\ output\ file\ is\ null.= Split\ options=\ubd84\ud560 \uc635\uc158 Burst\ (split\ into\ single\ pages)=\ud30c\uc1c4 (\ud55c \ud398\uc774\uc9c0\uc529 \ubd84\ud560) Split\ every\ "n"\ pages="n" \ud398\uc774\uc9c0\uc529 \ubd84\ud560 Split\ even\ pages=\uc9dd\uc218 \ud398\uc774\uc9c0 \ubd84\ud560 Split\ odd\ pages=\ud640\uc218 \ud398\uc774\uc9c0 \ubd84\ud560 Split\ after\ these\ pages=\uc774 \ud398\uc774\uc9c0\ub4e4 \uc774\ud6c4 \ubd84\ud560 Split\ at\ this\ size=\uc774 \ud06c\uae30\ub85c \ubd84\ud560 !Split\ by\ bookmarks\ level= Burst=\ud30c\uc1c4 Explode\ the\ pdf\ document\ into\ single\ pages=PDF \ubb38\uc11c\ub97c \ud55c \ud398\uc774\uc9c0\uc529 \ud30c\uc1c4 Split\ the\ document\ every\ "n"\ pages=\ubb38\uc11c\ub97c "n" \ud398\uc774\uc9c0\uc529 \ubd84\ud560 Split\ the\ document\ every\ even\ page=\ubb38\uc11c\ub97c \uac01 \uc9dd\uc218 \ud398\uc774\uc9c0\ub85c \ubd84\ud560 Split\ the\ document\ every\ odd\ page=\ubb38\uc11c\ub97c \uac01 \ud640\uc218 \ud398\uc774\uc9c0\ub85c \ubd84\ud560 Split\ the\ document\ after\ page\ numbers\ (num1-num2-num3..)=\ubb38\uc11c\ub97c \ud398\uc774\uc9c0 \ubc88\ud638\uc774\ud6c4 \ubd84\ud560 (num1-num2-num3..) #, fuzzy !Split\ the\ document\ in\ files\ of\ the\ given\ size\ (roughly)=\ubb38\uc11c\ub97c (\ub300\ub7b5\uc758) \ud06c\uae30\ub85c \ubd84\ud560. #, fuzzy !Split\ the\ document\ at\ pages\ referred\ by\ bookmarks\ of\ the\ given\ level=\ubb38\uc11c\ub97c (\ub300\ub7b5\uc758) \ud06c\uae30\ub85c \ubd84\ud560. #, fuzzy !Destination\ folder=\ub300\uc0c1 \ud3f4\ub354\: Same\ as\ source=\uc6d0\ubcf8\uacfc \ub3d9\uc77c Choose\ a\ folder=\ud3f4\ub354 \uc120\ud0dd Destination\ output\ directory=\ucd9c\ub825 \ub514\ub809\ud1a0\ub9ac Use\ the\ same\ output\ folder\ as\ the\ input\ file\ or\ choose\ a\ folder.=\uc785\ub825 \ud30c\uc77c\uacfc \uac19\uc740 \ud3f4\ub354\ub97c \uc0ac\uc6a9\ud558\uac70\ub098 \ub2e4\ub978 \ud3f4\ub354\ub97c \uc120\ud0dd. To\ choose\ a\ folder\ browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ directory.=\ucd9c\ub825 \ud3f4\ub354\ub97c \uc120\ud0dd\ud558\uac70\ub098 \uc644\uc804\ud55c \uacbd\ub85c\ub97c \uc785\ub825\ud558\uc138\uc694. Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ files\ if\ they\ already\ exist.=\ucd9c\ub825 \ud30c\uc77c\uc774 \uc774\ubbf8 \uc788\uc744 \uacbd\uc6b0 \ub36e\uc5b4\uc4f0\uae30\ub97c \uc6d0\ud558\uba74 \uc120\ud0dd\ud558\uc138\uc694. #, fuzzy !Output\ options=\ucd9c\ub825 \uc635\uc158\: Output\ file\ names\ prefix\:=\ucd9c\ub825 \ud30c\uc77c\uba85 \uc811\ub450\uc5b4\: Output\ files\ prefix=\ucd9c\ub825 \ud30c\uc77c \uc811\ub450\uc5b4 !If\ it\ contains\ "[CURRENTPAGE]",\ "[TIMESTAMP]",\ "[FILENUMBER]"\ or\ "[BOOKMARK_NAME]"\ it\ performs\ variable\ substitution.= Ex.\ prefix_[BASENAME]_[CURRENTPAGE]\ generates\ prefix_FileName_005.pdf.=\uc608. prefix_[BASENAME]_[CURRENTPAGE]\ub294 prefix_FileName_005.pdf\ub85c \ub429\ub2c8\ub2e4. #, fuzzy !If\ it\ doesn't\ contain\ "[CURRENTPAGE]",\ "[TIMESTAMP]"\ or\ "[FILENUMBER]"\ it\ generates\ oldstyle\ output\ file\ names.="[CURRENTPAGE]" \ub610\ub294 "[TIMESTAMP]"\ub97c \ud3ec\ud568\ud558\uace0 \uc788\uc9c0 \uc54a\uc73c\uba74 \uc608\uc804 \uc2a4\ud0c0\uc77c\uc758 \ucd9c\ub825 \ud30c\uc77c \uc774\ub984\uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4. !Available\ variables= Invalid\ split\ size=\uc720\ud6a8\ud558\uc9c0 \uc54a\uc740 \ubd84\ud560 \ud06c\uae30 The\ lowest\ available\ pdf\ version\ is\ =\ucd5c\uc18c PDF \ubc84\uc804\uc740 You\ selected\ a\ lower\ output\ pdf\ version,\ continue\ anyway\ ?=\ub354 \ub0ae\uc740 PDF \ubc84\uc804\uc73c\ub85c \ucd9c\ub825\uc744 \uc120\ud0dd\ud588\uc2b5\ub2c8\ub2e4. \uacc4\uc18d \ud560\uae4c\uc694? Pdf\ version\ conflict=PDF \ubc84\uc804 \ucda9\ub3cc !Please\ select\ a\ pdf\ document.= Split\ selected\ file=\uc120\ud0dd\ub41c \ud30c\uc77c \ubd84\ud560 Split=\ubd84\ud560 Split\ section\ loaded.=\uc77d\uc740 \uc601\uc5ed \ubd84\ud560. Invalid\ unit\:\ =\uc720\ud6a8\ud558\uc9c0 \uc54a\uc740 \ub2e8\uc704\: !Fill\ from\ document= !Getting\ bookmarks\ max\ depth= !Frontpage\ pdf\ file= !Addendum\ pdf\ file= !Select\ at\ least\ one\ cover\ or\ one\ footer= !Frontpage\ and\ Addendum= !Cover\ And\ Footer\ section\ loaded.= #, fuzzy !Encrypt\ options=\ubd84\ud560 \uc635\uc158 Owner\ password\:=\uc18c\uc720\uc790 \uc554\ud638\: Owner\ password\ (Max\ 32\ chars\ long)=\uc18c\uc720\uc790 \uc554\ud638 (\ucd5c\ub300 32 \uae00\uc790) User\ password\:=\uc0ac\uc6a9\uc790 \uc554\ud638\: User\ password\ (Max\ 32\ chars\ long)=\uc0ac\uc6a9\uc790 \uc554\ud638 (\ucd5c\ub300 32 \uae00\uc790) !Encryption\ algorithm\:= !Allow\ all= Print=\uc778\uc1c4 Low\ quality\ print=\uc800\uc218\uc900 \uc778\uc1c4 Copy\ or\ extract=\ubcf5\uc0ac \ub610\ub294 \ucd94\ucd9c Modify=\uc218\uc815 !Add\ or\ modify\ text\ annotations= !Fill\ form\ fields= !Extract\ for\ use\ by\ accessibility\ dev.= !Manipulate\ pages\ and\ add\ bookmarks= !Check\ the\ box\ if\ you\ want\ compressed\ output\ files\ (Pdf\ version\ 1.5\ or\ higher).= !If\ it\ contains\ "[TIMESTAMP]"\ it\ performs\ variable\ substitution.= !Ex.\ [BASENAME]_prefix_[TIMESTAMP]\ generates\ FileName_prefix_20070517_113423471.pdf.= !If\ it\ doesn't\ contain\ "[TIMESTAMP]"\ it\ generates\ oldstyle\ output\ file\ names.= !Available\ variables\:\ [TIMESTAMP],\ [BASENAME].= !Encrypt\ selected\ files= !Encrypt= !Encrypt\ section\ loaded.= #, fuzzy !Decrypt\ selected\ files=\uc120\ud0dd\ub41c \ud30c\uc77c \ubd84\ud560 !Decrypt= #, fuzzy !Decrypt\ section\ loaded.=\uc77d\uc740 \uc601\uc5ed \ubcd1\ud569. #, fuzzy !Mix\ options=\ubd84\ud560 \uc635\uc158 !Reverse\ first\ document= !Reverse\ second\ document= !Number\ of\ pages\ to\ switch\ document= !Tick\ the\ boxes\ if\ you\ want\ to\ reverse\ the\ first\ or\ the\ second\ document\ (or\ both).= !Set\ the\ number\ of\ pages\ to\ switch\ from\ a\ document\ to\ the\ other\ one\ (default\ is\ 1).= !Found\ a\ password\ for\ first\ file.= !Found\ a\ password\ for\ second\ file.= !Please\ select\ two\ pdf\ documents.= !Execute\ pdf\ alternate\ mix= !Alternate\ Mix= !AlternateMix\ section\ loaded.= !Unpack\ selected\ files= !Unpack= !Unpack\ section\ loaded.= #, fuzzy !Set\ viewer\ options=\ubd84\ud560 \uc635\uc158 !Hide\ the\ menubar= !Hide\ the\ toolbar= !Hide\ user\ interface\ elements= !Rezise\ the\ window\ to\ fit\ the\ page\ size= !Center\ of\ the\ screen= !Display\ document\ title\ as\ window\ title= #, fuzzy !Pdf\ version\ required\:=PDF \ubc84\uc804 \ucda9\ub3cc !No\ page\ scaling\ in\ print\ dialog= !Viewer\ layout\:= !Viewer\ open\ mode\:= !Non\ fullscreen\ mode\:= !Direction\:= #, fuzzy !Set\ options=\ubd84\ud560 \uc635\uc158 #, fuzzy !Set\ viewer\ options\ for\ selected\ files=\uc120\ud0dd\ub41c \ud30c\uc77c \ubd84\ud560 !Left\ to\ right= !Right\ to\ left= #, fuzzy !None=\ub178\ud2b8 !Fullscreen= !Attachments= !Optional\ content\ group\ panel= #, fuzzy !Document\ outline=\ud3fc\uc744 \ud3ec\ud568\ud55c PDF \ubb38\uc11c !Thumbnail\ images= !One\ page\ at\ a\ time= !Pages\ in\ one\ column= !Pages\ in\ two\ columns\ (odd\ on\ the\ left)= !Pages\ in\ two\ columns\ (odd\ on\ the\ right)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ left)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ right)= #, fuzzy !Viewer\ options=Merge options\: #, fuzzy !Viewer\ options\ section\ loaded.=\uc77d\uc740 \uc601\uc5ed \ubcd1\ud569. !Save\ passwords\ informations\ (they\ will\ be\ readable\ opening\ the\ output\ file)?= !Confirm\ password\ saving= !Unknown\ action.= !Log\ saved.= !\ node\ environment\ loaded.= !Environment\ saved.= !Error\ saving\ environment,\ output\ file\ is\ null.= !Error\ saving\ environment.= !Environment\ loaded.= !Error\ loading\ environment.= !Error\ loading\ environment\ from\ input\ file.\ = !Selection\ table\ is\ full,\ please\ remove\ some\ pdf\ document.= !Table\ full= !Please\ wait\ while\ reading= !Selected\ file\ is\ not\ a\ pdf\ document.= !Error\ loading\ = !Command\ validation\ returned\ an\ empty\ value.= !Command\ executed.= !File\ name= !Number\ of\ pages= !File\ size= !Pdf\ version= !Encryption= !Not\ encrypted= !Permissions= !Title= !Author= !Subject= !Producer= !Creator= !Creation\ date= !Modification\ date= !Keywords= !Document\ properties= !File= !Close= !Copy= !Error\ creating\ properties\ panel.= !Run= !Browse= !Add= !Compress\ output\ file/files= Overwrite\ if\ already\ exists=\ud30c\uc77c\uc774 \uc774\ubbf8 \uc788\uc73c\uba74 \ub36e\uc5b4 \uc4f0\uae30 !Don't\ preserve\ file\ order\ (fast\ load)= !Output\ document\ pdf\ version\:= !The\ cross\ reference\ table\ cantained\ some\ error\ and\ has\ been\ rebuilt= !The\ document\ has\ not\ been\ opened\ with\ the\ owner\ password.\ You\ must\ provide\ the\ owner\ password\ in\ order\ to\ manipulate\ the\ document= !An\ error\ occured\ while\ loading\ the\ document= !Same\ as\ input\ document= !Path= !Pages= !Password= !Version= !Page\ Selection= !Total\ pages\ of\ the\ document= !Password\ to\ open\ the\ document\ (if\ needed)= !Pdf\ version\ of\ the\ document= !Double\ click\ to\ set\ pages\ you\ want\ to\ merge\ (ex\:\ 2\ or\ 5-23\ or\ 2,5-7,12-)= !Add\ a\ pdf\ to\ the\ list= !Remove\ a\ pdf\ from\ the\ list= !(Canc)= !Remove= !Reload= !Error\:\ Unable\ to\ reload\ the\ selected\ file/s.= !Unable\ to\ remove\ JList\ text\ = !File\ selected\:\ = !File\ reloaded\:\ = !Move\ Up= !Move\ up\ selected\ pdf\ file= !(Alt+ArrowUp)= !Move\ Down= !Move\ down\ selected\ pdf\ file= !(Alt+ArrowDown)= !Clear= !Remove\ every\ pdf\ file\ from\ the\ merge\ list= !Set\ output\ file= !Error\:\ Unable\ to\ get\ the\ file\ path.= !Unable\ to\ get\ the\ default\ environment\ informations.= !Setting\ look\ and\ feel...= !Setting\ logging\ level...= !Unable\ to\ find\ log\ level,\ setting\ to\ default\ level\ (DEBUG).= !Logging\ level\ set\ to\ = !Unable\ to\ set\ logging\ level.= !Error\ getting\ plugins\ directory.= !Cannot\ read\ plugins\ directory\ = !Plugins\ directory\ is\ null.= !Found\ zero\ or\ many\ jars\ in\ plugin\ directory\ = !Exception\ loading\ plugins.= !Cannot\ read\ plugin\ directory\ = !\ plugin\ loaded.= !Unable\ to\ load\ a\ plugin\ that\ is\ not\ JPanel\ subclass.= !Error\ loading\ class\ = !Select\ all= !Save\ log= !Save\ environment= !Load\ environment= !Exit= !Unable\ to\ initialize\ menu\ bar.= !started\ in\ = !Loading\ plugins..= !Building\ menus..= !Building\ buttons\ bar..= !Building\ status\ bar..= !Building\ tree..= !Loading\ default\ environment.= !Error\ starting\ pdfsam.= !Clear\ log= !Unable\ to\ initialize\ button\ bar.= !Version\:\ = !Language\:\ = !Developed\ by\:\ = !Build\ date\:\ = !Java\ home\:\ = !Java\ version\:\ = !Max\ memory\:\ = !Configuration\ file\:\ = !Website\:\ = !Name= !About= !Unimplemented\ method\ for\ JInfoPanel= !Contributes\:\ = !Log\ level\:= !Settings= !Look\ and\ feel\:= !Theme\:= !Language\:= !Check\ for\ updates\:= !Load\ default\ environment\ at\ startup\:= !Default\ working\ directory\:= !Error\ getting\ default\ environment.= !Check\ now= !Play\ alert\ sounds= !Settings\ = !Language= !Set\ your\ preferred\ language\ (restart\ needed)= !Look\ and\ feel= !Set\ your\ preferred\ look\ and\ feel\ and\ your\ preferred\ theme\ (restart\ needed)= !Log\ level= !Set\ a\ log\ detail\ level\ (restart\ needed)= !Check\ for\ updates= !Set\ when\ new\ version\ availability\ should\ be\ checked\ (restart\ needed)= !Turn\ on\ or\ off\ alert\ sounds= !Default\ env.= !Select\ a\ previously\ saved\ env.\ file\ that\ will\ be\ automatically\ loaded\ at\ startup= !Default\ working\ directory= !Select\ a\ directory\ where\ documents\ will\ be\ saved\ and\ loaded\ by\ default= !Save= !Configuration\ saved.= !Unimplemented\ method\ for\ JSettingsPanel= !New\ version\ available\:\ = !Plugins= !Error\ getting\ pdf\ version\ description.= !Version\ 1.2\ (Acrobat\ 3)= !Version\ 1.3\ (Acrobat\ 4)= !Version\ 1.4\ (Acrobat\ 5)= !Version\ 1.5\ (Acrobat\ 6)= !Version\ 1.6\ (Acrobat\ 7)= !Version\ 1.7\ (Acrobat\ 8)= !Never= !pdfsam\ start\ up= !Output\ file\ location\ is\ not\ correct= !Would\ you\ like\ to\ change\ it\ to= !Output\ location\ error= !Selected\ output\ file\ already\ exists\ = !Would\ you\ like\ to\ overwrite\ it?= !Provided\ pages\ selection\ is\ not\ valid= !Limits\ must\ be\ a\ comma\ separated\ list\ of\ "page_number"\ or\ "page_number-page_number"= !Limits\ are\ not\ valid= !Checking\ for\ a\ new\ version\ available.= !Error\ checking\ for\ a\ new\ version\ available.= !Unable\ to\ get\ latest\ available\ version= !New\ version\ available.= !No\ new\ version\ available.= !Cut= !Paste= pdfsam-1.1.4/pdfsam-langpack-br1/src/java/org/pdfsam/i18n/resources/Messages_bs.properties0000644000175000017500000005136411225342444031364 0ustar twernertwerner# Bosnian translation for pdfsam # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the pdfsam package. # FIRST AUTHOR , 2008. # !=Project-Id-Version\: pdfsam\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2009-07-09 12\:23+0200\nPO-Revision-Date\: 2009-06-03 17\:56+0000\nLast-Translator\: Amicus \nLanguage-Team\: Bosnian \nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Launchpad-Export-Date\: 2009-07-09 10\:20+0000\nX-Generator\: Launchpad (build Unknown)\nX-Poedit-Country\: BOSNIA AND HERZEGOVINA\nX-Poedit-Language\: Bosnian\n Merge\ options=Opcije spajanja PDF\ documents\ contain\ forms=PDF dokument sadr\u017ei forme Merge\ type=Tip sastavljanja Unchecked=Neprovjereno Use\ this\ merge\ type\ for\ standard\ pdf\ documents=Koristi ovaj tip sastavljanja za standardne PDF dokumente Checked=Provjereno Use\ this\ merge\ type\ for\ pdf\ documents\ containing\ forms=Koristi ovaj tip sastavljanja za PDF dokumente koji sadr\u017ee forme Note=Napomena Setting\ this\ option\ the\ documents\ will\ be\ completely\ loaded\ in\ memory=Izborom ove opcije, dokumenti \u0107e u cijelosti biti u\u010ditani u memoriju Destination\ output\ file=Lokacija finalnog dokumenta Error\:\ =Gre\u0161ka\: Browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ file.=Prona\u0111i ili upi\u0161i punu putanju do finalnog dokumenta. Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ file\ if\ it\ already\ exists.=Markirajte opciju ako \u017eelite da zamijenite finalni dokument ako ve\u0107 postoji. Check\ the\ box\ if\ you\ want\ compressed\ output\ files.=Markirajte opciju ako \u017eelite kompresovani finalni dokument. PDF\ version\ 1.5\ or\ above.=PDF verzija 1.5 ili novija. Set\ the\ pdf\ version\ of\ the\ ouput\ document.=Postavite PDF verziju izlaznog dokumenta. Please\ wait\ while\ all\ files\ are\ processed..=Molimo sa\u010dekajte dok svi dokumenti budu procesirani.. Found\ a\ password\ for\ input\ file.=Prona\u0111ena je \u0161ifra za ulazni dokument. Please\ select\ at\ least\ one\ pdf\ document.=Molimo selektujte barem jedan pdf dokument. Warning=Upozorenje Execute\ pdf\ merge=Izvr\u0161i PDF sastavlanje Merge/Extract=Sastavi/Ekstraktuj Merge\ section\ loaded.=Selekcija za sastavljanja je u\u010ditana. Export\ as\ xml=Eksportuj kao xml Unable\ to\ save\ xml\ file.=Nije mogu\u0107e snimiti xml dokument. Ok=Uredu File\ xml\ saved.=Xml dokument je snimljen. Error\ saving\ xml\ file,\ output\ file\ is\ null.=Gre\u0161ka pri snimanju aml dokumenta, izlazni dokument je prazan. Split\ options=Opcije dijeljenja Burst\ (split\ into\ single\ pages)=Stihijski (rastaviti na pojedina\u010dne stranice) Split\ every\ "n"\ pages=Rastavi svakih "n" stranica Split\ even\ pages=Rastavi na parne stranice Split\ odd\ pages=Rastavi na neparne stranice Split\ after\ these\ pages=Rastavi nakon ovih stranica Split\ at\ this\ size=Rastavi na ovoj veli\u010dini Split\ by\ bookmarks\ level=Podijeli po bukmark nivou Burst=Stihijski Explode\ the\ pdf\ document\ into\ single\ pages=Rasprsni PDF dokument u pojedina\u010dne stranice Split\ the\ document\ every\ "n"\ pages=Rastavi dokument svakih "n" stranica Split\ the\ document\ every\ even\ page=Rastavi dokument na svakoj parnoj stranici Split\ the\ document\ every\ odd\ page=Rastavi dokument na svakoj neparnoj stranici Split\ the\ document\ after\ page\ numbers\ (num1-num2-num3..)=Rastavi dokument nakon brojeva stranica (br1-br2-br3..) Split\ the\ document\ in\ files\ of\ the\ given\ size\ (roughly)=Podijeli dokument u dijelove dat eveli\u010dine (ugrubo) Split\ the\ document\ at\ pages\ referred\ by\ bookmarks\ of\ the\ given\ level=Podijeli dokument na stranice kako upu\u0107uju bukmarci datog nivoa Destination\ folder=Odredi\u0161ni direktorij Same\ as\ source=Ista kao izvor Choose\ a\ folder=Izaberi direktorij Destination\ output\ directory=Ciljni izlazni direktorij Use\ the\ same\ output\ folder\ as\ the\ input\ file\ or\ choose\ a\ folder.=Koristi ulazni direktorij kao izlazni ili izaberi direktorij. To\ choose\ a\ folder\ browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ directory.=Za izbor direktorija potra\u017eite direktorij ili unesite punu putanju do ciljnog izlaznog direktorija. Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ files\ if\ they\ already\ exist.=Markirajte opciju ako \u017eelite zamijenite izlazne dokumente ako ve\u0107 postoje. Output\ options=Opcije izlaza Output\ file\ names\ prefix\:=Prefiks imena izlaznog dokumenta\: Output\ files\ prefix=Prefiks izlaznih dokumenata\: If\ it\ contains\ "[CURRENTPAGE]",\ "[TIMESTAMP]",\ "[FILENUMBER]"\ or\ "[BOOKMARK_NAME]"\ it\ performs\ variable\ substitution.=Ako sadr\u017ei "[CURRENTPAGE]", "[TIMESTAMP]", "[FILENUMBER]" ili "[BOOKMARK_NAME]" izvodi zamjenu varijabli. Ex.\ prefix_[BASENAME]_[CURRENTPAGE]\ generates\ prefix_FileName_005.pdf.=Npr. prefiks_[BASENAME]_[CURRENTPAGE] generi\u0161e prefiks_ImeDokumenta_005.pdf. If\ it\ doesn't\ contain\ "[CURRENTPAGE]",\ "[TIMESTAMP]"\ or\ "[FILENUMBER]"\ it\ generates\ oldstyle\ output\ file\ names.=Ako ne sadr\u017ei "[CURRENTPAGE]", "[TIMESTAMP]" ili "[FILENUMBER]" generi\u0161e izlazna imena starog stila. Available\ variables=Dostupne varijable Invalid\ split\ size=Pogre\u0161na veli\u010dina dijeljenja The\ lowest\ available\ pdf\ version\ is\ =Najni\u017ea dostupna pdf verzija je You\ selected\ a\ lower\ output\ pdf\ version,\ continue\ anyway\ ?=Izabrali ste ni\u017eu izlaznu pdf verziju. Ipak nastaviti? Pdf\ version\ conflict=Sukob pdf verzije Please\ select\ a\ pdf\ document.=Molimo selektujte pdf dokument. Split\ selected\ file=Podijeli izabrani dokument Split=Podijeli Split\ section\ loaded.=Sekcija dijeljenja u\u010ditanja. Invalid\ unit\:\ =Pogre\u0161na jedinica\: Fill\ from\ document=Popuni iz dokumenta Getting\ bookmarks\ max\ depth=Uzimanje maks. dubine bukmarka Frontpage\ pdf\ file=Pdf dokument prve stranice Addendum\ pdf\ file=Pdf dokument dodatak Select\ at\ least\ one\ cover\ or\ one\ footer=Izaberite barem jednu naslovnicu i jedno podno\u017eje Frontpage\ and\ Addendum=Prednja stranica i Dodatak Cover\ And\ Footer\ section\ loaded.=Selekcija Naslovnice i Podno\u017eja u\u010ditana. Encrypt\ options=Opcije enkripcije Owner\ password\:=\u0160ifra vlasnika\: Owner\ password\ (Max\ 32\ chars\ long)=\u0160ifra vlasnika (Max 32 znaka du\u017eine) User\ password\:=\u0160ifra korisnika\: User\ password\ (Max\ 32\ chars\ long)=\u0160ifra korisnika (Max 32 znaka du\u017eine) Encryption\ algorithm\:=Algoritam enkripcije\: Allow\ all=Dozvoli sve Print=\u0160tampa Low\ quality\ print=\u0160tampa niskog kvaliteta Copy\ or\ extract=Kopiraj ili ekstraktuj Modify=Izmijeni Add\ or\ modify\ text\ annotations=Dodaj ili izmijenikomentare teksta Fill\ form\ fields=Popuni polja formulara Extract\ for\ use\ by\ accessibility\ dev.=Ekstraktuj za upotrebu ure\u0111aja za pristupnost. Manipulate\ pages\ and\ add\ bookmarks=Manipulacija stranicama i dodavanje dodavanje bukmarka Check\ the\ box\ if\ you\ want\ compressed\ output\ files\ (Pdf\ version\ 1.5\ or\ higher).=Markirajte opciju ako \u017eelite kompresovane izlazne dokumen te (PDF verzija 1.5 ili vi\u0161a) If\ it\ contains\ "[TIMESTAMP]"\ it\ performs\ variable\ substitution.=Ako sadr\u017ei "[TIMESTAMP]" izvodi zamjenu varijabli. Ex.\ [BASENAME]_prefix_[TIMESTAMP]\ generates\ FileName_prefix_20070517_113423471.pdf.=Npr. [BASENAME]_prefix_[TIMESTAMP]generi\u0161eImeDokumenta_prefix_20070517_113423471.pdf. If\ it\ doesn't\ contain\ "[TIMESTAMP]"\ it\ generates\ oldstyle\ output\ file\ names.=Ako ne sadr\u017ei "[TIMESTAMP]" generi\u0161e imena dokumenata starog stila. Available\ variables\:\ [TIMESTAMP],\ [BASENAME].=Dostupne varijable su [TIMESTAMP], [BASENAME]. Encrypt\ selected\ files=Kriptuj izabrane dokumente Encrypt=Kriptuj Encrypt\ section\ loaded.=U\u010ditana selekcija enkripcije. Decrypt\ selected\ files=Dekriptuj ozna\u010dene datoteke Decrypt=Dekriptuj Decrypt\ section\ loaded.=De\u0161ifrovana sekcija u\u010ditana. Mix\ options=Razne opcije Reverse\ first\ document=Obrni prvi dokument Reverse\ second\ document=Obrni drugi dokument Number\ of\ pages\ to\ switch\ document=Broj stranica da zamijene dokument Tick\ the\ boxes\ if\ you\ want\ to\ reverse\ the\ first\ or\ the\ second\ document\ (or\ both).=Ozna\u010dite ku\u0107ice ako \u017eelite da zamijenite redoslijed prvog ili drugog dokumenta (ili oba). Set\ the\ number\ of\ pages\ to\ switch\ from\ a\ document\ to\ the\ other\ one\ (default\ is\ 1).=Izaberite broj stranica za zamjenu iz dokumenta u drugi (unaprijed pode\u0161eno je 1). Found\ a\ password\ for\ first\ file.=Prona\u0111ena \u0161ifra za prvi dokument. Found\ a\ password\ for\ second\ file.=Prona\u0111ena je \u0161ifra za drugi dokument. Please\ select\ two\ pdf\ documents.=Molimo selektujte dva PDF dokumenta. Execute\ pdf\ alternate\ mix=Izvr\u0161i PDF naizmjeni\u010dni mix Alternate\ Mix=Naizmjeni\u010dni Mix AlternateMix\ section\ loaded.=U\u010ditana je sekcija Naizmjeni\u010dniMix Unpack\ selected\ files=Otpakuj selektovane dokumente Unpack=Raspakuj Unpack\ section\ loaded.=U\u010ditana je sekcija otpakivanja. Set\ viewer\ options=Postavi opcije preglednika Hide\ the\ menubar=Sakrij meni traku Hide\ the\ toolbar=Sakrij alatnu traku Hide\ user\ interface\ elements=Sakrij element korisni\u010dkog interfejsa Rezise\ the\ window\ to\ fit\ the\ page\ size=Promijeni veli\u010dinu prozora da odgovara veli\u010dini stranice Center\ of\ the\ screen=Centar ekrana Display\ document\ title\ as\ window\ title=Prika\u017ei naslov dokumenta kao naslov prozora Pdf\ version\ required\:=Potrebna pdf verzija\: No\ page\ scaling\ in\ print\ dialog=Nema skaliranja stranice u print dijalogu Viewer\ layout\:=Format pregleda\: Viewer\ open\ mode\:=Modus otvorenog preglednika\: Non\ fullscreen\ mode\:=Modus bez cijelog ekrana Direction\:=Smjer\: Set\ options=Postavi opcije Set\ viewer\ options\ for\ selected\ files=Postavi opcije preglednika za izabrane dokumente Left\ to\ right=S lijeva nadesno Right\ to\ left=S desna nalijevo None=Ni\u0161ta Fullscreen=Cijeli ekran Attachments=Prilozi Optional\ content\ group\ panel=Grupni panel opcionog sadr\u017eaja Document\ outline=Konture dokumenta Thumbnail\ images=Umanjene sli\u010dice One\ page\ at\ a\ time=Jedna strana istovremeno Pages\ in\ one\ column=Stranice u jednoj koloni Pages\ in\ two\ columns\ (odd\ on\ the\ left)=Stranice u dvije kolone (neparne lijevo) Pages\ in\ two\ columns\ (odd\ on\ the\ right)=Stranice u dvije kolone (neparne desno) Two\ pages\ at\ a\ time\ (odd\ on\ the\ left)=Dvije stranice istovremeno (neparne lijevo) Two\ pages\ at\ a\ time\ (odd\ on\ the\ right)=Dvije stranice istovremeno (neparne desno) Viewer\ options=Opcije preglednika Viewer\ options\ section\ loaded.=U\u010ditana skecija opcija preglednika. Save\ passwords\ informations\ (they\ will\ be\ readable\ opening\ the\ output\ file)?=Snimi \u0161ifre (bi\u0107e \u010ditljive pri otvaranju izlaznog dokumenta)? Confirm\ password\ saving=Potvrdite snimanje \u0161ifre Unknown\ action.=Nepoznata akcija Log\ saved.=Sa\u010duvan zapis \ node\ environment\ loaded.=\ u\u010ditano okru\u017eenje \u010dvora. Environment\ saved.=Okru\u017eenje je snimljeno. Error\ saving\ environment,\ output\ file\ is\ null.=Gre\u0161ka pri snimanju okru\u017eenja, izlazni dokument je null. Error\ saving\ environment.=Gre\u0161ka pri snimanju okru\u017eenja Environment\ loaded.=Okru\u017eenje je u\u010ditano. Error\ loading\ environment.=Gre\u0161ka u\u010ditavanja okru\u017eenja. Error\ loading\ environment\ from\ input\ file.\ =Gre\u0161ka u\u010ditavanja okru\u017eenja iz ulaznog dokumenta. Selection\ table\ is\ full,\ please\ remove\ some\ pdf\ document.=Tabela za izbor je puna. Molimo uklonite neke PDF dokumente. Table\ full=Puna tabela Please\ wait\ while\ reading=Molimo sa\u010dekajte dok traje u\u010ditavanje Selected\ file\ is\ not\ a\ pdf\ document.=Selektovani dokument nije PDF dokument. Error\ loading\ =Gre\u0161ka pri u\u010ditavanja Command\ validation\ returned\ an\ empty\ value.=Potvrda komande je vratila praznu vrijednost. Command\ executed.=Komanda je izvr\u0161ena. File\ name=Ime dokumenta Number\ of\ pages=Broj stranica File\ size=Veli\u010dina dokumenta Pdf\ version=Pdf verzija Encryption=Enkripcija Not\ encrypted=Nije enkriptovano Permissions=Dozvole Title=Naslov Author=Autor Subject=Tema Producer=Producent Creator=Kreator Creation\ date=Datum kreiranja Modification\ date=Datum izmjene Keywords=Klju\u010dne rije\u010di Document\ properties=Karakteristike dokumenta File=Dokument Close=Zatvori Copy=Kopiraj Error\ creating\ properties\ panel.=Gre\u0161ka pri kreiranju panela karakteristika. Run=Pokreni Browse=Prelistaj Add=Dodaj Compress\ output\ file/files=Kompresuj izlazni dokument/e Overwrite\ if\ already\ exists=Zamijeni ako ve\u0107 postoji Don't\ preserve\ file\ order\ (fast\ load)=Nemoj \u010duvati redoslijed dokumenata (brzo u\u010ditavanje) Output\ document\ pdf\ version\:=PDF verzija izlaznog dokumenta\: !The\ cross\ reference\ table\ cantained\ some\ error\ and\ has\ been\ rebuilt= !The\ document\ has\ not\ been\ opened\ with\ the\ owner\ password.\ You\ must\ provide\ the\ owner\ password\ in\ order\ to\ manipulate\ the\ document= !An\ error\ occured\ while\ loading\ the\ document= Same\ as\ input\ document=Isti kao ulazni dokument Path=Putanja Pages=Stranice Password=\u0160ifra Version=Verzija Page\ Selection=Izbor stranice Total\ pages\ of\ the\ document=Ukupno stranica dokumenta Password\ to\ open\ the\ document\ (if\ needed)=\u0160ifra za otvaranje dokumenta (ako je potrebna) Pdf\ version\ of\ the\ document=PDF verzija dokumenta Double\ click\ to\ set\ pages\ you\ want\ to\ merge\ (ex\:\ 2\ or\ 5-23\ or\ 2,5-7,12-)=Dvokliknite da izaberete stranice koje \u017eelite da zdru\u017eite (npr.\: 2 ili 5-23 ili 2,5-7,12-) Add\ a\ pdf\ to\ the\ list=Dodaj PDF u listu Remove\ a\ pdf\ from\ the\ list=Ukloni PDF iz liste (Canc)=(otka\u017ei) Remove=Ukloni Reload=U\u010ditaj ponovo Error\:\ Unable\ to\ reload\ the\ selected\ file/s.=Nije mogu\u0107e ponovo u\u010ditati selektovani dokument(e) Unable\ to\ remove\ JList\ text\ =Nije mogu\u0107 ukloniti JList tekst File\ selected\:\ =Dokument je selektovan File\ reloaded\:\ =Dokument je ponovo u\u010ditan Move\ Up=Pomakni Gore Move\ up\ selected\ pdf\ file=Pomakni gore izabrani PDF dokument (Alt+ArrowUp)=(Alt+StrelicaGore) Move\ Down=Pomakni Dole Move\ down\ selected\ pdf\ file=Pomakni dole selektovani PDF dokument (Alt+ArrowDown)=(Alt+StrelicaDole) Clear=Po\u010disti Remove\ every\ pdf\ file\ from\ the\ merge\ list=Ukloni sve PDF dokumente iz liste za sastavljanje Set\ output\ file=Podesi izlazni dokument Error\:\ Unable\ to\ get\ the\ file\ path.=Gre\u0161ka\: Nije mogu\u0107e dobiti putanju do dokumenta Unable\ to\ get\ the\ default\ environment\ informations.=Nije mogu\u0107e dobiti informacije o unaprijed pode\u0161enom okru\u017eenju. Setting\ look\ and\ feel...=Pode\u0161enje vidi i osjeti... Setting\ logging\ level...=Pode\u0161enje nivoa zapisa... Unable\ to\ find\ log\ level,\ setting\ to\ default\ level\ (DEBUG).=Nije mogu\u0107e prona\u0107i nivo zapisa. Pode\u0161avanje default nivoa (DEBUG). Logging\ level\ set\ to\ =Nivo zapisa postavljen na Unable\ to\ set\ logging\ level.=Nije mogu\u0107e postaviti nivo zapisa. Error\ getting\ plugins\ directory.=Gre\u0161ka pronala\u017eenja direktorija sa dodacima. Cannot\ read\ plugins\ directory\ =Nije mogu\u0107e \u010ditanje direktorija sa dodacima Plugins\ directory\ is\ null.=Direktorij sa dodacima je null. Found\ zero\ or\ many\ jars\ in\ plugin\ directory\ =Prona\u0111eno nula ili puno jar-ova u direktoriju sa dodacima Exception\ loading\ plugins.=Iznimka u u\u010ditavanju dodataka. Cannot\ read\ plugin\ directory\ =Nije mogu\u0107e \u010ditati direktorij sa dodacima \ plugin\ loaded.=\ dodatak je u\u010ditan. Unable\ to\ load\ a\ plugin\ that\ is\ not\ JPanel\ subclass.=Nije mogu\u0107e u\u010ditati dodatak koji nije JPanel podklasa. Error\ loading\ class\ =Gre\u0161ka u\u010ditavanja klase Select\ all=Selektuj sve Save\ log=Sa\u010duvaj zapis Save\ environment=Sa\u010duvaj okru\u017eenje Load\ environment=U\u010ditaj okru\u017eenje Exit=Iza\u0111i Unable\ to\ initialize\ menu\ bar.=Nije mogu\u0107e inicijalizirati traku sa menijima. started\ in\ =startano u Loading\ plugins..=Uitavanje dodataka.. Building\ menus..=Kreiranje menija.. Building\ buttons\ bar..=Kreiranje trake sa dugmadima.. Building\ status\ bar..=Kreiranje statusne trake.. Building\ tree..=Kreiranje stabla.. Loading\ default\ environment.=U\u010ditavanje unaprijed pode\u0161enog okru\u017eenja. Error\ starting\ pdfsam.=Gre\u0161ka u pokretanju pdfsam. Clear\ log=Po\u010disti zapis Unable\ to\ initialize\ button\ bar.=Nije mogu\u0107e inicijalizirati traku s adugmadima. Version\:\ =Verzija\: Language\:\ =Jezik\: Developed\ by\:\ =Razvio\: Build\ date\:\ =Datum izrade\: Java\ home\:\ =Java glavna stranica\: Java\ version\:\ =Java verzija\: Max\ memory\:\ =Maksimalna memorija\: Configuration\ file\:\ =Konfiguracijski dokument\: Website\:\ =Web stranica\: Name=Ime About=O programu Unimplemented\ method\ for\ JInfoPanel=Neimplementiran metod za JInfoPanel Contributes\:\ =Doprinosi\: Log\ level\:=Nivo zapisa\: Settings=Postavke Look\ and\ feel\:=Pogledaj i osjeti\: Theme\:=Tema\: Language\:=Jezik\: Check\ for\ updates\:=Provjeri ima li nadogradnji\: Load\ default\ environment\ at\ startup\:=U\u010ditaj default okru\u017eenje pri pokretanju\: Default\ working\ directory\:=Unaprijed pode\u0161eni radni direktorij\: Error\ getting\ default\ environment.=Gre\u0161ka pri u\u010ditavanju default okru\u017eenja. Check\ now=Sada provjeri Play\ alert\ sounds=Koristi zvukove uzbune Settings\ =Pode\u0161enje Language=Jezik Set\ your\ preferred\ language\ (restart\ needed)=Podesite svoj preferirani jezik (potreban je restart) Look\ and\ feel=Pogledaj i osjeti Set\ your\ preferred\ look\ and\ feel\ and\ your\ preferred\ theme\ (restart\ needed)=Podesite svoj preferirani izgled i osje\u0107aj i svoju preferiranu temu (potreban je restart) Log\ level=Nivo zapisa Set\ a\ log\ detail\ level\ (restart\ needed)=Podesite nivo detalja zapisa (potreban je restart) Check\ for\ updates=Provjeri ima li nadogradnja\: Set\ when\ new\ version\ availability\ should\ be\ checked\ (restart\ needed)=Podesi kada \u0107e biti provjeravana dostupnost nove verzije (potreban je restart) Turn\ on\ or\ off\ alert\ sounds=Uklju\u010di ili isklju\u010di zvukve uzbune Default\ env.=Default okr. Select\ a\ previously\ saved\ env.\ file\ that\ will\ be\ automatically\ loaded\ at\ startup=Selektujte prethodno snimljen dokument okr. koji \u0107e biti automatski u\u010ditan pri pokretanju Default\ working\ directory=Unaprijed pode\u0161eni radni direktorij Select\ a\ directory\ where\ documents\ will\ be\ saved\ and\ loaded\ by\ default=Izaberite unaprijed pode\u0161eni direktorij u kome \u0107e dokumenti biti snimani u u\u010ditavani Save=Snimi Configuration\ saved.=Konfiguracija je snimljena. Unimplemented\ method\ for\ JSettingsPanel=Neimplementiran metod za JSettingPanel New\ version\ available\:\ =Dostupna nova verzija\: Plugins=Dodaci Error\ getting\ pdf\ version\ description.=Gre\u0161ka u \u010ditanju opisa PDF verzije. Version\ 1.2\ (Acrobat\ 3)=Verzija 1.2 (Acrobat 3) Version\ 1.3\ (Acrobat\ 4)=Verzija 1.3 (Acrobat 4) Version\ 1.4\ (Acrobat\ 5)=Verzija 1.4 (Acrobat 5) Version\ 1.5\ (Acrobat\ 6)=Verzija 1.5 (Acrobat 6) Version\ 1.6\ (Acrobat\ 7)=Verzija 1.6 (Acrobat 7) Version\ 1.7\ (Acrobat\ 8)=Verzija 1.7 (Acrobat 8) Never=Nikada pdfsam\ start\ up=pdfsam samopokretanje Output\ file\ location\ is\ not\ correct=Lokacija izlaznog dokumenta nije ispravna Would\ you\ like\ to\ change\ it\ to=\u017delite li da je promijenite u Output\ location\ error=Gre\u0161ka izlazne lokacije Selected\ output\ file\ already\ exists\ =Izabrani izlazni dokument ve\u0107 postoji Would\ you\ like\ to\ overwrite\ it?=\u017delite li ga prepisati? Provided\ pages\ selection\ is\ not\ valid=Napravljena selekcija stranica nije ispravna Limits\ must\ be\ a\ comma\ separated\ list\ of\ "page_number"\ or\ "page_number-page_number"=Granice moraju biti predstavljene listom odvojenom zarezima kao "broj_stranice" ili "broj_stranice-broj_stranice" Limits\ are\ not\ valid=Granice nisu ispravne Checking\ for\ a\ new\ version\ available.=Provjera postojanja nove dostupne verzije Error\ checking\ for\ a\ new\ version\ available.=Gre\u0161ka tokom provjere postojanja nove verzije. Unable\ to\ get\ latest\ available\ version=Nije mogu\u0107e dobiti najnoviju dostupnu verziju New\ version\ available.=Dostupna nova verzija. No\ new\ version\ available.=Nema nove dostupne verzije. Cut=Isijeci Paste=Nalijepi pdfsam-1.1.4/pdfsam-langpack-br1/src/java/org/pdfsam/i18n/resources/Messages_fi.properties0000644000175000017500000014132111225342444031347 0ustar twernertwerner# Finnish translation of pdfsam. # This file is distributed under the same license as the pdfsam package. # # Riku Leino , 2007. !=Project-Id-Version\: pdfsam\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2009-07-09 12\:23+0200\nPO-Revision-Date\: 2008-03-25 18\:57+0000\nLast-Translator\: Teppo Koivula \nLanguage-Team\: Finnish\nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Launchpad-Export-Date\: 2008-06-21 08\:12+0000\nX-Generator\: Launchpad (build Unknown)\n # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:386 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:389 #, fuzzy !Merge\ options=Yhdist\u00e4misen asetukset\: # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:389 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:392 PDF\ documents\ contain\ forms=PDF-tiedosto sis\u00e4lt\u00e4\u00e4 lomakkeita # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:394 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:397 Merge\ type=Yhdist\u00e4mistapa # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:395 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:398 Unchecked=Ei valittu # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:395 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:398 Use\ this\ merge\ type\ for\ standard\ pdf\ documents=K\u00e4yt\u00e4 t\u00e4t\u00e4 yhdist\u00e4mistyyppi\u00e4 tavallisille pdf-dokumenteille # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:396 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:399 Checked=Valittu # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:396 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:399 Use\ this\ merge\ type\ for\ pdf\ documents\ containing\ forms=K\u00e4yt\u00e4 t\u00e4t\u00e4 yhdist\u00e4mistyyppi\u00e4 pdf-dokumenteille, jotka sis\u00e4lt\u00e4v\u00e4t lomakkeita # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:397 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:400 Note=Huomautus # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:397 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:400 Setting\ this\ option\ the\ documents\ will\ be\ completely\ loaded\ in\ memory=Kun t\u00e4t\u00e4 ominaisuutta k\u00e4ytet\u00e4\u00e4n, dokumentit ladataan kokonaan muistiin # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:440 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:255 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:444 Destination\ output\ file=Kohdetiedosto # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:387 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:414 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:441 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:599 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:619 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:649 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:879 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:983 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:616 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:423 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:588 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:608 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:638 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:861 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:977 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:143 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:170 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:237 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:498 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:539 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:256 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:427 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:599 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:907 Error\:\ =Virhe\: # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:441 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:256 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:445 Browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ file.=Selaa tai anna polku kohdetiedostoon. # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:442 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:257 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:446 Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ file\ if\ it\ already\ exists.=Valitse t\u00e4m\u00e4, jos haluat ylikirjoittaa tiedoston, jos se on jo olemassa Check\ the\ box\ if\ you\ want\ compressed\ output\ files.=Valitse t\u00e4m\u00e4, jos haluat tulostustiedostot pakattuina. PDF\ version\ 1.5\ or\ above.=PDF-versio 1.5 tai uudempi Set\ the\ pdf\ version\ of\ the\ ouput\ document.=M\u00e4\u00e4rit\u00e4 tallennettavan tiedoston PDF-versio # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:469 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:408 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:451 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:509 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:511 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:350 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:455 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:514 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:516 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:346 Please\ wait\ while\ all\ files\ are\ processed..=Ole hyv\u00e4 ja odota kunnes kaikki tiedostot on k\u00e4sitelty. Found\ a\ password\ for\ input\ file.=Sy\u00f6tt\u00f6tiedosto on suojattu salasanalla. #, fuzzy !Please\ select\ at\ least\ one\ pdf\ document.=Valitse kaksi pdf-dokumenttia. !Warning= # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:524 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:528 Execute\ pdf\ merge=Suorita yhdist\u00e4minen Merge/Extract=Yhdist\u00e4/Pura # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:858 Merge\ section\ loaded.=Yhdist\u00e4misosa ladattu. !Export\ as\ xml= !Unable\ to\ save\ xml\ file.= Ok=Ok !File\ xml\ saved.= !Error\ saving\ xml\ file,\ output\ file\ is\ null.= # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:220 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:220 Split\ options=Jaon asetukset # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:195 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:194 Burst\ (split\ into\ single\ pages)=Hajoita (jaa yksitt\u00e4isiksi sivuiksi) # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:198 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:222 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:197 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:222 Split\ every\ "n"\ pages=Jaa joka "n". sivu. # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:206 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:223 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:205 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:223 Split\ even\ pages=Jaa parilliset sivut # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:209 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:224 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:208 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:224 Split\ odd\ pages=Jaa parittomat sivut # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:212 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:225 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:211 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:225 Split\ after\ these\ pages=Jaa n\u00e4iden sivujen j\u00e4lkeen # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:212 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:225 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:211 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:225 Split\ at\ this\ size=Jaa n\u00e4iden sivujen j\u00e4lkeen !Split\ by\ bookmarks\ level= # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:221 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:221 Burst=Hajoita # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:221 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:221 Explode\ the\ pdf\ document\ into\ single\ pages=Jaa pdf-dokumentti yksitt\u00e4isiin sivuihin # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:222 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:222 Split\ the\ document\ every\ "n"\ pages=Jaa joka "n". sivu # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:223 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:223 Split\ the\ document\ every\ even\ page=Jaa dokumentti parillisten sivujen kohdalta # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:224 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:224 Split\ the\ document\ every\ odd\ page=Jaa dokumentti parittomien sivujen kohdalta # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:225 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:225 Split\ the\ document\ after\ page\ numbers\ (num1-num2-num3..)=Jaa dokumentti valittujen sivjuen kohdalta (1-2-3...) #, fuzzy !Split\ the\ document\ in\ files\ of\ the\ given\ size\ (roughly)=Jaa dokumentti annetun kokoisiin tiedostoihin (noin). #, fuzzy !Split\ the\ document\ at\ pages\ referred\ by\ bookmarks\ of\ the\ given\ level=Jaa dokumentti annetun kokoisiin tiedostoihin (noin). # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:294 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:253 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:253 #, fuzzy !Destination\ folder=Kohdehakemisto\: # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:297 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:256 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:256 Same\ as\ source=Sama kuin l\u00e4hde # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:301 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:260 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:260 Choose\ a\ folder=Valitse hakemisto # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:458 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:345 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:309 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:305 Destination\ output\ directory=Kohdehakemisto # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:346 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:310 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:306 Use\ the\ same\ output\ folder\ as\ the\ input\ file\ or\ choose\ a\ folder.=K\u00e4yt\u00e4 kohdehakemistona l\u00e4hdetiedoston hakemistoa tai valitse hakemisto # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:347 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:311 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:307 To\ choose\ a\ folder\ browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ directory.=Anna kohdehakemiston t\u00e4ydellinen nimi tai selaa hakemistoon. # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:460 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:348 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:312 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:308 Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ files\ if\ they\ already\ exist.=Valitse, jos haluat ylikirjoittaa tiedostot, jos ne ovat jo olemassa. # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:353 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:318 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:314 #, fuzzy !Output\ options=Tallennusasetukset\: # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:384 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:326 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:322 Output\ file\ names\ prefix\:=Etuliite tallennettaville tiedostoille\: # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:394 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:336 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:331 Output\ files\ prefix=Tallennustiedoston etuliite !If\ it\ contains\ "[CURRENTPAGE]",\ "[TIMESTAMP]",\ "[FILENUMBER]"\ or\ "[BOOKMARK_NAME]"\ it\ performs\ variable\ substitution.= # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:338 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:333 Ex.\ prefix_[BASENAME]_[CURRENTPAGE]\ generates\ prefix_FileName_005.pdf.=Esim. prefix_[BASENAME]_[CURRENTPAGE] muodostaa\: prefix_tiedostonimi_005.pdf. # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:339 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:334 #, fuzzy !If\ it\ doesn't\ contain\ "[CURRENTPAGE]",\ "[TIMESTAMP]"\ or\ "[FILENUMBER]"\ it\ generates\ oldstyle\ output\ file\ names.=Jos se ei sis\u00e4ll\u00e4 muuttujia "[CURRENTPAGE]" tai "[TIMESTAMP]", luodaan vanhantyyliset tiedostonimet. !Available\ variables= Invalid\ split\ size=Kelvoton jakamiskoko. The\ lowest\ available\ pdf\ version\ is\ =Vanhin saatavilla oleva PDF-versio on You\ selected\ a\ lower\ output\ pdf\ version,\ continue\ anyway\ ?=Valitsit vanhemman PDF-version kohdetiedostolle, jatketaanko? Pdf\ version\ conflict=PDF-versioiden ristiriita #, fuzzy !Please\ select\ a\ pdf\ document.=Valitse kaksi pdf-dokumenttia. # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:411 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:409 Split\ selected\ file=Jaa valitut tiedostot Split=Jaa kahtia # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:536 Split\ section\ loaded.=Jako-osa ladattu Invalid\ unit\:\ =Kelvoton yksikk\u00f6\: # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:184 #, fuzzy !Fill\ from\ document=Ensimm\u00e4inen pdf-dokumentti\: !Getting\ bookmarks\ max\ depth= !Frontpage\ pdf\ file= !Addendum\ pdf\ file= Select\ at\ least\ one\ cover\ or\ one\ footer=Valitse v\u00e4hint\u00e4\u00e4n yksi kansilehti tai alatunniste !Frontpage\ and\ Addendum= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:876 Cover\ And\ Footer\ section\ loaded.=Kansi ja alatunniste -osa ladattu. # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:256 #, fuzzy !Encrypt\ options=Salausasetukset\: # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:206 Owner\ password\:=Omistajan salasana\: # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:210 Owner\ password\ (Max\ 32\ chars\ long)=Omistajan salasana (maks. 32 merkki\u00e4) # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:214 User\ password\:=K\u00e4ytt\u00e4j\u00e4n salasana # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:218 User\ password\ (Max\ 32\ chars\ long)=K\u00e4ytt\u00e4j\u00e4n salasana (maks. 32 merkki\u00e4) # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:222 #, fuzzy !Encryption\ algorithm\:=Salausalgoritmi\: # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:253 Allow\ all=Salli kaikki # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:229 Print=Tulosta # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:232 Low\ quality\ print=Heikkolaatuinen tulostus # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:235 Copy\ or\ extract=Kopioi tai pura # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:238 Modify=Muokkaa # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:241 Add\ or\ modify\ text\ annotations=Lis\u00e4\u00e4 tai muokkaa tekstikentti\u00e4 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:244 Fill\ form\ fields=T\u00e4yt\u00e4 lomakkeen kentti\u00e4 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:247 Extract\ for\ use\ by\ accessibility\ dev.=Pura saavutettavuutta varten. # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:250 Manipulate\ pages\ and\ add\ bookmarks=Muokkaa sivuja ja lis\u00e4\u00e4 kirjanmerkkej\u00e4 Check\ the\ box\ if\ you\ want\ compressed\ output\ files\ (Pdf\ version\ 1.5\ or\ higher).=Valitse t\u00e4m\u00e4 jos haluat pakatut tulostustiedostot (PDF-versio 1.5 tai uudempi). # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:395 If\ it\ contains\ "[TIMESTAMP]"\ it\ performs\ variable\ substitution.=jos se sis\u00e4lt\u00e4\u00e4 "[TIMESTAMP]", suoritetaan muuttujan vaihto. # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:396 Ex.\ [BASENAME]_prefix_[TIMESTAMP]\ generates\ FileName_prefix_20070517_113423471.pdf.=Esim. [BASENAME]_prefix_[TIMESTAMP] muodostaa\: FileName_prefix_20070517_113423471.pdf. # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:397 If\ it\ doesn't\ contain\ "[TIMESTAMP]"\ it\ generates\ oldstyle\ output\ file\ names.=Jos se sis\u00e4lt\u00e4\u00e4 "[TIMESTAMP]", k\u00e4ytet\u00e4\u00e4n vanhoja tiedostonimityylej\u00e4. # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:398 Available\ variables\:\ [TIMESTAMP],\ [BASENAME].=K\u00e4ytett\u00e4viss\u00e4 olevat muuttujat\: [TIMESTAMP], [BASENAME]. Encrypt\ selected\ files=Salaa valitut tiedostot Encrypt=Salaa # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:613 Encrypt\ section\ loaded.=Salausosa ladattu #, fuzzy !Decrypt\ selected\ files=Salaa valitut tiedostot #, fuzzy !Decrypt=Salaa # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:613 #, fuzzy !Decrypt\ section\ loaded.=Salausosa ladattu # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:220 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:220 #, fuzzy !Mix\ options=Jaon asetukset Reverse\ first\ document=Vaihda ensimm\u00e4isen dokumentin j\u00e4rjestys p\u00e4invastaiseksi Reverse\ second\ document=Vaihda toisen dokumentin j\u00e4rjestys p\u00e4invastaiseksi !Number\ of\ pages\ to\ switch\ document= !Tick\ the\ boxes\ if\ you\ want\ to\ reverse\ the\ first\ or\ the\ second\ document\ (or\ both).= !Set\ the\ number\ of\ pages\ to\ switch\ from\ a\ document\ to\ the\ other\ one\ (default\ is\ 1).= Found\ a\ password\ for\ first\ file.=Ensimm\u00e4inen tiedosto on suojattu salasanalla. Found\ a\ password\ for\ second\ file.=Toinen tiedosto on suojattu salasanalla. Please\ select\ two\ pdf\ documents.=Valitse kaksi pdf-dokumenttia. # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:318 Execute\ pdf\ alternate\ mix=Suorita pdf-sekoitus Alternate\ Mix=Vaihtoehtoinen sekoittaminen # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:495 AlternateMix\ section\ loaded.=Sekoitusosa ladattu !Unpack\ selected\ files= Unpack=Pura Unpack\ section\ loaded.=Pura ladattu osio. # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:220 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:220 #, fuzzy !Set\ viewer\ options=Jaon asetukset !Hide\ the\ menubar= !Hide\ the\ toolbar= !Hide\ user\ interface\ elements= !Rezise\ the\ window\ to\ fit\ the\ page\ size= !Center\ of\ the\ screen= !Display\ document\ title\ as\ window\ title= #, fuzzy !Pdf\ version\ required\:=PDF-versioiden ristiriita !No\ page\ scaling\ in\ print\ dialog= !Viewer\ layout\:= !Viewer\ open\ mode\:= !Non\ fullscreen\ mode\:= !Direction\:= # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:220 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:220 #, fuzzy !Set\ options=Jaon asetukset #, fuzzy !Set\ viewer\ options\ for\ selected\ files=Salaa valitut tiedostot !Left\ to\ right= !Right\ to\ left= # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:397 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:400 #, fuzzy !None=Huomautus !Fullscreen= !Attachments= !Optional\ content\ group\ panel= # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:389 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:392 #, fuzzy !Document\ outline=PDF-tiedosto sis\u00e4lt\u00e4\u00e4 lomakkeita !Thumbnail\ images= !One\ page\ at\ a\ time= !Pages\ in\ one\ column= !Pages\ in\ two\ columns\ (odd\ on\ the\ left)= !Pages\ in\ two\ columns\ (odd\ on\ the\ right)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ left)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ right)= # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:386 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:389 #, fuzzy !Viewer\ options=Yhdist\u00e4misen asetukset\: # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:613 #, fuzzy !Viewer\ options\ section\ loaded.=Salausosa ladattu Save\ passwords\ informations\ (they\ will\ be\ readable\ opening\ the\ output\ file)?=Tallennetaanko salasanojen tiedot (luettavissa tulostustiedostoa avattaessa)? Confirm\ password\ saving=Vahvista salasanan tallentaminen # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:233 Unknown\ action.=Tuntematon toiminto. # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:253 Log\ saved.=Loki tallennettu \ node\ environment\ loaded.=\ k\u00e4ytt\u00f6ymp\u00e4rist\u00f6 ladattu. Environment\ saved.=K\u00e4ytt\u00f6ymp\u00e4rist\u00f6 tallennettu. Error\ saving\ environment,\ output\ file\ is\ null.=K\u00e4ytt\u00f6ymp\u00e4rist\u00f6n tallennuksessa tapahtui virhe, tulostustiedosto on tyhj\u00e4. Error\ saving\ environment.=K\u00e4ytt\u00f6ymp\u00e4rist\u00f6n tallennus ep\u00e4onnistui. Environment\ loaded.=K\u00e4ytt\u00f6ymp\u00e4rist\u00f6 ladattu. Error\ loading\ environment.=K\u00e4ytt\u00f6ymp\u00e4rist\u00f6n lataaminen ep\u00e4onnistui. Error\ loading\ environment\ from\ input\ file.\ =K\u00e4ytt\u00f6ymp\u00e4rist\u00f6n lataaminen tiedostosta ep\u00e4onnistui. Selection\ table\ is\ full,\ please\ remove\ some\ pdf\ document.=Valintataulu on t\u00e4ynn\u00e4, poista joitakin PDF-dokumentteja. Table\ full=Taulu on t\u00e4ynn\u00e4 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:252 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:869 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:245 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:851 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:248 Please\ wait\ while\ reading=Luetaan. Ole hyv\u00e4 ja odota. Selected\ file\ is\ not\ a\ pdf\ document.=Valittu tiedosto ei ole PDF-dokumentti. Error\ loading\ =Virhe ladattaessa Command\ validation\ returned\ an\ empty\ value.=Komennon vahvistaminen palautti tyhj\u00e4n arvon. Command\ executed.=Toiminto suoritettu. # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:180 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:178 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:181 File\ name=Tiedostonimi !Number\ of\ pages= !File\ size= !Pdf\ version= !Encryption= !Not\ encrypted= !Permissions= !Title= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:118 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\GUI\InfoGUI.java:128 Author=Tekij\u00e4 !Subject= !Producer= !Creator= !Creation\ date= !Modification\ date= !Keywords= !Document\ properties= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:55 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\GUI\MainGUI.java:217 File=Tiedosto # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\GUI\InfoGUI.java:150 Close=Sulje # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:99 Copy=Kopioi !Error\ creating\ properties\ panel.= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:542 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:462 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:526 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:320 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:410 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:530 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:408 Run=Aja # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:394 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:421 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:448 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:175 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:340 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:430 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:150 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:177 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:244 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:164 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:304 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:233 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:434 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:163 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:300 Browse=Selaa # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:264 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:257 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:260 Add=Lis\u00e4\u00e4 Compress\ output\ file/files=Pakkaa tulostustiedosto(t) # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:452 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:315 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:434 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:249 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:279 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:438 Overwrite\ if\ already\ exists=Ylikirjoita, jos on jo olemassa Don't\ preserve\ file\ order\ (fast\ load)=\u00c4l\u00e4 s\u00e4ilyt\u00e4 tiedostojen j\u00e4rjestyst\u00e4 (suuri latausnopeus) Output\ document\ pdf\ version\:=Tulostustiedoston PDF-versio\: !The\ cross\ reference\ table\ cantained\ some\ error\ and\ has\ been\ rebuilt= !The\ document\ has\ not\ been\ opened\ with\ the\ owner\ password.\ You\ must\ provide\ the\ owner\ password\ in\ order\ to\ manipulate\ the\ document= !An\ error\ occured\ while\ loading\ the\ document= Same\ as\ input\ document=Sama kuin sy\u00f6tt\u00f6tiedosto # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:181 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:179 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:182 Path=Polku # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:182 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:180 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:183 Pages=Sivut Password=Salasana # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:118 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\GUI\InfoGUI.java:128 Version=Versio # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:183 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:181 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:184 Page\ Selection=Sivuvalinta Total\ pages\ of\ the\ document=Dokumentin sivum\u00e4\u00e4r\u00e4 Password\ to\ open\ the\ document\ (if\ needed)=Salasana dokumentin avaamiseen (jos tarpeen) Pdf\ version\ of\ the\ document=Dokumentin pdf-versio !Double\ click\ to\ set\ pages\ you\ want\ to\ merge\ (ex\:\ 2\ or\ 5-23\ or\ 2,5-7,12-)= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:232 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:225 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:228 Add\ a\ pdf\ to\ the\ list=Lis\u00e4\u00e4 pdf listaan # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:269 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:262 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:265 Remove\ a\ pdf\ from\ the\ list=Poista pdf listasta (Canc)=Peruutettu # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:273 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:317 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:266 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:311 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:269 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:314 Remove=Poista Reload=P\u00e4ivit\u00e4 Error\:\ Unable\ to\ reload\ the\ selected\ file/s.=Virhe\: tiedoston tai tiedostojen p\u00e4ivitt\u00e4minen ep\u00e4onnistui. Unable\ to\ remove\ JList\ text\ =JList-tekstin poistaminen ei onnistu # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:596 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:646 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:585 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:635 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:596 File\ selected\:\ =Valittu tiedosto\: File\ reloaded\:\ =P\u00e4ivitetty tiedosto\: # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:273 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:320 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:276 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:323 Move\ Up=Yl\u00f6sp\u00e4in # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:274 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:277 Move\ up\ selected\ pdf\ file=Siirr\u00e4 valittu pdf-tiedosto yl\u00f6sp\u00e4in (Alt+ArrowUp)=(Alt + Nuoli yl\u00f6sp\u00e4in) # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:282 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:329 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:285 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:332 Move\ Down=Alasp\u00e4in # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:283 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:286 Move\ down\ selected\ pdf\ file=Siirr\u00e4 valittu pdf-tiedosto alasp\u00e4in (Alt+ArrowDown)=(Alt + Nuoli alasp\u00e4in) # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:284 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:294 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:105 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:297 Clear=Tyhjenn\u00e4 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:295 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:298 Remove\ every\ pdf\ file\ from\ the\ merge\ list=Poista kaikki pdf-tiedostot yhdist\u00e4mislistalta # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:326 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:338 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:341 Set\ output\ file=Aseta tallennustiedosto # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:338 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:350 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:353 Error\:\ Unable\ to\ get\ the\ file\ path.=Virhe\: Tiedostopolkua ei saatu !Unable\ to\ get\ the\ default\ environment\ informations.= Setting\ look\ and\ feel...=M\u00e4\u00e4ritet\u00e4\u00e4n ulkoasua... Setting\ logging\ level...=Asetetaan kirjaustaso... Unable\ to\ find\ log\ level,\ setting\ to\ default\ level\ (DEBUG).=Kirjaustasoa ei l\u00f6ytynyt, asetetaan vakioksi (DEBUG) # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:143 Logging\ level\ set\ to\ =Lokitaso\: Unable\ to\ set\ logging\ level.=Kirjaustason asettaminen ei onnistunut. Error\ getting\ plugins\ directory.=Laajennuksille varatun kansion avaaminen ep\u00e4onnistui. Cannot\ read\ plugins\ directory\ =Laajennuksille varattua kansiota ei voida lukea. Plugins\ directory\ is\ null.=Laajennuksille ei ole m\u00e4\u00e4ritetty kansiota. Found\ zero\ or\ many\ jars\ in\ plugin\ directory\ =Ei yht\u00e4\u00e4n (tai useita) jar-tiedostoja laajennuksille varatussa kansiossa Exception\ loading\ plugins.=Poikkeus laajennuksia ladattaessa. Cannot\ read\ plugin\ directory\ =Plugin-kansion (lis\u00e4osat) lukeminen ei onnistu. \ plugin\ loaded.=\ Laajennus ladattu. Unable\ to\ load\ a\ plugin\ that\ is\ not\ JPanel\ subclass.=Ei voitu ladata laajennusta, joka ei ole JPanelin alaluokka. Error\ loading\ class\ =Luokan lataaminen ep\u00e4onnistui # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:112 Select\ all=Valitse kaikki # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:117 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:121 Save\ log=Tallenna loki # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:109 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:58 Save\ environment=Tallenna ymp\u00e4rist\u00f6 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:113 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:64 Load\ environment=Lataa ymp\u00e4rist\u00f6 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:125 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:70 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\GUI\MainGUI.java:237 Exit=Poistu Unable\ to\ initialize\ menu\ bar.=Valikkopalkin alustaminen ep\u00e4onnistui started\ in\ =Aloitettu # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:188 Loading\ plugins..=Ladataan liit\u00e4nn\u00e4isi\u00e4. # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:167 Building\ menus..=Koottaan valikkoja. # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:173 Building\ buttons\ bar..=Kootaan ty\u00f6kalurivej\u00e4. # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:259 Building\ status\ bar..=Kootaan tilarivi\u00e4. # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:231 Building\ tree..=Kootaan puuta. !Loading\ default\ environment.= Error\ starting\ pdfsam.=Ohjelman k\u00e4ynnist\u00e4minen ep\u00e4onnistui. # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:121 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\GUI\MainGUI.java:226 Clear\ log=Tyhjenn\u00e4 loki Unable\ to\ initialize\ button\ bar.=Painikerivin alustaminen ep\u00e4onnistui. # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 Version\:\ =Versio\: # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\GUI\InfoGUI.java:118 Language\:\ =Kieli\: !Developed\ by\:\ = # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\GUI\InfoGUI.java:118 Build\ date\:\ =K\u00e4\u00e4nn\u00f6sp\u00e4iv\u00e4m\u00e4\u00e4r\u00e4\: Java\ home\:\ =Javan kotisivu\: Java\ version\:\ =Java-versio\: Max\ memory\:\ =Muistin yl\u00e4raja\: Configuration\ file\:\ =Asetustiedosto\: # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\GUI\InfoGUI.java:118 Website\:\ =Verkkosivu\: # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:118 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\GUI\InfoGUI.java:128 Name=Nimi # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\GUI\MainGUI.java:222 About=Tietoja Unimplemented\ method\ for\ JInfoPanel=Toteuttamaton metodi JInfoPanelille # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:167 Contributes\:\ =Avustaneet\: # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:128 Log\ level\:=Lokitaso\: # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:223 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\panels\JSettingsPanel.java:181 #, fuzzy !Settings=Asetukset # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:119 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\panels\JSettingsPanel.java:110 Look\ and\ feel\:=Ulkon\u00e4k\u00f6\: # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:122 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\panels\JSettingsPanel.java:113 Theme\:=Teema\: # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:125 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\panels\JSettingsPanel.java:116 Language\:=Kieli\: Check\ for\ updates\:=Tarkista uudet p\u00e4ivitykset # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:131 Load\ default\ environment\ at\ startup\:=Lataa oletusymp\u00e4rist\u00f6 k\u00e4ynnistyksen yhteydess\u00e4\: !Default\ working\ directory\:= Error\ getting\ default\ environment.=Oletusk\u00e4ytt\u00f6ymp\u00e4rist\u00f6n lataaminen ep\u00e4onnistui. Check\ now=Tarkista nyt !Play\ alert\ sounds= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:223 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\panels\JSettingsPanel.java:181 Settings\ =Asetukset # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:224 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\panels\JSettingsPanel.java:182 Language=Kieli # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:224 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\panels\JSettingsPanel.java:182 Set\ your\ preferred\ language\ (restart\ needed)=Valitse kieli (vaatii uudelleenk\u00e4ynnistyksen) # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:225 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\panels\JSettingsPanel.java:183 Look\ and\ feel=Ulkon\u00e4k\u00f6 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:225 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\panels\JSettingsPanel.java:183 Set\ your\ preferred\ look\ and\ feel\ and\ your\ preferred\ theme\ (restart\ needed)=Valitse ulkon\u00e4k\u00f6 ja teema (vaatii uudelleenk\u00e4ynnistyksen) # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:226 Log\ level=Lokitaso # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:226 Set\ a\ log\ detail\ level\ (restart\ needed)=Valitse lokin tarkkuus (vaatii uudelleen k\u00e4ynnistyksen) Check\ for\ updates=Tarkista uudet p\u00e4ivitykset Set\ when\ new\ version\ availability\ should\ be\ checked\ (restart\ needed)=M\u00e4\u00e4rit\u00e4, koska uudet p\u00e4ivitykset tarkistetaan (ohjelma pit\u00e4\u00e4 k\u00e4ynnist\u00e4\u00e4 uudelleen) !Turn\ on\ or\ off\ alert\ sounds= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:227 Default\ env.=Oletusymp\u00e4rist\u00f6 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:227 Select\ a\ previously\ saved\ env.\ file\ that\ will\ be\ automatically\ loaded\ at\ startup=Valitse aiemmin tallennettu ymp\u00e4rist\u00f6tiedosto, joka ladataan automaattisesti k\u00e4ynnistyksen yhteydess\u00e4. !Default\ working\ directory= !Select\ a\ directory\ where\ documents\ will\ be\ saved\ and\ loaded\ by\ default= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:257 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:241 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\panels\JSettingsPanel.java:190 Save=Tallenna Configuration\ saved.=Asetukset tallennettu. Unimplemented\ method\ for\ JSettingsPanel=Toteuttamaton metodi JSettingsPanelille New\ version\ available\:\ =Uusi versio saatavilla\: !Plugins= Error\ getting\ pdf\ version\ description.=PDF-tiedoston versiokuvauksen hakeminen ep\u00e4onnistui. Version\ 1.2\ (Acrobat\ 3)=Versio 1.2 (Acrobat 3) Version\ 1.3\ (Acrobat\ 4)=Versio 1.3 (Acrobat 4) Version\ 1.4\ (Acrobat\ 5)=Versio 1.4 (Acrobat 5) Version\ 1.5\ (Acrobat\ 6)=Versio 1.5 (Acrobat 6) Version\ 1.6\ (Acrobat\ 7)=Versio 1.6 (Acrobat 7) Version\ 1.7\ (Acrobat\ 8)=Versio 1.7 (Acrobat 8) Never=Ei koskaan pdfsam\ start\ up=pdfsamin k\u00e4ynnistys !Output\ file\ location\ is\ not\ correct= !Would\ you\ like\ to\ change\ it\ to= !Output\ location\ error= !Selected\ output\ file\ already\ exists\ = !Would\ you\ like\ to\ overwrite\ it?= !Provided\ pages\ selection\ is\ not\ valid= !Limits\ must\ be\ a\ comma\ separated\ list\ of\ "page_number"\ or\ "page_number-page_number"= !Limits\ are\ not\ valid= Checking\ for\ a\ new\ version\ available.=Tarkistetaan, onko uudempaa versiota saatavilla. Error\ checking\ for\ a\ new\ version\ available.=Uudemman version saatavuutta tarkistettaessa tapahtui virhe. Unable\ to\ get\ latest\ available\ version=Uusimman version hakeminen ep\u00e4onnistui. New\ version\ available.=Uusi versio saatavilla. No\ new\ version\ available.=Ei uusia versioita saatavilla. !Cut= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:181 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:179 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:182 #, fuzzy !Paste=Polku pdfsam-1.1.4/pdfsam-langpack-br1/src/java/org/pdfsam/i18n/resources/Messages_cs.properties0000644000175000017500000005223511225342444031363 0ustar twernertwerner# Czech translation for pdfsam # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the pdfsam package. # FIRST AUTHOR , 2008. # !=Project-Id-Version\: pdfsam\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2009-07-09 12\:23+0200\nPO-Revision-Date\: 2008-06-29 16\:45+0000\nLast-Translator\: marker \nLanguage-Team\: Czech \nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Launchpad-Export-Date\: 2008-08-17 09\:24+0000\nX-Generator\: Launchpad (build Unknown)\n #, fuzzy !Merge\ options=Nastaven\u00ed slou\u010den\u00ed\: PDF\ documents\ contain\ forms=PDF dokumenty obsahuj\u00ed formul\u00e1\u0159e Merge\ type=Zp\u016fsob slou\u010den\u00ed Unchecked=Nevybran\u00fd Use\ this\ merge\ type\ for\ standard\ pdf\ documents=Pou\u017eijte tento typ slou\u010den\u00ed pro standardn\u00ed pdf dokumenty Checked=Vybran\u00fd Use\ this\ merge\ type\ for\ pdf\ documents\ containing\ forms=Pou\u017eijte tento typ spojen\u00ed pro pdf dokumenty obsahuj\u00edc\u00ed formul\u00e1\u0159e Note=Pozn\u00e1mka Setting\ this\ option\ the\ documents\ will\ be\ completely\ loaded\ in\ memory=V\u00fdb\u011brem t\u00e9to mo\u017enosti budou dokumenty kompletn\u011b nahr\u00e1ny do pam\u011bti Destination\ output\ file=Um\u00edst\u011bn\u00ed v\u00fdstupn\u00edho souboru Error\:\ =Chyba\: Browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ file.=Vyberte nebo napi\u0161te \u00fapln\u00e9 um\u00edst\u011bn\u00ed c\u00edlov\u00e9ho souboru. Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ file\ if\ it\ already\ exists.=Vyberte tuto mo\u017enost pokud chcete p\u0159epsat existuj\u00edc\u00ed soubor. Check\ the\ box\ if\ you\ want\ compressed\ output\ files.=Vyberte tuto mo\u017enost pokud chcete komprimovat v\u00fdstupn\u00ed soubory. PDF\ version\ 1.5\ or\ above.=PDF verze 1.5 nebo nov\u011bj\u0161\u00ed Set\ the\ pdf\ version\ of\ the\ ouput\ document.=Zadejte verzi v\u00fdstupn\u00edho PDF dokumentu. Please\ wait\ while\ all\ files\ are\ processed..=Pros\u00edm \u010dekejte dokud v\u0161echny soubory nebudou zpracov\u00e1ny... Found\ a\ password\ for\ input\ file.=Nalezeno heslo vstupn\u00edho souboru. #, fuzzy !Please\ select\ at\ least\ one\ pdf\ document.=Pros\u00edm vyber dva pdf dokumenty. !Warning= Execute\ pdf\ merge=Provede slou\u010den\u00ed soubor\u016f Merge/Extract=Slou\u010dit/Rozbalit Merge\ section\ loaded.=Modul slu\u010dov\u00e1n\u00ed nahr\u00e1n. Export\ as\ xml=Exportovat jako XML Unable\ to\ save\ xml\ file.=XML soubor nelze ulo\u017eit. Ok=Ok File\ xml\ saved.=XML soubor ulo\u017een. Error\ saving\ xml\ file,\ output\ file\ is\ null.=Chyba p\u0159i z\u00e1pisu XML souboru, v\u00fdstupn\u00ed soubor je pr\u00e1zdn\u00fd. Split\ options=Nastaven\u00ed rozd\u011blen\u00ed Burst\ (split\ into\ single\ pages)=Roztrhat (na jednotliv\u00e9 str\u00e1nky) Split\ every\ "n"\ pages=Rozd\u011blit ka\u017edou n-tou str\u00e1nku Split\ even\ pages=Rozd\u011blit za sud\u00fdmi str\u00e1nkami Split\ odd\ pages=Rozd\u011blit za lich\u00fdmi str\u00e1nkami Split\ after\ these\ pages=Rozd\u011blit za t\u011bmito str\u00e1nkami Split\ at\ this\ size=Rozd\u011blit na tuto velikost !Split\ by\ bookmarks\ level= Burst=Roztrhat Explode\ the\ pdf\ document\ into\ single\ pages=Rozd\u011bl\u00ed pdf soubor na jednotliv\u00e9 str\u00e1nky Split\ the\ document\ every\ "n"\ pages=Rozd\u011bl\u00ed PDF soubor za ka\u017edou n-tou str\u00e1nkou Split\ the\ document\ every\ even\ page=Rozd\u011bl\u00ed PDF soubor za ka\u017edou sudou str\u00e1nkou Split\ the\ document\ every\ odd\ page=Rozd\u011bl\u00ed dokument za ka\u017edou lichou str\u00e1nkou Split\ the\ document\ after\ page\ numbers\ (num1-num2-num3..)=Rozd\u011bl\u00ed dokument za str\u00e1nkami \u010d\u00edslo (\u010d\u00edslo1-\u010d\u00edslo2-\u010d\u00edslo3...) #, fuzzy !Split\ the\ document\ in\ files\ of\ the\ given\ size\ (roughly)=Rozd\u011bl\u00ed dokument na soubory o zadan\u00e9 velikosti (p\u0159ibli\u017en\u011b). #, fuzzy !Split\ the\ document\ at\ pages\ referred\ by\ bookmarks\ of\ the\ given\ level=Rozd\u011bl\u00ed dokument na soubory o zadan\u00e9 velikosti (p\u0159ibli\u017en\u011b). #, fuzzy !Destination\ folder=C\u00edlov\u00e1 slo\u017eka\: Same\ as\ source=Stejn\u00e1 jako p\u016fvodn\u00ed soubor Choose\ a\ folder=Vybrat slo\u017eku Destination\ output\ directory=Um\u00edst\u011bn\u00ed v\u00fdstupn\u00edho souboru Use\ the\ same\ output\ folder\ as\ the\ input\ file\ or\ choose\ a\ folder.=Jako v\u00fdstupn\u00ed pou\u017eijte slo\u017eku se zdrojov\u00fdm souborem nebo vyberte slo\u017eku. To\ choose\ a\ folder\ browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ directory.=Pro v\u00fdb\u011br slo\u017eky vyberte nebo napi\u0161te \u00faplnou cestu k v\u00fdstupn\u00edmu souboru. Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ files\ if\ they\ already\ exist.=Zvolte tuto mo\u017enost pokud chcete p\u0159epsat existuj\u00edc\u00ed soubor. #, fuzzy !Output\ options=Nastaven\u00ed v\u00fdstupu\: Output\ file\ names\ prefix\:=P\u0159edpona v\u00fdstupn\u00edch soubor\u016f\: Output\ files\ prefix=P\u0159edpona v\u00fdstupn\u00edch soubor\u016f !If\ it\ contains\ "[CURRENTPAGE]",\ "[TIMESTAMP]",\ "[FILENUMBER]"\ or\ "[BOOKMARK_NAME]"\ it\ performs\ variable\ substitution.= Ex.\ prefix_[BASENAME]_[CURRENTPAGE]\ generates\ prefix_FileName_005.pdf.=Nap\u0159. prefix_[BASENAME]_[CURRENTPAGE] generuje prefix_FileName_005.pdf. #, fuzzy !If\ it\ doesn't\ contain\ "[CURRENTPAGE]",\ "[TIMESTAMP]"\ or\ "[FILENUMBER]"\ it\ generates\ oldstyle\ output\ file\ names.=Pokud neobsahuje "[CURRENTPAGE]" or "[TIMESTAMP]" generuje oldstyle n\u00e1zvy soubor\u016f. !Available\ variables= Invalid\ split\ size=Chybn\u00e1 velikost rozd\u011blov\u00e1n\u00ed. The\ lowest\ available\ pdf\ version\ is\ =Nejni\u017e\u0161\u00ed pou\u017eiteln\u00e1 verze pdf je You\ selected\ a\ lower\ output\ pdf\ version,\ continue\ anyway\ ?=Pro v\u00fdstup jste zvolili ni\u017e\u0161\u00ed verzi pdf, chcete p\u0159esto pokra\u010dovat? Pdf\ version\ conflict=Konflikt verz\u00ed pdf #, fuzzy !Please\ select\ a\ pdf\ document.=Pros\u00edm vyber dva pdf dokumenty. Split\ selected\ file=Rozd\u011bl\u00ed vybran\u00fd soubor Split=Rozd\u011blit Split\ section\ loaded.=Modul Rozd\u011blov\u00e1n\u00ed nahr\u00e1n. Invalid\ unit\:\ =Nespr\u00e1vn\u00e1 jednotka\: #, fuzzy !Fill\ from\ document=Obr\u00e1tit prvn\u00ed dokument !Getting\ bookmarks\ max\ depth= !Frontpage\ pdf\ file= !Addendum\ pdf\ file= Select\ at\ least\ one\ cover\ or\ one\ footer=Vyber nejm\u00e9n\u011b jeden titulek nebo jedno z\u00e1pat\u00ed. !Frontpage\ and\ Addendum= Cover\ And\ Footer\ section\ loaded.=Modul Titulek a z\u00e1pat\u00ed nahr\u00e1n. #, fuzzy !Encrypt\ options=Nastaven\u00ed \u0161ifrov\u00e1n\u00ed\: Owner\ password\:=Heslo vlastn\u00edka\: Owner\ password\ (Max\ 32\ chars\ long)=Heslo vlastn\u00edka (max. 32 znak\u016f) User\ password\:=Heslo u\u017eivatele\: User\ password\ (Max\ 32\ chars\ long)=Heslo u\u017eivatele (max. 32 znak\u016f) #, fuzzy !Encryption\ algorithm\:=\u0160ifrovac\u00ed algoritmus\: Allow\ all=Povolit v\u0161e Print=Tisk Low\ quality\ print=Tisk n\u00edzk\u00e9 kvality Copy\ or\ extract=Kop\u00edrovat nebo rozbalit Modify=Upravit Add\ or\ modify\ text\ annotations=P\u0159idat nebo upravit textov\u00e9 pozn\u00e1mky Fill\ form\ fields=Vyplnit formul\u00e1\u0159ov\u00e1 pole Extract\ for\ use\ by\ accessibility\ dev.=Extract for use by accessibility dev. Manipulate\ pages\ and\ add\ bookmarks=Upravit str\u00e1nky a p\u0159idat z\u00e1lo\u017eky Check\ the\ box\ if\ you\ want\ compressed\ output\ files\ (Pdf\ version\ 1.5\ or\ higher).=Vyberte tuto mo\u017enost pokud chcete komprimovat v\u00fdstupn\u00ed soubory (PDF verze 1.5 a vy\u0161\u0161\u00ed). If\ it\ contains\ "[TIMESTAMP]"\ it\ performs\ variable\ substitution.=Pokud obsahuje "[TIMESTAMP]" provede n\u00e1hradu prom\u011bnn\u00e9. Ex.\ [BASENAME]_prefix_[TIMESTAMP]\ generates\ FileName_prefix_20070517_113423471.pdf.=Nap\u0159. [BASENAME]_prefix_[TIMESTAMP] generuje n\u00e1zev FileName_prefix_20070517_113423471.pdf. If\ it\ doesn't\ contain\ "[TIMESTAMP]"\ it\ generates\ oldstyle\ output\ file\ names.=Pokud neobsahuje "[TIMESTAMP]" generuje oldstyle n\u00e1zvy v\u00fdstupn\u00edch soubor\u016f. Available\ variables\:\ [TIMESTAMP],\ [BASENAME].=Dostupn\u00e9 prom\u011bnn\u00e9\: [TIMESTAMP], [BASENAME]. Encrypt\ selected\ files=\u0160ifrovat vybran\u00e9 soubory Encrypt=\u0160ifrov\u00e1n\u00ed Encrypt\ section\ loaded.=Modul \u0161ifrov\u00e1n\u00ed nahr\u00e1n. #, fuzzy !Decrypt\ selected\ files=\u0160ifrovat vybran\u00e9 soubory #, fuzzy !Decrypt=\u0160ifrov\u00e1n\u00ed #, fuzzy !Decrypt\ section\ loaded.=Modul \u0161ifrov\u00e1n\u00ed nahr\u00e1n. #, fuzzy !Mix\ options=Nastaven\u00ed rozd\u011blen\u00ed Reverse\ first\ document=Obr\u00e1tit prvn\u00ed dokument Reverse\ second\ document=Obr\u00e1tit druh\u00fd dokument !Number\ of\ pages\ to\ switch\ document= !Tick\ the\ boxes\ if\ you\ want\ to\ reverse\ the\ first\ or\ the\ second\ document\ (or\ both).= !Set\ the\ number\ of\ pages\ to\ switch\ from\ a\ document\ to\ the\ other\ one\ (default\ is\ 1).= Found\ a\ password\ for\ first\ file.=Nalezeno heslo prvn\u00edho souboru. Found\ a\ password\ for\ second\ file.=Nalezeno heslo druh\u00e9ho souboru. Please\ select\ two\ pdf\ documents.=Pros\u00edm vyber dva pdf dokumenty. Execute\ pdf\ alternate\ mix=Spustit m\u00edch\u00e1n\u00ed soubor\u016f Alternate\ Mix=M\u00edch\u00e1n\u00ed soubor\u016f AlternateMix\ section\ loaded.=Modul M\u00edch\u00e1n\u00ed soubor\u016f nahr\u00e1n. Unpack\ selected\ files=Rozbalit zvolen\u00e9 soubory Unpack=Rozbalit Unpack\ section\ loaded.=Na\u010dten dekomprima\u010dn\u00ed modul . #, fuzzy !Set\ viewer\ options=Nastaven\u00ed rozd\u011blen\u00ed !Hide\ the\ menubar= !Hide\ the\ toolbar= !Hide\ user\ interface\ elements= !Rezise\ the\ window\ to\ fit\ the\ page\ size= !Center\ of\ the\ screen= !Display\ document\ title\ as\ window\ title= #, fuzzy !Pdf\ version\ required\:=Konflikt verz\u00ed pdf !No\ page\ scaling\ in\ print\ dialog= !Viewer\ layout\:= !Viewer\ open\ mode\:= !Non\ fullscreen\ mode\:= !Direction\:= #, fuzzy !Set\ options=Nastaven\u00ed rozd\u011blen\u00ed #, fuzzy !Set\ viewer\ options\ for\ selected\ files=\u0160ifrovat vybran\u00e9 soubory !Left\ to\ right= !Right\ to\ left= #, fuzzy !None=Pozn\u00e1mka !Fullscreen= !Attachments= !Optional\ content\ group\ panel= #, fuzzy !Document\ outline=PDF dokumenty obsahuj\u00ed formul\u00e1\u0159e !Thumbnail\ images= !One\ page\ at\ a\ time= !Pages\ in\ one\ column= !Pages\ in\ two\ columns\ (odd\ on\ the\ left)= !Pages\ in\ two\ columns\ (odd\ on\ the\ right)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ left)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ right)= #, fuzzy !Viewer\ options=Nastaven\u00ed slou\u010den\u00ed\: #, fuzzy !Viewer\ options\ section\ loaded.=Modul \u0161ifrov\u00e1n\u00ed nahr\u00e1n. Save\ passwords\ informations\ (they\ will\ be\ readable\ opening\ the\ output\ file)?=Ulo\u017eit informace o heslech (budou \u010diteln\u00e1 ve v\u00fdstupn\u00edm souboru)? Confirm\ password\ saving=Potvrdit ukl\u00e1d\u00e1n\u00ed hesel. Unknown\ action.=Nezn\u00e1m\u00e1 akce. Log\ saved.=Z\u00e1znam ulo\u017een. \ node\ environment\ loaded.=\ prost\u0159ed\u00ed nahr\u00e1no. Environment\ saved.=Prost\u0159ed\u00ed ulo\u017eeno. Error\ saving\ environment,\ output\ file\ is\ null.=Chyba p\u0159i ukl\u00e1d\u00e1n\u00ed prost\u0159ed\u00ed, v\u00fdstupn\u00ed soubor je pr\u00e1zdn\u00fd. Error\ saving\ environment.=Chyba p\u0159i ukl\u00e1d\u00e1n\u00ed prost\u0159ed\u00ed. Environment\ loaded.=Prost\u0159ed\u00ed nahr\u00e1no. Error\ loading\ environment.=Chyba p\u0159i nahr\u00e1v\u00e1n\u00ed prost\u0159ed\u00ed. Error\ loading\ environment\ from\ input\ file.\ =Chyba p\u0159i nahr\u00e1v\u00e1n\u00ed prost\u0159ed\u00ed ze vstupn\u00edho souboru. Selection\ table\ is\ full,\ please\ remove\ some\ pdf\ document.=Tabulka pro v\u00fdb\u011br je pln\u00e1, odstra\u0148te n\u011bjak\u00fd pdf dokument. Table\ full=Tabulka je pln\u00e1. Please\ wait\ while\ reading=Pros\u00edm, po\u010dkejte na dokon\u010den\u00ed nahr\u00e1v\u00e1n\u00ed. Selected\ file\ is\ not\ a\ pdf\ document.=Vybran\u00fd soubor nen\u00ed pdf dokument. Error\ loading\ =Chyba p\u0159i nahr\u00e1v\u00e1n\u00ed Command\ validation\ returned\ an\ empty\ value.=Ov\u011b\u0159en\u00ed p\u0159\u00edkazu vrac\u00ed pr\u00e1zdnou hodnotu. Command\ executed.=P\u0159\u00edkaz proveden. File\ name=Jm\u00e9no souboru !Number\ of\ pages= !File\ size= !Pdf\ version= !Encryption= !Not\ encrypted= !Permissions= !Title= Author=Autor !Subject= !Producer= !Creator= !Creation\ date= !Modification\ date= !Keywords= !Document\ properties= File=Soubor !Close= Copy=Kop\u00edrovat !Error\ creating\ properties\ panel.= Run=Spustit Browse=Proch\u00e1zet Add=P\u0159idat Compress\ output\ file/files=Komprimovat v\u00fdstupn\u00ed soubor(y) Overwrite\ if\ already\ exists=P\u0159epsat soubor pokud ji\u017e existuje Don't\ preserve\ file\ order\ (fast\ load)=Nedodr\u017eet po\u0159ad\u00ed soubor\u016f (rychl\u00e9 nahr\u00e1v\u00e1n\u00ed) Output\ document\ pdf\ version\:=Verze v\u00fdstupn\u00edho pdf dokumentu\: !The\ cross\ reference\ table\ cantained\ some\ error\ and\ has\ been\ rebuilt= !The\ document\ has\ not\ been\ opened\ with\ the\ owner\ password.\ You\ must\ provide\ the\ owner\ password\ in\ order\ to\ manipulate\ the\ document= !An\ error\ occured\ while\ loading\ the\ document= Same\ as\ input\ document=Stejn\u00e1 jako vstupn\u00ed dokument Path=Um\u00edst\u011bn\u00ed Pages=Po\u010det stran Password=Heslo Version=Verze Page\ Selection=V\u00fdb\u011br stran Total\ pages\ of\ the\ document=Po\u010det stran v dokumentu Password\ to\ open\ the\ document\ (if\ needed)=Heslo k otev\u0159en\u00ed dokumentu (pokud je vy\u017eadov\u00e1no) Pdf\ version\ of\ the\ document=Verze pdf dokumentu !Double\ click\ to\ set\ pages\ you\ want\ to\ merge\ (ex\:\ 2\ or\ 5-23\ or\ 2,5-7,12-)= Add\ a\ pdf\ to\ the\ list=P\u0159idat PDF do seznamu Remove\ a\ pdf\ from\ the\ list=Odstranit pdf ze seznamu (Canc)=(Zru\u0161) Remove=Odstranit Reload=Obnovit Error\:\ Unable\ to\ reload\ the\ selected\ file/s.=Nelze znovu na\u010d\u00edst vybran\u00fd soubor(y). Unable\ to\ remove\ JList\ text\ =Nelze odstranit JList text File\ selected\:\ =Vybran\u00fd soubor\: File\ reloaded\:\ =Soubor na\u010dten\: Move\ Up=Nahoru Move\ up\ selected\ pdf\ file=Posunout nahoru vybran\u00fd soubor (Alt+ArrowUp)=(Alt+\u0161ipka nahoru) Move\ Down=Dol\u016f Move\ down\ selected\ pdf\ file=Posunout dol\u016f vybran\u00fd soubor (Alt+ArrowDown)=(Alt+\u0161ipka dol\u016f) Clear=Vypr\u00e1zdnit Remove\ every\ pdf\ file\ from\ the\ merge\ list=Vyma\u017ee v\u0161echny pdf soubory ze seznamu Set\ output\ file=Nastaven\u00ed v\u00fdstupn\u00edho souboru Error\:\ Unable\ to\ get\ the\ file\ path.=Chyba\: nelze naj\u00edt cestu k souboru. Unable\ to\ get\ the\ default\ environment\ informations.=Nelze z\u00edskat informace o p\u016fvodn\u00edm p\u0159ednastaven\u00e9m prost\u0159ed\u00ed. Setting\ look\ and\ feel...=Nastaven\u00ed vzhledu... Setting\ logging\ level...=Nastaven\u00ed \u00farovn\u011b z\u00e1znamu... Unable\ to\ find\ log\ level,\ setting\ to\ default\ level\ (DEBUG).=Nelze naj\u00edt \u00farove\u0148 z\u00e1znamu, nastaven\u00ed v\u00fdchoz\u00ed hodnoty (DEBUG). Logging\ level\ set\ to\ =\u00darove\u0148 z\u00e1znamu nastavena na Unable\ to\ set\ logging\ level.=Nelze nastavit \u00farove\u0148 z\u00e1znamu. Error\ getting\ plugins\ directory.=Chyba p\u0159i hled\u00e1n\u00ed slo\u017eky s moduly. Cannot\ read\ plugins\ directory\ =Nemohu p\u0159e\u010d\u00edst slo\u017eku s moduly Plugins\ directory\ is\ null.=Slo\u017eka s moduly je pr\u00e1zdn\u00e1. Found\ zero\ or\ many\ jars\ in\ plugin\ directory\ =Nalezen \u017e\u00e1dn\u00fd nebo mnoho jar\u016f ve slo\u017ece s moduly Exception\ loading\ plugins.=V\u00fdjimka nahr\u00e1v\u00e1n\u00ed modul\u016f. Cannot\ read\ plugin\ directory\ =Nemohu p\u0159e\u010d\u00edst slo\u017eku s moduly \ plugin\ loaded.=\ modul na\u010dten. Unable\ to\ load\ a\ plugin\ that\ is\ not\ JPanel\ subclass.=Nelze nahr\u00e1t modul, kter\u00fd nen\u00ed JPabel subclass. Error\ loading\ class\ =Chyba p\u0159i nahr\u00e1v\u00e1n\u00ed t\u0159\u00eddy Select\ all=Vybrat v\u0161e Save\ log=Ulo\u017eit z\u00e1znam Save\ environment=Ulo\u017eit prost\u0159ed\u00ed Load\ environment=Nahr\u00e1t prost\u0159ed\u00ed Exit=Konec Unable\ to\ initialize\ menu\ bar.=Nelze spustit menu. started\ in\ =spu\u0161t\u011bn v Loading\ plugins..=Nahr\u00e1v\u00e1m moduly... Building\ menus..=Vytv\u00e1\u0159\u00edm menu... Building\ buttons\ bar..=Vytv\u00e1\u0159\u00edm panel n\u00e1stroj\u016f... Building\ status\ bar..=Vytv\u00e1\u0159\u00edm stavov\u00fd \u0159\u00e1dek... Building\ tree..=Vytv\u00e1\u0159\u00edm strom... Loading\ default\ environment.=Na\u010d\u00edt\u00e1m p\u0159ednastaven\u00e9 prost\u0159ed\u00ed Error\ starting\ pdfsam.=Chyba p\u0159i spu\u0161t\u011bn\u00ed pdfsam. Clear\ log=Vy\u010distit z\u00e1znam Unable\ to\ initialize\ button\ bar.=Nelze spustit panel n\u00e1stroj\u016f. Version\:\ =Verze\: Language\:\ =Jazyk\: !Developed\ by\:\ = Build\ date\:\ =Datum sestaven\u00ed\: Java\ home\:\ =Java\: Java\ version\:\ =Java verze\: Max\ memory\:\ =Max. pam\u011bti\: Configuration\ file\:\ =Konfigura\u010dn\u00ed soubor\: Website\:\ =Web\: Name=N\u00e1zev !About= Unimplemented\ method\ for\ JInfoPanel=Neimplementovan\u00e1 metoda pro JInfoPanel Contributes\:\ =P\u0159isp\u011bvatel\u00e9\: Log\ level\:=\u00darove\u0148 z\u00e1znamu\: #, fuzzy !Settings=Nastaven\u00ed\: Look\ and\ feel\:=Vzhled\: Theme\:=Motiv\: Language\:=Jazyk\: Check\ for\ updates\:=Zkontrolovat aktualizace\: Load\ default\ environment\ at\ startup\:=Nahr\u00e1t v\u00fdchoz\u00ed nastaven\u00ed p\u0159i startu\: Default\ working\ directory\:=P\u0159ednastaven\u00fd pracovn\u00ed adres\u00e1\u0159\: Error\ getting\ default\ environment.=Chyba p\u0159i nastaven\u00ed v\u00fdchoz\u00edho prost\u0159ed\u00ed. Check\ now=Zkontrolovat nyn\u00ed !Play\ alert\ sounds= Settings\ =Nastaven\u00ed\: Language=Jazyk Set\ your\ preferred\ language\ (restart\ needed)=Vyberte jazyk (projev\u00ed se po restartu) Look\ and\ feel=Vzhled Set\ your\ preferred\ look\ and\ feel\ and\ your\ preferred\ theme\ (restart\ needed)=Vyberte si obl\u00edben\u00fd vzhled a motiv (projev\u00ed se po restartu) Log\ level=\u00darove\u0148 z\u00e1znamu Set\ a\ log\ detail\ level\ (restart\ needed)=Nastav \u00farove\u0148 z\u00e1znamu (projev\u00ed se po restartu) Check\ for\ updates=Zkontrolovat aktualizace Set\ when\ new\ version\ availability\ should\ be\ checked\ (restart\ needed)=Nastavte, pokud je pot\u0159eba ov\u011b\u0159it dostupnost nov\u00e9 verze (vy\u017eaduje restart) !Turn\ on\ or\ off\ alert\ sounds= Default\ env.=V\u00fdchoz\u00ed prost\u0159ed\u00ed Select\ a\ previously\ saved\ env.\ file\ that\ will\ be\ automatically\ loaded\ at\ startup=Vyber d\u0159\u00edve ulo\u017een\u00fd soubor s prost\u0159ed\u00edm. Bude automaticky nahr\u00e1n p\u0159i startu. Default\ working\ directory=P\u0159ednastaven\u00fd pracovn\u00ed adres\u00e1\u0159 Select\ a\ directory\ where\ documents\ will\ be\ saved\ and\ loaded\ by\ default=Vyberte adres\u00e1\u0159, kter\u00fd bude slou\u017eit k automatick\u00e9mu na\u010d\u00edt\u00e1n\u00ed a ukl\u00e1d\u00e1n\u00ed dokument\u016f Save=Ulo\u017eit Configuration\ saved.=Konfigurace ulo\u017eena. Unimplemented\ method\ for\ JSettingsPanel=Neimplementovan\u00e1 metoda pro JSettings Panel New\ version\ available\:\ =Je dostupn\u00e1 nov\u00e1 verze\: !Plugins= Error\ getting\ pdf\ version\ description.=Chyba p\u0159i z\u00edsk\u00e1v\u00e1n\u00ed popisu verze pdf. Version\ 1.2\ (Acrobat\ 3)=Verze 1.2 (Acrobat 3) Version\ 1.3\ (Acrobat\ 4)=Verze 1.3 (Acrobat 4) Version\ 1.4\ (Acrobat\ 5)=Verze 1.4 (Acrobat 5) Version\ 1.5\ (Acrobat\ 6)=Verze 1.5 (Acrobat 6) Version\ 1.6\ (Acrobat\ 7)=Verze 1.6 (Acrobat 7) Version\ 1.7\ (Acrobat\ 8)=Verze 1.7 (Acrobat 8) Never=Nikdy pdfsam\ start\ up=P\u0159i spu\u0161t\u011bn\u00ed programu Pdfsam Output\ file\ location\ is\ not\ correct=Nespr\u00e1vn\u00e1 cesta k v\u00fdstupn\u00edmu souboru Would\ you\ like\ to\ change\ it\ to=P\u0159ejete si ji zm\u011bnit na Output\ location\ error=Chyba v\u00fdstupn\u00edho um\u00edst\u011bn\u00ed !Selected\ output\ file\ already\ exists\ = !Would\ you\ like\ to\ overwrite\ it?= !Provided\ pages\ selection\ is\ not\ valid= !Limits\ must\ be\ a\ comma\ separated\ list\ of\ "page_number"\ or\ "page_number-page_number"= !Limits\ are\ not\ valid= Checking\ for\ a\ new\ version\ available.=Zji\u0161t\u011bn\u00ed dostupnosti nov\u00e9 verze. Error\ checking\ for\ a\ new\ version\ available.=Chyba p\u0159i zji\u0161\u0165ov\u00e1n\u00ed dostupnosti nov\u00e9 verze. Unable\ to\ get\ latest\ available\ version=Nelze st\u00e1hnout aktu\u00e1ln\u00ed verzi New\ version\ available.=Je k dispozici nov\u00e1 verze. No\ new\ version\ available.=\u017d\u00e1dn\u00e1 nov\u00e1 verze nen\u00ed k dispozici. !Cut= #, fuzzy !Paste=Um\u00edst\u011bn\u00ed pdfsam-1.1.4/pdfsam-langpack-br1/src/java/org/pdfsam/i18n/resources/Messages_zh_CN.properties0000644000175000017500000013231511225342444031755 0ustar twernertwerner# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # !=Project-Id-Version\: pdfsam\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2009-07-09 12\:23+0200\nPO-Revision-Date\: 2009-04-22 16\:30+0000\nLast-Translator\: zhangmiao \nLanguage-Team\: LANGUAGE \nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Launchpad-Export-Date\: 2009-05-29 14\:40+0000\nX-Generator\: Launchpad (build Unknown)\nX-Poedit-Country\: CHINA\nX-Poedit-Language\: Chinese\n Merge\ options=\u5408\u5e76\u9009\u9879 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:389 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:392 PDF\ documents\ contain\ forms=PDF \u6587\u6863\u5305\u542b\u8868\u5355 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:394 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:397 Merge\ type=\u5408\u5e76\u7c7b\u578b # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:395 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:398 Unchecked=\u672a\u68c0\u67e5 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:395 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:398 Use\ this\ merge\ type\ for\ standard\ pdf\ documents=\u8fd9\u79cd\u5408\u5e76\u7c7b\u578b\u7528\u4e8e\u6807\u51c6 PDF \u6587\u6863 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:396 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:399 Checked=\u5df2\u68c0\u67e5 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:396 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:399 Use\ this\ merge\ type\ for\ pdf\ documents\ containing\ forms=\u8fd9\u79cd\u5408\u5e76\u7c7b\u578b\u7528\u4e8e\u5305\u542b\u8868\u5355\u7684 PDF \u6587\u6863 Note=\u6ce8 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:397 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:400 Setting\ this\ option\ the\ documents\ will\ be\ completely\ loaded\ in\ memory=\u8bbe\u7f6e\u6b64\u9009\u9879\uff0c\u6587\u6863\u5c31\u4f1a\u88ab\u5b8c\u5168\u8f7d\u5165\u5185\u5b58 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:440 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:255 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:444 Destination\ output\ file=\u76ee\u6807\u8f93\u51fa\u6587\u4ef6 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:387 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:414 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:441 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:599 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:619 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:649 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:879 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:983 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:616 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:423 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:588 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:608 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:638 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:861 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:977 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:143 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:170 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:237 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:498 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:539 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:256 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:427 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:599 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:907 Error\:\ =\u9519\u8bef\uff1a # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:441 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:256 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:445 Browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ file.=\u6d4f\u89c8\u6216\u8f93\u5165\u76ee\u6807\u8f93\u51fa\u6587\u4ef6\u7684\u5b8c\u6574\u8def\u5f84\u3002 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:442 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:257 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:446 Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ file\ if\ it\ already\ exists.=\u5982\u679c\u5411\u8986\u76d6\u5df2\u5b58\u5728\u7684\u8f93\u51fa\u6587\u4ef6\uff0c\u5c31\u52fe\u9009\u6b64\u6846\u3002 Check\ the\ box\ if\ you\ want\ compressed\ output\ files.=\u5982\u679c\u60a8\u60f3\u8981\u538b\u7f29\u8f93\u51fa\u6587\u4ef6\uff0c\u8bf7\u52fe\u9009\u6b64\u6846\u3002 PDF\ version\ 1.5\ or\ above.=PDF \u7248\u672c1.5\u6216\u66f4\u9ad8\u3002 Set\ the\ pdf\ version\ of\ the\ ouput\ document.=\u8bbe\u7f6e\u8f93\u51fa\u6587\u6863\u7684 pdf \u7248\u672c\u53f7\u3002 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:469 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:408 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:451 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:509 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:511 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:350 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:455 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:514 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:516 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:346 Please\ wait\ while\ all\ files\ are\ processed..=\u8bf7\u7b49\u5f85\u6240\u6709\u7684\u6587\u4ef6\u5904\u7406\u5b8c\u6bd5... Found\ a\ password\ for\ input\ file.=\u8f93\u5165\u6587\u4ef6\u9700\u8981\u5bc6\u7801\u3002 Please\ select\ at\ least\ one\ pdf\ document.=\u8bf7\u81f3\u5c11\u9009\u62e9\u4e00\u4e2a pdf \u6587\u6863\u3002 Warning=\u8b66\u544a # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:524 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:528 Execute\ pdf\ merge=\u6267\u884c PDF \u5408\u5e76 Merge/Extract=\u5408\u5e76/\u89e3\u538b # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:858 Merge\ section\ loaded.=\u5408\u5e76\u90e8\u5206\u5df2\u8f7d\u5165\u3002 Export\ as\ xml=\u5bfc\u51fa\u4e3a xml Unable\ to\ save\ xml\ file.=\u65e0\u6cd5\u4fdd\u5b58 xml \u6587\u4ef6\u3002 Ok=\u786e\u5b9a File\ xml\ saved.=xml \u6587\u4ef6\u5df2\u4fdd\u5b58\u3002 Error\ saving\ xml\ file,\ output\ file\ is\ null.=\u4fdd\u5b58 xml \u6587\u4ef6\u51fa\u9519\uff0c\u6ca1\u6709\u8f93\u51fa\u3002 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:220 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:220 Split\ options=\u62c6\u5206\u9009\u9879 Burst\ (split\ into\ single\ pages)=\u7206\u88c2 (\u62c6\u5206\u4e3a\u5355\u9875\u6587\u4ef6) Split\ every\ "n"\ pages=\u6bcf"n"\u9875\u5206\u5272\u4e00\u6b21 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:206 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:223 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:205 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:223 Split\ even\ pages=\u62c6\u5206\u5076\u6570\u9875 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:209 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:224 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:208 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:224 Split\ odd\ pages=\u62c6\u5206\u5947\u6570\u9875 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:212 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:225 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:211 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:225 Split\ after\ these\ pages=\u5728\u8fd9\u4e9b\u9875\u9762\u540e\u62c6\u5206 Split\ at\ this\ size=\u8fbe\u5230\u8fd9\u4e2a\u5927\u5c0f\u4e4b\u540e\u62c6\u5206 !Split\ by\ bookmarks\ level= Burst=\u5206\u5272 Explode\ the\ pdf\ document\ into\ single\ pages=\u5c06 PDF \u6587\u6863\u5206\u5272\u4e3a\u5355\u9875\u6587\u4ef6 Split\ the\ document\ every\ "n"\ pages=\u6bcf"n" \u9875\u5c31\u62c6\u5206\u4e00\u6b21\u6587\u6863 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:223 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:223 Split\ the\ document\ every\ even\ page=\u6bcf\u9047\u5230\u5076\u6570\u9875\u5c31\u62c6\u5206\u6587\u6863 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:224 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:224 Split\ the\ document\ every\ odd\ page=\u6bcf\u9047\u5230\u5947\u6570\u9875\u5c31\u62c6\u5206\u6587\u6863 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:225 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:225 Split\ the\ document\ after\ page\ numbers\ (num1-num2-num3..)=\u5728\u9875\u7801\uff08num1-num2-num3...\uff09\u4e4b\u540e\u62c6\u5206\u6587\u6863 !Split\ the\ document\ in\ files\ of\ the\ given\ size\ (roughly)= !Split\ the\ document\ at\ pages\ referred\ by\ bookmarks\ of\ the\ given\ level= !Destination\ folder= # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:297 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:256 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:256 Same\ as\ source=\u548c\u6e90\u76f8\u540c # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:301 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:260 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:260 Choose\ a\ folder=\u9009\u62e9\u6587\u4ef6\u5939 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:458 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:345 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:309 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:305 Destination\ output\ directory=\u76ee\u6807\u8f93\u51fa\u76ee\u5f55 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:346 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:310 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:306 Use\ the\ same\ output\ folder\ as\ the\ input\ file\ or\ choose\ a\ folder.=\u4f7f\u7528\u548c\u8f93\u5165\u6587\u4ef6\u76f8\u540c\u7684\u8f93\u51fa\u6587\u4ef6\u5939\uff0c\u6216\u9009\u62e9\u4e00\u4e2a\u6587\u4ef6\u5939\u3002 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:347 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:311 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:307 To\ choose\ a\ folder\ browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ directory.=\u8981\u9009\u62e9\u6587\u4ef6\u5939\uff0c\u6d4f\u89c8\u6216\u8f93\u5165\u76ee\u6807\u8f93\u51fa\u76ee\u5f55\u7684\u5b8c\u6574\u8def\u5f84\u3002 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:460 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:348 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:312 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:308 Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ files\ if\ they\ already\ exist.=\u5982\u679c\u60f3\u8986\u76d6\u5df2\u5b58\u5728\u7684\u8f93\u51fa\u6587\u4ef6\uff0c\u5c31\u52fe\u9009\u6b64\u6846\u3002 Output\ options=\u8f93\u51fa\u9009\u9879 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:384 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:326 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:322 Output\ file\ names\ prefix\:=\u8f93\u51fa\u6587\u4ef6\u540d\u524d\u7f00\uff1a # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:394 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:336 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:331 Output\ files\ prefix=\u8f93\u51fa\u6587\u4ef6\u540d\u524d\u7f00 !If\ it\ contains\ "[CURRENTPAGE]",\ "[TIMESTAMP]",\ "[FILENUMBER]"\ or\ "[BOOKMARK_NAME]"\ it\ performs\ variable\ substitution.= # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:338 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:333 Ex.\ prefix_[BASENAME]_[CURRENTPAGE]\ generates\ prefix_FileName_005.pdf.=\u4f8b\u5982\uff0cprefix_[BASENAME]_[CURRENTPAGE] \u4ea7\u751f prefix_FileName_005.pdf\u3002 !If\ it\ doesn't\ contain\ "[CURRENTPAGE]",\ "[TIMESTAMP]"\ or\ "[FILENUMBER]"\ it\ generates\ oldstyle\ output\ file\ names.= !Available\ variables= Invalid\ split\ size=\u975e\u6cd5\u7684\u5206\u5272\u5927\u5c0f The\ lowest\ available\ pdf\ version\ is\ =\u6700\u4f4e\u7684\u53ef\u7528 pdf \u7248\u672c\u53f7\u662f You\ selected\ a\ lower\ output\ pdf\ version,\ continue\ anyway\ ?=\u4f60\u9009\u62e9\u7684 pdf \u7248\u672c\u53f7\u8fc7\u4f4e\uff0c\u4ecd\u7136\u7ee7\u7eed\uff1f Pdf\ version\ conflict=PDF \u7248\u672c\u51b2\u7a81 !Please\ select\ a\ pdf\ document.= Split\ selected\ file=\u5206\u5272\u9009\u62e9\u7684\u6587\u4ef6 Split=\u5206\u5272 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:536 Split\ section\ loaded.=\u62c6\u5206\u90e8\u5206\u5df2\u8f7d\u5165\u3002 Invalid\ unit\:\ =\u5355\u4f4d\u9519\u8bef\uff1a !Fill\ from\ document= !Getting\ bookmarks\ max\ depth= !Frontpage\ pdf\ file= !Addendum\ pdf\ file= Select\ at\ least\ one\ cover\ or\ one\ footer=\u81f3\u5c11\u9009\u62e9\u4e00\u4e2a\u5c01\u9762\u6216\u5c01\u5e95 !Frontpage\ and\ Addendum= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:876 Cover\ And\ Footer\ section\ loaded.=\u5c01\u9762\u548c\u5c01\u5e95\u90e8\u5206\u5df2\u8f7d\u5165\u3002 !Encrypt\ options= # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:206 Owner\ password\:=\u6240\u6709\u8005\u5bc6\u7801\uff1a # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:210 Owner\ password\ (Max\ 32\ chars\ long)=\u6240\u6709\u8005\u5bc6\u7801\uff08\u6700\u957f 32 \u5b57\u7b26\uff09 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:214 User\ password\:=\u7528\u6237\u5bc6\u7801\uff1a # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:218 User\ password\ (Max\ 32\ chars\ long)=\u7528\u6237\u5bc6\u7801\uff08\u6700\u957f 32 \u5b57\u7b26\uff09 !Encryption\ algorithm\:= # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:253 Allow\ all=\u5168\u90e8\u5141\u8bb8 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:229 Print=\u6253\u5370 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:232 Low\ quality\ print=\u4f4e\u8d28\u91cf\u6253\u5370 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:235 Copy\ or\ extract=\u590d\u5236\u6216\u63d0\u53d6 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:238 Modify=\u4fee\u6539 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:241 Add\ or\ modify\ text\ annotations=\u6dfb\u52a0\u6216\u4fee\u6539\u6587\u672c\u6ce8\u91ca # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:244 Fill\ form\ fields=\u586b\u5199\u8868\u5355\u5b57\u6bb5 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:247 Extract\ for\ use\ by\ accessibility\ dev.=\u63d0\u53d6\u4ee5\u7528\u4e8e\u53ef\u8bbf\u95ee\u6027\u5f00\u53d1\u3002 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:250 Manipulate\ pages\ and\ add\ bookmarks=\u64cd\u4f5c\u9875\u9762\u548c\u6dfb\u52a0\u4e66\u7b7e Check\ the\ box\ if\ you\ want\ compressed\ output\ files\ (Pdf\ version\ 1.5\ or\ higher).=\u5982\u679c\u5e0c\u671b\u8986\u76d6\u5df2\u6709\u6587\u4ef6\uff0c\u5219\u52fe\u9009\u6b64\u9879\uff08 PDF 1.5 \u6216\u66f4\u9ad8\u7248\u672c)\u3002 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:395 If\ it\ contains\ "[TIMESTAMP]"\ it\ performs\ variable\ substitution.=\u5982\u679c\u5305\u542b "[TIMESTAMP]"\uff0c\u5c31\u4f1a\u8fdb\u884c\u53d8\u91cf\u66ff\u6362\u3002 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:396 Ex.\ [BASENAME]_prefix_[TIMESTAMP]\ generates\ FileName_prefix_20070517_113423471.pdf.=\u4f8b\u5982\uff0c[BASENAME]_prefix_[TIMESTAMP] \u4ea7\u751f FileName_prefix_20070517_113423471.pdf\u3002 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:397 If\ it\ doesn't\ contain\ "[TIMESTAMP]"\ it\ generates\ oldstyle\ output\ file\ names.=\u5982\u679c\u4e0d\u5305\u542b "[\u65f6\u95f4\u6233]"\uff0c\u5c31\u4ea7\u751f\u65e7\u683c\u5f0f\u7684\u8f93\u51fa\u6587\u4ef6\u540d\u3002 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:398 Available\ variables\:\ [TIMESTAMP],\ [BASENAME].=\u53ef\u7528\u53d8\u91cf\uff1a[TIMESTAMP]\u3001[BASENAME]\u3002 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:463 Encrypt\ selected\ files=\u52a0\u5bc6\u9009\u62e9\u7684\u6587\u4ef6 Encrypt=\u52a0\u5bc6 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:613 Encrypt\ section\ loaded.=\u52a0\u5bc6\u90e8\u5206\u5df2\u8f7d\u5165\u3002 !Decrypt\ selected\ files= !Decrypt= !Decrypt\ section\ loaded.= !Mix\ options= Reverse\ first\ document=\u53cd\u8f6c\u7b2c\u4e00\u4e2a\u6587\u6863 Reverse\ second\ document=\u53cd\u8f6c\u7b2c\u4e8c\u4e2a\u6587\u6863 !Number\ of\ pages\ to\ switch\ document= !Tick\ the\ boxes\ if\ you\ want\ to\ reverse\ the\ first\ or\ the\ second\ document\ (or\ both).= !Set\ the\ number\ of\ pages\ to\ switch\ from\ a\ document\ to\ the\ other\ one\ (default\ is\ 1).= Found\ a\ password\ for\ first\ file.=\u7b2c\u4e00\u4e2a\u6587\u4ef6\u9700\u8981\u5bc6\u7801\u3002 Found\ a\ password\ for\ second\ file.=\u7b2c\u4e8c\u4e2a\u6587\u4ef6\u9700\u8981\u5bc6\u7801\u3002 Please\ select\ two\ pdf\ documents.=\u8bf7\u9009\u62e9\u4e24\u4e2a PDF \u6587\u6863\u3002 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:318 Execute\ pdf\ alternate\ mix=\u6267\u884c PDF \u4ea4\u66ff\u6df7\u5408 Alternate\ Mix=\u4ea4\u66ff\u6df7\u5408 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:495 AlternateMix\ section\ loaded.=\u4ea4\u66ff\u6df7\u5408\u90e8\u5206\u5df2\u8f7d\u5165\u3002 Unpack\ selected\ files=\u89e3\u5305\u6240\u9009\u6587\u4ef6 Unpack=\u89e3\u5305 Unpack\ section\ loaded.=\u89e3\u5305\u90e8\u5206\u5df2\u8f7d\u5165\u3002 !Set\ viewer\ options= !Hide\ the\ menubar= !Hide\ the\ toolbar= !Hide\ user\ interface\ elements= !Rezise\ the\ window\ to\ fit\ the\ page\ size= !Center\ of\ the\ screen= !Display\ document\ title\ as\ window\ title= !Pdf\ version\ required\:= !No\ page\ scaling\ in\ print\ dialog= !Viewer\ layout\:= !Viewer\ open\ mode\:= !Non\ fullscreen\ mode\:= !Direction\:= !Set\ options= !Set\ viewer\ options\ for\ selected\ files= !Left\ to\ right= !Right\ to\ left= !None= !Fullscreen= !Attachments= !Optional\ content\ group\ panel= !Document\ outline= !Thumbnail\ images= !One\ page\ at\ a\ time= !Pages\ in\ one\ column= !Pages\ in\ two\ columns\ (odd\ on\ the\ left)= !Pages\ in\ two\ columns\ (odd\ on\ the\ right)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ left)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ right)= !Viewer\ options= !Viewer\ options\ section\ loaded.= Save\ passwords\ informations\ (they\ will\ be\ readable\ opening\ the\ output\ file)?=\u4fdd\u5b58\u5bc6\u7801\u4fe1\u606f\uff1f\uff08\u8fd9\u4e9b\u4fe1\u606f\u80fd\u5728\u8f93\u51fa\u6587\u4ef6\u4e2d\u67e5\u770b\uff09 Confirm\ password\ saving=\u786e\u8ba4\u4fdd\u5b58\u5bc6\u7801 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:233 Unknown\ action.=\u672a\u77e5\u64cd\u4f5c\u3002 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:253 Log\ saved.=\u65e5\u5fd7\u5df2\u4fdd\u5b58\u3002 \ node\ environment\ loaded.=\ \u8f7d\u5165\u7ed3\u70b9\u73af\u5883\u3002 Environment\ saved.=\u73af\u5883\u5df2\u4fdd\u5b58\u3002 Error\ saving\ environment,\ output\ file\ is\ null.=\u73af\u5883\u4fdd\u5b58\u51fa\u9519\uff0c\u8f93\u51fa\u6587\u4ef6\u4e3a\u7a7a\u3002 Error\ saving\ environment.=\u4fdd\u5b58\u73af\u5883\u51fa\u9519\u3002 Environment\ loaded.=\u5df2\u7ecf\u8f7d\u5165\u73af\u5883\u3002 Error\ loading\ environment.=\u8f7d\u5165\u73af\u5883\u51fa\u9519\u3002 Error\ loading\ environment\ from\ input\ file.\ =\u4ece\u8f93\u5165\u6587\u4ef6\u8f7d\u5165\u73af\u5883\u65f6\u51fa\u9519\u3002 Selection\ table\ is\ full,\ please\ remove\ some\ pdf\ document.=\u5907\u9009\u8868\u5df2\u6ee1\uff0c\u8bf7\u5220\u9664\u4e00\u4e9b pdf \u6587\u6863 Table\ full=\u5907\u9009\u8868\u5df2\u6ee1 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:252 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:869 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:245 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:851 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:248 Please\ wait\ while\ reading=\u8bf7\u7a0d\u5019\u3002\u6b63\u5728\u8bfb\u53d6 Selected\ file\ is\ not\ a\ pdf\ document.=\u9009\u62e9\u7684\u6587\u4ef6\u4e0d\u662f PDF \u6587\u6863\u3002 Error\ loading\ =\u8f7d\u5165\u73af\u51fa\u9519 Command\ validation\ returned\ an\ empty\ value.=\u547d\u4ee4\u9a8c\u8bc1\u8fd4\u56de\u4e00\u4e2a\u7a7a\u503c\u3002 Command\ executed.=\u547d\u4ee4\u5df2\u6267\u884c\u3002 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:180 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:178 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:181 File\ name=\u6587\u4ef6\u540d !Number\ of\ pages= !File\ size= !Pdf\ version= !Encryption= !Not\ encrypted= !Permissions= !Title= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:118 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\GUI\InfoGUI.java:128 Author=\u4f5c\u8005 !Subject= !Producer= !Creator= !Creation\ date= !Modification\ date= !Keywords= !Document\ properties= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:55 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\GUI\MainGUI.java:217 File=\u6587\u4ef6 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\GUI\InfoGUI.java:150 Close=\u5173\u95ed # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:99 Copy=\u590d\u5236 !Error\ creating\ properties\ panel.= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:542 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:462 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:526 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:320 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:410 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:530 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:408 Run=\u8fd0\u884c # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:394 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:421 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:448 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:175 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:340 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:430 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:150 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:177 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:244 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:164 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:304 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:233 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:434 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:163 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:300 Browse=\u6d4f\u89c8 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:264 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:257 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:260 Add=\u6dfb\u52a0 Compress\ output\ file/files=\u538b\u7f29\u8f93\u51fa\u6587\u4ef6 Overwrite\ if\ already\ exists=\u8986\u76d6\u5df2\u7ecf\u5b58\u5728\u7684\u6587\u4ef6 Don't\ preserve\ file\ order\ (fast\ load)=\u4e0d\u4fdd\u7559\u6587\u4ef6\u987a\u5e8f\uff08\u5feb\u901f\u88c5\u8f7d\uff09 Output\ document\ pdf\ version\:=\u8f93\u51fa\u6587\u6863\u7684 PDF \u7248\u672c\uff1a !The\ cross\ reference\ table\ cantained\ some\ error\ and\ has\ been\ rebuilt= !The\ document\ has\ not\ been\ opened\ with\ the\ owner\ password.\ You\ must\ provide\ the\ owner\ password\ in\ order\ to\ manipulate\ the\ document= !An\ error\ occured\ while\ loading\ the\ document= Same\ as\ input\ document=\u548c\u8f93\u5165\u6587\u6863\u76f8\u540c # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:181 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:179 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:182 Path=\u8def\u5f84 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:182 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:180 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:183 Pages=\u9875\u6570 Password=\u53e3\u4ee4 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:118 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\GUI\InfoGUI.java:128 Version=\u7248\u672c # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:183 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:181 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:184 Page\ Selection=\u9875\u9762\u9009\u62e9 Total\ pages\ of\ the\ document=\u6587\u6863\u603b\u9875\u6570 Password\ to\ open\ the\ document\ (if\ needed)=\u6587\u6863\u5bc6\u7801\uff08\u5982\u679c\u9700\u8981\uff09 Pdf\ version\ of\ the\ document=\u6587\u6863\u7684 PDF \u7248\u672c\u53f7 !Double\ click\ to\ set\ pages\ you\ want\ to\ merge\ (ex\:\ 2\ or\ 5-23\ or\ 2,5-7,12-)= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:232 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:225 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:228 Add\ a\ pdf\ to\ the\ list=\u5411\u5217\u8868\u6dfb\u52a0 PDF \u6587\u4ef6 Remove\ a\ pdf\ from\ the\ list=\u4ece\u5217\u8868\u4e2d\u79fb\u9664 PDF \u6587\u4ef6 (Canc)=(\u53d6\u6d88) # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:273 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:317 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:266 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:311 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:269 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:314 Remove=\u79fb\u9664 Reload=\u91cd\u65b0\u8f7d\u5165 Error\:\ Unable\ to\ reload\ the\ selected\ file/s.=\u9519\u8bef\uff1a\u65e0\u6cd5\u8bfb\u53d6\u9009\u62e9\u7684\u6587\u4ef6\u3002 Unable\ to\ remove\ JList\ text\ =\u65e0\u6cd5\u5220\u9664 JList \u6587\u672c # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:596 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:646 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:585 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:635 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:596 File\ selected\:\ =\u9009\u62e9\u7684\u6587\u4ef6\uff1a File\ reloaded\:\ =\u91cd\u65b0\u8f7d\u5165\u7684\u6587\u4ef6\uff1a # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:273 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:320 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:276 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:323 Move\ Up=\u4e0a\u79fb # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:274 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:277 Move\ up\ selected\ pdf\ file=\u4e0a\u79fb\u9009\u62e9\u7684 PDF \u6587\u4ef6 (Alt+ArrowUp)=(Alt+\u5411\u4e0a\u952e) # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:282 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:329 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:285 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:332 Move\ Down=\u4e0b\u79fb # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:283 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:286 Move\ down\ selected\ pdf\ file=\u4e0b\u79fb\u9009\u62e9\u7684 PDF \u6587\u4ef6 (Alt+ArrowDown)=(Alt+\u5411\u4e0b\u952e) # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:284 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:294 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:105 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:297 Clear=\u6e05\u7a7a # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:295 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:298 Remove\ every\ pdf\ file\ from\ the\ merge\ list=\u4ece\u5408\u5e76\u5217\u8868\u79fb\u9664\u5168\u90e8 PDF \u6587\u4ef6 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:326 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:338 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:341 Set\ output\ file=\u8bbe\u7f6e\u8f93\u51fa\u6587\u4ef6 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:338 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:350 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:353 Error\:\ Unable\ to\ get\ the\ file\ path.=\u9519\u8bef\uff1a\u65e0\u6cd5\u83b7\u53d6\u6587\u4ef6\u8def\u5f84\u3002 Unable\ to\ get\ the\ default\ environment\ informations.=\u65e0\u6cd5\u83b7\u53d6\u9ed8\u8ba4\u73af\u5883\u8bbe\u7f6e\u4fe1\u606f\u3002 Setting\ look\ and\ feel...=\u8bbe\u7f6e\u5916\u89c2\u548c\u611f\u89c9... Setting\ logging\ level...=\u8bbe\u7f6e\u65e5\u5fd7\u7ea7\u522b ... Unable\ to\ find\ log\ level,\ setting\ to\ default\ level\ (DEBUG).=\u65e0\u6cd5\u83b7\u53d6\u65e5\u5fd7\u7ea7\u522b\uff0c\u8bbe\u7f6e\u4e3a\u9ed8\u8ba4\u7ea7\u522b (DEBUG)\u3002 Logging\ level\ set\ to\ =\u65e5\u5fd7\u7ea7\u522b\u8bbe\u7f6e\u4e3a\uff1a Unable\ to\ set\ logging\ level.=\u65e0\u6cd5\u8bbe\u7f6e\u65e5\u5fd7\u7ea7\u522b\u3002 Error\ getting\ plugins\ directory.=\u83b7\u53d6\u63d2\u4ef6\u76ee\u5f55\u51fa\u9519\u3002 Cannot\ read\ plugins\ directory\ =\u65e0\u6cd5\u8bfb\u53d6\u63d2\u4ef6\u76ee\u5f55 Plugins\ directory\ is\ null.=\u63d2\u4ef6\u76ee\u5f55\u4e3a\u7a7a\u3002 Found\ zero\ or\ many\ jars\ in\ plugin\ directory\ =\u63d2\u4ef6\u76ee\u5f55\u4e2d\u7684 Jar \u4e0d\u552f\u4e00 Exception\ loading\ plugins.=\u6392\u9664\u63d2\u4ef6\u8f7d\u5165\u3002 Cannot\ read\ plugin\ directory\ =\u65e0\u6cd5\u8bfb\u53d6\u63d2\u4ef6\u76ee\u5f55 \ plugin\ loaded.=\ \u63d2\u4ef6\u5df2\u8f7d\u5165\u3002 Unable\ to\ load\ a\ plugin\ that\ is\ not\ JPanel\ subclass.=\u65e0\u6cd5\u52a0\u8f7d\u975e JPanel \u5b50\u7c7b\u522b\u7684\u63d2\u4ef6\u3002 Error\ loading\ class\ =\u52a0\u8f7d\u7c7b\u5931\u8d25 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:112 Select\ all=\u5168\u9009 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:117 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:121 Save\ log=\u4fdd\u5b58\u65e5\u5fd7 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:109 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:58 Save\ environment=\u4fdd\u5b58\u73af\u5883 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:113 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:64 Load\ environment=\u8f7d\u5165\u73af\u5883 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:125 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:70 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\GUI\MainGUI.java:237 Exit=\u9000\u51fa Unable\ to\ initialize\ menu\ bar.=\u672a\u80fd\u521d\u59cb\u5316\u83dc\u5355\u680f\u3002 started\ in\ =\u5f00\u59cb\u4e8e # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:188 Loading\ plugins..=\u8f7d\u5165\u63d2\u4ef6... # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:167 Building\ menus..=\u751f\u6210\u83dc\u5355... # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:173 Building\ buttons\ bar..=\u6784\u5efa\u6309\u94ae\u680f... # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:259 Building\ status\ bar..=\u6784\u5efa\u72b6\u6001\u680f... # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:231 Building\ tree..=\u6784\u5efa\u6811\u5f62\u56fe... Loading\ default\ environment.=\u52a0\u8f7d\u9ed8\u8ba4\u7684\u73af\u5883\u8bbe\u7f6e Error\ starting\ pdfsam.=\u542f\u52a8 pdfsam \u51fa\u9519\u3002 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:121 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\GUI\MainGUI.java:226 Clear\ log=\u6e05\u7a7a\u65e5\u5fd7 Unable\ to\ initialize\ button\ bar.=\u65e0\u6cd5\u521d\u59cb\u5316\u6309\u94ae\u680f\u3002 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 Version\:\ =\u7248\u672c\uff1a # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\GUI\InfoGUI.java:118 Language\:\ =\u8bed\u8a00\uff1a !Developed\ by\:\ = Build\ date\:\ =\u6784\u5efa\u65e5\u671f\: Java\ home\:\ =Java \u6839\u76ee\u5f55\uff1a Java\ version\:\ =Java \u7248\u672c\uff1a Max\ memory\:\ =\u6700\u5927\u5185\u5b58\uff1a Configuration\ file\:\ =\u914d\u7f6e\u6587\u4ef6\uff1a # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\GUI\InfoGUI.java:118 Website\:\ =\u7f51\u7ad9\uff1a # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:118 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\GUI\InfoGUI.java:128 Name=\u540d\u79f0 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\GUI\MainGUI.java:222 About=\u5173\u4e8e Unimplemented\ method\ for\ JInfoPanel=JInfoPanel \u672a\u5b9e\u73b0\u7684\u65b9\u6cd5 Contributes\:\ =\u8d21\u732e\uff1a # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:128 Log\ level\:=\u65e5\u5fd7\u7ea7\u522b\uff1a Settings=\u8bbe\u7f6e # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:119 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\panels\JSettingsPanel.java:110 Look\ and\ feel\:=\u5916\u89c2\u611f\u89c9\uff1a Theme\:=\u4e3b\u9898\: Language\:=\u8bed\u8a00\: Check\ for\ updates\:=\u68c0\u67e5\u66f4\u65b0\uff1a # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:131 Load\ default\ environment\ at\ startup\:=\u542f\u52a8\u65f6\u8f7d\u5165\u9ed8\u8ba4\u73af\u5883\uff1a Default\ working\ directory\:=\u9ed8\u8ba4\u5de5\u4f5c\u76ee\u5f55\uff1a Error\ getting\ default\ environment.=\u83b7\u53d6\u9ed8\u8ba4\u73af\u5883\u5931\u8d25. Check\ now=\u7acb\u5373\u68c0\u67e5 !Play\ alert\ sounds= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:223 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\panels\JSettingsPanel.java:181 Settings\ =\u8bbe\u7f6e # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:224 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\panels\JSettingsPanel.java:182 Language=\u8bed\u8a00 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:224 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\panels\JSettingsPanel.java:182 Set\ your\ preferred\ language\ (restart\ needed)=\u8bbe\u7f6e\u9996\u9009\u8bed\u8a00\uff08\u9700\u8981\u91cd\u65b0\u542f\u52a8\uff09 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:225 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\panels\JSettingsPanel.java:183 Look\ and\ feel=\u5916\u89c2\u611f\u89c9 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:225 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\panels\JSettingsPanel.java:183 Set\ your\ preferred\ look\ and\ feel\ and\ your\ preferred\ theme\ (restart\ needed)=\u8bbe\u7f6e\u9996\u9009\u5916\u89c2\u611f\u89c9\u548c\u9996\u9009\u4e3b\u9898\uff08\u9700\u8981\u91cd\u65b0\u542f\u52a8\uff09 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:226 Log\ level=\u65e5\u5fd7\u7ea7\u522b # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:226 Set\ a\ log\ detail\ level\ (restart\ needed)=\u8bbe\u7f6e\u65e5\u671f\u8be6\u7ec6\u7ea7\u522b\uff08\u9700\u8981\u91cd\u65b0\u542f\u52a8\uff09 Check\ for\ updates=\u68c0\u67e5\u66f4\u65b0 Set\ when\ new\ version\ availability\ should\ be\ checked\ (restart\ needed)=\u8bbe\u7f6e\u662f\u5426\u68c0\u6d4b\u66f4\u65b0\uff08\u9700\u8981\u91cd\u542f\uff09 !Turn\ on\ or\ off\ alert\ sounds= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:227 Default\ env.=\u9ed8\u8ba4\u73af\u5883\u3002 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:227 Select\ a\ previously\ saved\ env.\ file\ that\ will\ be\ automatically\ loaded\ at\ startup=\u9009\u62e9\u5148\u524d\u4fdd\u5b58\u7684\u73af\u5883\u6587\u4ef6\uff0c\u7adf\u4f1a\u5728\u542f\u52a8\u65f6\u81ea\u52a8\u8f7d\u5165\u3002 Default\ working\ directory=\u9ed8\u8ba4\u5de5\u4f5c\u76ee\u5f55 Select\ a\ directory\ where\ documents\ will\ be\ saved\ and\ loaded\ by\ default=\u8bbe\u7f6e\u9ed8\u8ba4\u7684\u6587\u6863\u4fdd\u5b58\u548c\u52a0\u8f7d\u8def\u5f84 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:257 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:241 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\panels\JSettingsPanel.java:190 Save=\u4fdd\u5b58 Configuration\ saved.=\u914d\u7f6e\u5df2\u4fdd\u5b58\u3002 Unimplemented\ method\ for\ JSettingsPanel=JSettingsPanel \u672a\u5b9e\u73b0\u7684\u65b9\u6cd5 New\ version\ available\:\ =\u65b0\u7248\u672c\u53ef\u7528\uff1a Plugins=\u63d2\u4ef6 Error\ getting\ pdf\ version\ description.=\u83b7\u53d6 PDF \u7248\u672c\u63cf\u8ff0\u5931\u8d25\u3002 Version\ 1.2\ (Acrobat\ 3)=1.2 \u7248 (Acrobat 3) Version\ 1.3\ (Acrobat\ 4)=1.3 \u7248 (Acrobat 4) Version\ 1.4\ (Acrobat\ 5)=1.4 \u7248 (Acrobat 5) Version\ 1.5\ (Acrobat\ 6)=1.5 \u7248 (Acrobat 5) Version\ 1.6\ (Acrobat\ 7)=1.6 \u7248 (Acrobat 7) Version\ 1.7\ (Acrobat\ 8)=1.7 \u7248 (Acrobat 8) Never=\u4ece\u4e0d pdfsam\ start\ up=pdfsam \u5f00\u59cb\u8fd0\u884c Output\ file\ location\ is\ not\ correct=\u8f93\u51fa\u6587\u4ef6\u4f4d\u7f6e\u9519\u8bef Would\ you\ like\ to\ change\ it\ to=\u4f60\u662f\u5426\u5e0c\u671b\u66f4\u6539\u4e3a Output\ location\ error=\u8f93\u51fa\u4f4d\u7f6e\u9519\u8bef !Selected\ output\ file\ already\ exists\ = !Would\ you\ like\ to\ overwrite\ it?= !Provided\ pages\ selection\ is\ not\ valid= !Limits\ must\ be\ a\ comma\ separated\ list\ of\ "page_number"\ or\ "page_number-page_number"= !Limits\ are\ not\ valid= Checking\ for\ a\ new\ version\ available.=\u68c0\u67e5\u65b0\u7684\u7248\u672c\u3002 Error\ checking\ for\ a\ new\ version\ available.=\u67e5\u627e\u66f4\u65b0\u51fa\u9519\u3002 Unable\ to\ get\ latest\ available\ version=\u65e0\u6cd5\u83b7\u53d6\u6700\u65b0\u7248\u672c New\ version\ available.=\u68c0\u67e5\u5230\u65b0\u7248\u672c\u3002 No\ new\ version\ available.=\u6ca1\u6709\u68c0\u6d4b\u5230\u65b0\u7684\u7248\u672c\u3002 !Cut= !Paste= pdfsam-1.1.4/pdfsam-langpack-br1/src/java/org/pdfsam/i18n/resources/Messages_fa.properties0000644000175000017500000003274111225342444031344 0ustar twernertwerner# Persian translation for pdfsam # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the pdfsam package. # FIRST AUTHOR , 2008. # !=Project-Id-Version\: pdfsam\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2009-07-09 12\:23+0200\nPO-Revision-Date\: 2008-06-26 22\:02+0000\nLast-Translator\: iqson716 \nLanguage-Team\: Persian \nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Launchpad-Export-Date\: 2008-08-17 09\:24+0000\nX-Generator\: Launchpad (build Unknown)\n #, fuzzy !Merge\ options=\u062a\u0631\u06a9\u06cc\u0628 \u0627\u062e\u062a\u06cc\u0627\u0631\u0627\u062a PDF\ documents\ contain\ forms=\u0627\u0633\u0646\u0627\u062f PDF \u0645\u062d\u062a\u0648\u06cc \u0641\u0631\u0645 \u0647\u0627 Merge\ type=\u0646\u0648\u0639 \u062a\u0631\u06a9\u06cc\u0628 \u06a9\u0631\u062f\u0646 Unchecked=\u0639\u0644\u0627\u0645\u062a\u200c\u0632\u062f\u0647 \u0646\u0634\u062f\u0647 Use\ this\ merge\ type\ for\ standard\ pdf\ documents=\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0631\u062f\u0646 \u0627\u0632 \u0627\u06cc\u0646 \u0646\u0648\u0639 \u062a\u0631\u06a9\u06cc\u0628 \u0628\u0631\u0627\u06cc \u0627\u0633\u0646\u0627\u062f PDF \u0627\u0633\u062a\u0627\u0646\u062f\u0627\u0631\u062f Checked=\u0639\u0644\u0627\u0645\u062a \u0632\u062f\u0647 \u0634\u062f\u0647 Use\ this\ merge\ type\ for\ pdf\ documents\ containing\ forms=\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0631\u062f\u0646 \u0627\u0632 \u0627\u06cc\u0646 \u0646\u0648\u0639 \u062a\u0631\u06a9\u06cc\u0628 \u0628\u0631\u0627\u06cc \u0627\u0633\u0646\u0627\u062f PDF \u0645\u062d\u062a\u0648\u06cc \u0641\u0631\u0645 Note=\u06cc\u0627\u062f\u062f\u0627\u0634\u062a !Setting\ this\ option\ the\ documents\ will\ be\ completely\ loaded\ in\ memory= Destination\ output\ file=\u0645\u0642\u0635\u062f \u0641\u0627\u06cc\u0644 \u062e\u0631\u0648\u062c\u06cc Error\:\ =\u062e\u0637\u0627\: Browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ file.=\u062c\u0633\u062a\u062c\u0648 \u06a9\u0631\u062f\u0646 \u06cc\u0627 \u0648\u0627\u0631\u062f \u06a9\u0631\u062f\u0646 \u0645\u0633\u06cc\u0631 \u06a9\u0627\u0645\u0644 \u0641\u0627\u06cc\u0644 \u0628\u0631\u0627\u06cc \u0645\u0642\u0635\u062f \u0641\u0627\u06cc\u0644 \u062e\u0631\u0648\u062c\u06cc. !Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ file\ if\ it\ already\ exists.= !Check\ the\ box\ if\ you\ want\ compressed\ output\ files.= PDF\ version\ 1.5\ or\ above.=PDF \u0648\u06cc\u0631\u0627\u06cc\u0634 1.5 \u06cc\u0627 \u0628\u0627\u0644\u0627\u062a\u0631. !Set\ the\ pdf\ version\ of\ the\ ouput\ document.= !Please\ wait\ while\ all\ files\ are\ processed..= !Found\ a\ password\ for\ input\ file.= !Please\ select\ at\ least\ one\ pdf\ document.= !Warning= !Execute\ pdf\ merge= !Merge/Extract= !Merge\ section\ loaded.= !Export\ as\ xml= !Unable\ to\ save\ xml\ file.= !Ok= !File\ xml\ saved.= !Error\ saving\ xml\ file,\ output\ file\ is\ null.= !Split\ options= !Burst\ (split\ into\ single\ pages)= !Split\ every\ "n"\ pages= !Split\ even\ pages= !Split\ odd\ pages= !Split\ after\ these\ pages= !Split\ at\ this\ size= !Split\ by\ bookmarks\ level= !Burst= !Explode\ the\ pdf\ document\ into\ single\ pages= !Split\ the\ document\ every\ "n"\ pages= !Split\ the\ document\ every\ even\ page= !Split\ the\ document\ every\ odd\ page= !Split\ the\ document\ after\ page\ numbers\ (num1-num2-num3..)= !Split\ the\ document\ in\ files\ of\ the\ given\ size\ (roughly)= !Split\ the\ document\ at\ pages\ referred\ by\ bookmarks\ of\ the\ given\ level= #, fuzzy !Destination\ folder=\u067e\u0648\u0634\u0647\u200c\u06cc \u0645\u0642\u0635\u062f\: !Same\ as\ source= Choose\ a\ folder=\u0627\u0646\u062a\u062e\u0627\u0628 \u067e\u0648\u0634\u0647 !Destination\ output\ directory= !Use\ the\ same\ output\ folder\ as\ the\ input\ file\ or\ choose\ a\ folder.= !To\ choose\ a\ folder\ browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ directory.= !Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ files\ if\ they\ already\ exist.= !Output\ options= !Output\ file\ names\ prefix\:= !Output\ files\ prefix= !If\ it\ contains\ "[CURRENTPAGE]",\ "[TIMESTAMP]",\ "[FILENUMBER]"\ or\ "[BOOKMARK_NAME]"\ it\ performs\ variable\ substitution.= !Ex.\ prefix_[BASENAME]_[CURRENTPAGE]\ generates\ prefix_FileName_005.pdf.= !If\ it\ doesn't\ contain\ "[CURRENTPAGE]",\ "[TIMESTAMP]"\ or\ "[FILENUMBER]"\ it\ generates\ oldstyle\ output\ file\ names.= !Available\ variables= !Invalid\ split\ size= !The\ lowest\ available\ pdf\ version\ is\ = !You\ selected\ a\ lower\ output\ pdf\ version,\ continue\ anyway\ ?= !Pdf\ version\ conflict= !Please\ select\ a\ pdf\ document.= !Split\ selected\ file= Split=\u062a\u0641\u06a9\u06cc\u06a9 !Split\ section\ loaded.= !Invalid\ unit\:\ = !Fill\ from\ document= !Getting\ bookmarks\ max\ depth= !Frontpage\ pdf\ file= !Addendum\ pdf\ file= !Select\ at\ least\ one\ cover\ or\ one\ footer= !Frontpage\ and\ Addendum= !Cover\ And\ Footer\ section\ loaded.= #, fuzzy !Encrypt\ options=\u062a\u0631\u06a9\u06cc\u0628 \u0627\u062e\u062a\u06cc\u0627\u0631\u0627\u062a !Owner\ password\:= !Owner\ password\ (Max\ 32\ chars\ long)= !User\ password\:= !User\ password\ (Max\ 32\ chars\ long)= !Encryption\ algorithm\:= !Allow\ all= Print=\u0686\u0627\u067e Low\ quality\ print=\u0686\u0627\u067e \u0628\u0627 \u06a9\u06cc\u0641\u06cc\u062a \u067e\u0627\u06cc\u06cc\u0646 !Copy\ or\ extract= Modify=\u062a\u063a\u06cc\u06cc\u0631 !Add\ or\ modify\ text\ annotations= !Fill\ form\ fields= !Extract\ for\ use\ by\ accessibility\ dev.= !Manipulate\ pages\ and\ add\ bookmarks= !Check\ the\ box\ if\ you\ want\ compressed\ output\ files\ (Pdf\ version\ 1.5\ or\ higher).= !If\ it\ contains\ "[TIMESTAMP]"\ it\ performs\ variable\ substitution.= !Ex.\ [BASENAME]_prefix_[TIMESTAMP]\ generates\ FileName_prefix_20070517_113423471.pdf.= !If\ it\ doesn't\ contain\ "[TIMESTAMP]"\ it\ generates\ oldstyle\ output\ file\ names.= !Available\ variables\:\ [TIMESTAMP],\ [BASENAME].= !Encrypt\ selected\ files= !Encrypt= !Encrypt\ section\ loaded.= !Decrypt\ selected\ files= !Decrypt= !Decrypt\ section\ loaded.= #, fuzzy !Mix\ options=\u062a\u0631\u06a9\u06cc\u0628 \u0627\u062e\u062a\u06cc\u0627\u0631\u0627\u062a !Reverse\ first\ document= !Reverse\ second\ document= !Number\ of\ pages\ to\ switch\ document= !Tick\ the\ boxes\ if\ you\ want\ to\ reverse\ the\ first\ or\ the\ second\ document\ (or\ both).= !Set\ the\ number\ of\ pages\ to\ switch\ from\ a\ document\ to\ the\ other\ one\ (default\ is\ 1).= !Found\ a\ password\ for\ first\ file.= !Found\ a\ password\ for\ second\ file.= !Please\ select\ two\ pdf\ documents.= !Execute\ pdf\ alternate\ mix= !Alternate\ Mix= !AlternateMix\ section\ loaded.= !Unpack\ selected\ files= !Unpack= !Unpack\ section\ loaded.= #, fuzzy !Set\ viewer\ options=\u062a\u0631\u06a9\u06cc\u0628 \u0627\u062e\u062a\u06cc\u0627\u0631\u0627\u062a !Hide\ the\ menubar= !Hide\ the\ toolbar= !Hide\ user\ interface\ elements= !Rezise\ the\ window\ to\ fit\ the\ page\ size= !Center\ of\ the\ screen= !Display\ document\ title\ as\ window\ title= !Pdf\ version\ required\:= !No\ page\ scaling\ in\ print\ dialog= !Viewer\ layout\:= !Viewer\ open\ mode\:= !Non\ fullscreen\ mode\:= !Direction\:= #, fuzzy !Set\ options=\u062a\u0631\u06a9\u06cc\u0628 \u0627\u062e\u062a\u06cc\u0627\u0631\u0627\u062a !Set\ viewer\ options\ for\ selected\ files= !Left\ to\ right= !Right\ to\ left= #, fuzzy !None=\u06cc\u0627\u062f\u062f\u0627\u0634\u062a !Fullscreen= !Attachments= !Optional\ content\ group\ panel= #, fuzzy !Document\ outline=\u0627\u0633\u0646\u0627\u062f PDF \u0645\u062d\u062a\u0648\u06cc \u0641\u0631\u0645 \u0647\u0627 !Thumbnail\ images= !One\ page\ at\ a\ time= !Pages\ in\ one\ column= !Pages\ in\ two\ columns\ (odd\ on\ the\ left)= !Pages\ in\ two\ columns\ (odd\ on\ the\ right)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ left)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ right)= #, fuzzy !Viewer\ options=\u062a\u0631\u06a9\u06cc\u0628 \u0627\u062e\u062a\u06cc\u0627\u0631\u0627\u062a !Viewer\ options\ section\ loaded.= !Save\ passwords\ informations\ (they\ will\ be\ readable\ opening\ the\ output\ file)?= !Confirm\ password\ saving= !Unknown\ action.= !Log\ saved.= !\ node\ environment\ loaded.= !Environment\ saved.= !Error\ saving\ environment,\ output\ file\ is\ null.= !Error\ saving\ environment.= !Environment\ loaded.= !Error\ loading\ environment.= !Error\ loading\ environment\ from\ input\ file.\ = !Selection\ table\ is\ full,\ please\ remove\ some\ pdf\ document.= !Table\ full= !Please\ wait\ while\ reading= !Selected\ file\ is\ not\ a\ pdf\ document.= !Error\ loading\ = !Command\ validation\ returned\ an\ empty\ value.= !Command\ executed.= !File\ name= !Number\ of\ pages= !File\ size= !Pdf\ version= !Encryption= !Not\ encrypted= !Permissions= !Title= !Author= !Subject= !Producer= !Creator= !Creation\ date= !Modification\ date= !Keywords= !Document\ properties= !File= !Close= !Copy= !Error\ creating\ properties\ panel.= !Run= !Browse= !Add= !Compress\ output\ file/files= Overwrite\ if\ already\ exists=\u062c\u0627 \u0646\u0648\u06cc\u0633\u06cc \u0627\u06af\u0631 \u0627\u0632 \u067e\u06cc\u0634 \u0645\u0648\u062c\u0648\u062f \u0628\u0648\u062f !Don't\ preserve\ file\ order\ (fast\ load)= !Output\ document\ pdf\ version\:= !The\ cross\ reference\ table\ cantained\ some\ error\ and\ has\ been\ rebuilt= !The\ document\ has\ not\ been\ opened\ with\ the\ owner\ password.\ You\ must\ provide\ the\ owner\ password\ in\ order\ to\ manipulate\ the\ document= !An\ error\ occured\ while\ loading\ the\ document= !Same\ as\ input\ document= !Path= !Pages= !Password= !Version= !Page\ Selection= !Total\ pages\ of\ the\ document= !Password\ to\ open\ the\ document\ (if\ needed)= !Pdf\ version\ of\ the\ document= !Double\ click\ to\ set\ pages\ you\ want\ to\ merge\ (ex\:\ 2\ or\ 5-23\ or\ 2,5-7,12-)= !Add\ a\ pdf\ to\ the\ list= !Remove\ a\ pdf\ from\ the\ list= !(Canc)= !Remove= !Reload= !Error\:\ Unable\ to\ reload\ the\ selected\ file/s.= !Unable\ to\ remove\ JList\ text\ = !File\ selected\:\ = !File\ reloaded\:\ = !Move\ Up= !Move\ up\ selected\ pdf\ file= !(Alt+ArrowUp)= !Move\ Down= !Move\ down\ selected\ pdf\ file= !(Alt+ArrowDown)= !Clear= !Remove\ every\ pdf\ file\ from\ the\ merge\ list= !Set\ output\ file= !Error\:\ Unable\ to\ get\ the\ file\ path.= !Unable\ to\ get\ the\ default\ environment\ informations.= !Setting\ look\ and\ feel...= !Setting\ logging\ level...= !Unable\ to\ find\ log\ level,\ setting\ to\ default\ level\ (DEBUG).= !Logging\ level\ set\ to\ = !Unable\ to\ set\ logging\ level.= !Error\ getting\ plugins\ directory.= !Cannot\ read\ plugins\ directory\ = !Plugins\ directory\ is\ null.= !Found\ zero\ or\ many\ jars\ in\ plugin\ directory\ = !Exception\ loading\ plugins.= !Cannot\ read\ plugin\ directory\ = !\ plugin\ loaded.= !Unable\ to\ load\ a\ plugin\ that\ is\ not\ JPanel\ subclass.= !Error\ loading\ class\ = !Select\ all= !Save\ log= !Save\ environment= !Load\ environment= !Exit= !Unable\ to\ initialize\ menu\ bar.= !started\ in\ = !Loading\ plugins..= !Building\ menus..= !Building\ buttons\ bar..= !Building\ status\ bar..= !Building\ tree..= !Loading\ default\ environment.= !Error\ starting\ pdfsam.= !Clear\ log= !Unable\ to\ initialize\ button\ bar.= !Version\:\ = !Language\:\ = !Developed\ by\:\ = !Build\ date\:\ = !Java\ home\:\ = !Java\ version\:\ = !Max\ memory\:\ = !Configuration\ file\:\ = !Website\:\ = !Name= !About= !Unimplemented\ method\ for\ JInfoPanel= !Contributes\:\ = !Log\ level\:= !Settings= !Look\ and\ feel\:= !Theme\:= !Language\:= !Check\ for\ updates\:= !Load\ default\ environment\ at\ startup\:= !Default\ working\ directory\:= !Error\ getting\ default\ environment.= !Check\ now= !Play\ alert\ sounds= !Settings\ = !Language= !Set\ your\ preferred\ language\ (restart\ needed)= !Look\ and\ feel= !Set\ your\ preferred\ look\ and\ feel\ and\ your\ preferred\ theme\ (restart\ needed)= !Log\ level= !Set\ a\ log\ detail\ level\ (restart\ needed)= !Check\ for\ updates= !Set\ when\ new\ version\ availability\ should\ be\ checked\ (restart\ needed)= !Turn\ on\ or\ off\ alert\ sounds= !Default\ env.= !Select\ a\ previously\ saved\ env.\ file\ that\ will\ be\ automatically\ loaded\ at\ startup= !Default\ working\ directory= !Select\ a\ directory\ where\ documents\ will\ be\ saved\ and\ loaded\ by\ default= !Save= !Configuration\ saved.= !Unimplemented\ method\ for\ JSettingsPanel= !New\ version\ available\:\ = !Plugins= !Error\ getting\ pdf\ version\ description.= !Version\ 1.2\ (Acrobat\ 3)= !Version\ 1.3\ (Acrobat\ 4)= !Version\ 1.4\ (Acrobat\ 5)= !Version\ 1.5\ (Acrobat\ 6)= !Version\ 1.6\ (Acrobat\ 7)= !Version\ 1.7\ (Acrobat\ 8)= !Never= !pdfsam\ start\ up= !Output\ file\ location\ is\ not\ correct= !Would\ you\ like\ to\ change\ it\ to= !Output\ location\ error= !Selected\ output\ file\ already\ exists\ = !Would\ you\ like\ to\ overwrite\ it?= !Provided\ pages\ selection\ is\ not\ valid= !Limits\ must\ be\ a\ comma\ separated\ list\ of\ "page_number"\ or\ "page_number-page_number"= !Limits\ are\ not\ valid= !Checking\ for\ a\ new\ version\ available.= !Error\ checking\ for\ a\ new\ version\ available.= !Unable\ to\ get\ latest\ available\ version= !New\ version\ available.= !No\ new\ version\ available.= !Cut= !Paste= pdfsam-1.1.4/pdfsam-langpack-br1/src/java/org/pdfsam/i18n/resources/Messages_zh_HK.properties0000644000175000017500000003131111225342444031751 0ustar twernertwerner# Chinese (Hong Kong) translation for pdfsam # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the pdfsam package. # FIRST AUTHOR , 2008. # !=Project-Id-Version\: pdfsam\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2009-07-09 12\:23+0200\nPO-Revision-Date\: 2008-04-01 10\:20+0000\nLast-Translator\: egg8383 \nLanguage-Team\: Chinese (Hong Kong) \nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Launchpad-Export-Date\: 2008-06-21 08\:12+0000\nX-Generator\: Launchpad (build Unknown)\n #, fuzzy !Merge\ options=\u5408\u62fc\u9078\u9805 PDF\ documents\ contain\ forms=PDF \u6587\u4ef6\u5305\u542b\u5f62\u5f0f Merge\ type=\u5408\u62fc\u7a2e\u985e Unchecked=\u672a\u8986\u6838 Use\ this\ merge\ type\ for\ standard\ pdf\ documents=\u4f7f\u7528\u9019\u5408\u62fc\u7a2e\u985e\u5728\u6a19\u6e96pdf\u6587\u4ef6 Checked=\u5df1\u8986\u6838 Use\ this\ merge\ type\ for\ pdf\ documents\ containing\ forms=\u4f7f\u7528\u9019\u5408\u62fc\u7a2e\u985e\u5728pdf\u6587\u4ef6\u5305\u542b\u5f62\u5f0f Note=\u5099\u8a3b Setting\ this\ option\ the\ documents\ will\ be\ completely\ loaded\ in\ memory=\u8a2d\u5b9a\u9019\u9078\u9805\u6587\u4ef6\u5c07\u88ab\u5b8c\u5168\u5730\u8f09\u5165\u8a18\u61b6\u9ad4 Destination\ output\ file=\u76ee\u6a19\u8f38\u51fa\u6a94\u6848 Error\:\ =\u932f\u8aa4\uff1a Browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ file.=\u700f\u89a7\u6216\u9032\u5165\u5168\u8def\u5f91\u8f38\u51fa\u6a94\u6848 Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ file\ if\ it\ already\ exists.=\u8986\u6838\u65b9\u683c\u5982\u4f60\u60f3\u8981\u8986\u5beb\u8f38\u51fa\u6a94\u6848\u5982\u5b83\u5df1\u7d93\u5b58\u5728 Check\ the\ box\ if\ you\ want\ compressed\ output\ files.=\u8986\u6838\u65b9\u683c\u5982\u4f60\u60f3\u8981\u58d3\u7e2e\u8f38\u51fa\u6a94\u6848 PDF\ version\ 1.5\ or\ above.=PDF\u7248\u672c1.5\u6216\u4ee5\u4e0a Set\ the\ pdf\ version\ of\ the\ ouput\ document.=\u8a2d\u5b9apdf\u8f38\u51fa\u6587\u4ef6\u7248\u672c Please\ wait\ while\ all\ files\ are\ processed..=\u8acb\u7b49\u5f85\u6240\u6709\u6a94\u6848\u8655\u7406 Found\ a\ password\ for\ input\ file.=\u627e\u5230\u4e00\u500b\u8f38\u5165\u6a94\u6848\u5bc6\u78bc !Please\ select\ at\ least\ one\ pdf\ document.= !Warning= Execute\ pdf\ merge=\u57f7\u884cpdf\u5408\u62fc Merge/Extract=\u5408\u62fc/\u89e3\u958b Merge\ section\ loaded.=\u5408\u62fc\u90e8\u4efd\u5df1\u8f09\u5165 !Export\ as\ xml= !Unable\ to\ save\ xml\ file.= !Ok= !File\ xml\ saved.= !Error\ saving\ xml\ file,\ output\ file\ is\ null.= Split\ options=\u5206\u96e2\u9078\u9805 Burst\ (split\ into\ single\ pages)=\u7206\u958b(\u5206\u96e2\u5728\u55ae\u9801) Split\ every\ "n"\ pages=\u5206\u96e2\u6bcf\u4e00"n"\u9801 Split\ even\ pages=\u5206\u96e2\u5e73\u5747\u9801 Split\ odd\ pages=\u5206\u96e2\u55ae\u9801 Split\ after\ these\ pages=\u5206\u96e2\u6b64\u9801\u5f8c Split\ at\ this\ size=\u5206\u96e2\u5728\u9019\u5c3a\u540b !Split\ by\ bookmarks\ level= !Burst= !Explode\ the\ pdf\ document\ into\ single\ pages= !Split\ the\ document\ every\ "n"\ pages= !Split\ the\ document\ every\ even\ page= !Split\ the\ document\ every\ odd\ page= !Split\ the\ document\ after\ page\ numbers\ (num1-num2-num3..)= !Split\ the\ document\ in\ files\ of\ the\ given\ size\ (roughly)= !Split\ the\ document\ at\ pages\ referred\ by\ bookmarks\ of\ the\ given\ level= #, fuzzy !Destination\ folder=\u76ee\u6a19\u8f38\u51fa\u6a94\u6848 !Same\ as\ source= !Choose\ a\ folder= !Destination\ output\ directory= !Use\ the\ same\ output\ folder\ as\ the\ input\ file\ or\ choose\ a\ folder.= !To\ choose\ a\ folder\ browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ directory.= !Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ files\ if\ they\ already\ exist.= #, fuzzy !Output\ options=\u5206\u96e2\u9078\u9805 !Output\ file\ names\ prefix\:= !Output\ files\ prefix= !If\ it\ contains\ "[CURRENTPAGE]",\ "[TIMESTAMP]",\ "[FILENUMBER]"\ or\ "[BOOKMARK_NAME]"\ it\ performs\ variable\ substitution.= !Ex.\ prefix_[BASENAME]_[CURRENTPAGE]\ generates\ prefix_FileName_005.pdf.= !If\ it\ doesn't\ contain\ "[CURRENTPAGE]",\ "[TIMESTAMP]"\ or\ "[FILENUMBER]"\ it\ generates\ oldstyle\ output\ file\ names.= !Available\ variables= !Invalid\ split\ size= !The\ lowest\ available\ pdf\ version\ is\ = !You\ selected\ a\ lower\ output\ pdf\ version,\ continue\ anyway\ ?= !Pdf\ version\ conflict= !Please\ select\ a\ pdf\ document.= !Split\ selected\ file= !Split= !Split\ section\ loaded.= !Invalid\ unit\:\ = !Fill\ from\ document= !Getting\ bookmarks\ max\ depth= !Frontpage\ pdf\ file= !Addendum\ pdf\ file= !Select\ at\ least\ one\ cover\ or\ one\ footer= !Frontpage\ and\ Addendum= !Cover\ And\ Footer\ section\ loaded.= #, fuzzy !Encrypt\ options=\u5206\u96e2\u9078\u9805 !Owner\ password\:= !Owner\ password\ (Max\ 32\ chars\ long)= !User\ password\:= !User\ password\ (Max\ 32\ chars\ long)= !Encryption\ algorithm\:= !Allow\ all= !Print= !Low\ quality\ print= !Copy\ or\ extract= !Modify= !Add\ or\ modify\ text\ annotations= !Fill\ form\ fields= !Extract\ for\ use\ by\ accessibility\ dev.= !Manipulate\ pages\ and\ add\ bookmarks= !Check\ the\ box\ if\ you\ want\ compressed\ output\ files\ (Pdf\ version\ 1.5\ or\ higher).= !If\ it\ contains\ "[TIMESTAMP]"\ it\ performs\ variable\ substitution.= !Ex.\ [BASENAME]_prefix_[TIMESTAMP]\ generates\ FileName_prefix_20070517_113423471.pdf.= !If\ it\ doesn't\ contain\ "[TIMESTAMP]"\ it\ generates\ oldstyle\ output\ file\ names.= !Available\ variables\:\ [TIMESTAMP],\ [BASENAME].= !Encrypt\ selected\ files= !Encrypt= !Encrypt\ section\ loaded.= !Decrypt\ selected\ files= !Decrypt= #, fuzzy !Decrypt\ section\ loaded.=\u5408\u62fc\u90e8\u4efd\u5df1\u8f09\u5165 #, fuzzy !Mix\ options=\u5206\u96e2\u9078\u9805 !Reverse\ first\ document= !Reverse\ second\ document= !Number\ of\ pages\ to\ switch\ document= !Tick\ the\ boxes\ if\ you\ want\ to\ reverse\ the\ first\ or\ the\ second\ document\ (or\ both).= !Set\ the\ number\ of\ pages\ to\ switch\ from\ a\ document\ to\ the\ other\ one\ (default\ is\ 1).= !Found\ a\ password\ for\ first\ file.= !Found\ a\ password\ for\ second\ file.= !Please\ select\ two\ pdf\ documents.= !Execute\ pdf\ alternate\ mix= !Alternate\ Mix= !AlternateMix\ section\ loaded.= !Unpack\ selected\ files= !Unpack= !Unpack\ section\ loaded.= #, fuzzy !Set\ viewer\ options=\u5206\u96e2\u9078\u9805 !Hide\ the\ menubar= !Hide\ the\ toolbar= !Hide\ user\ interface\ elements= !Rezise\ the\ window\ to\ fit\ the\ page\ size= !Center\ of\ the\ screen= !Display\ document\ title\ as\ window\ title= !Pdf\ version\ required\:= !No\ page\ scaling\ in\ print\ dialog= !Viewer\ layout\:= !Viewer\ open\ mode\:= !Non\ fullscreen\ mode\:= !Direction\:= #, fuzzy !Set\ options=\u5206\u96e2\u9078\u9805 !Set\ viewer\ options\ for\ selected\ files= !Left\ to\ right= !Right\ to\ left= #, fuzzy !None=\u5099\u8a3b !Fullscreen= !Attachments= !Optional\ content\ group\ panel= #, fuzzy !Document\ outline=PDF \u6587\u4ef6\u5305\u542b\u5f62\u5f0f !Thumbnail\ images= !One\ page\ at\ a\ time= !Pages\ in\ one\ column= !Pages\ in\ two\ columns\ (odd\ on\ the\ left)= !Pages\ in\ two\ columns\ (odd\ on\ the\ right)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ left)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ right)= #, fuzzy !Viewer\ options=\u5408\u62fc\u9078\u9805 #, fuzzy !Viewer\ options\ section\ loaded.=\u5408\u62fc\u90e8\u4efd\u5df1\u8f09\u5165 !Save\ passwords\ informations\ (they\ will\ be\ readable\ opening\ the\ output\ file)?= !Confirm\ password\ saving= !Unknown\ action.= !Log\ saved.= !\ node\ environment\ loaded.= !Environment\ saved.= !Error\ saving\ environment,\ output\ file\ is\ null.= !Error\ saving\ environment.= !Environment\ loaded.= !Error\ loading\ environment.= !Error\ loading\ environment\ from\ input\ file.\ = !Selection\ table\ is\ full,\ please\ remove\ some\ pdf\ document.= !Table\ full= !Please\ wait\ while\ reading= !Selected\ file\ is\ not\ a\ pdf\ document.= !Error\ loading\ = !Command\ validation\ returned\ an\ empty\ value.= !Command\ executed.= !File\ name= !Number\ of\ pages= !File\ size= !Pdf\ version= !Encryption= !Not\ encrypted= !Permissions= !Title= !Author= !Subject= !Producer= !Creator= !Creation\ date= !Modification\ date= !Keywords= !Document\ properties= !File= !Close= !Copy= !Error\ creating\ properties\ panel.= !Run= !Browse= !Add= !Compress\ output\ file/files= Overwrite\ if\ already\ exists=\u8986\u5beb\u5df1\u5b58\u5728\u7684 !Don't\ preserve\ file\ order\ (fast\ load)= !Output\ document\ pdf\ version\:= !The\ cross\ reference\ table\ cantained\ some\ error\ and\ has\ been\ rebuilt= !The\ document\ has\ not\ been\ opened\ with\ the\ owner\ password.\ You\ must\ provide\ the\ owner\ password\ in\ order\ to\ manipulate\ the\ document= !An\ error\ occured\ while\ loading\ the\ document= !Same\ as\ input\ document= !Path= !Pages= !Password= !Version= !Page\ Selection= !Total\ pages\ of\ the\ document= !Password\ to\ open\ the\ document\ (if\ needed)= !Pdf\ version\ of\ the\ document= !Double\ click\ to\ set\ pages\ you\ want\ to\ merge\ (ex\:\ 2\ or\ 5-23\ or\ 2,5-7,12-)= !Add\ a\ pdf\ to\ the\ list= !Remove\ a\ pdf\ from\ the\ list= !(Canc)= !Remove= !Reload= !Error\:\ Unable\ to\ reload\ the\ selected\ file/s.= !Unable\ to\ remove\ JList\ text\ = !File\ selected\:\ = !File\ reloaded\:\ = !Move\ Up= !Move\ up\ selected\ pdf\ file= !(Alt+ArrowUp)= !Move\ Down= !Move\ down\ selected\ pdf\ file= !(Alt+ArrowDown)= !Clear= !Remove\ every\ pdf\ file\ from\ the\ merge\ list= !Set\ output\ file= !Error\:\ Unable\ to\ get\ the\ file\ path.= !Unable\ to\ get\ the\ default\ environment\ informations.= !Setting\ look\ and\ feel...= !Setting\ logging\ level...= !Unable\ to\ find\ log\ level,\ setting\ to\ default\ level\ (DEBUG).= !Logging\ level\ set\ to\ = !Unable\ to\ set\ logging\ level.= !Error\ getting\ plugins\ directory.= !Cannot\ read\ plugins\ directory\ = !Plugins\ directory\ is\ null.= !Found\ zero\ or\ many\ jars\ in\ plugin\ directory\ = !Exception\ loading\ plugins.= !Cannot\ read\ plugin\ directory\ = !\ plugin\ loaded.= !Unable\ to\ load\ a\ plugin\ that\ is\ not\ JPanel\ subclass.= !Error\ loading\ class\ = !Select\ all= !Save\ log= !Save\ environment= !Load\ environment= !Exit= !Unable\ to\ initialize\ menu\ bar.= !started\ in\ = !Loading\ plugins..= !Building\ menus..= !Building\ buttons\ bar..= !Building\ status\ bar..= !Building\ tree..= !Loading\ default\ environment.= !Error\ starting\ pdfsam.= !Clear\ log= !Unable\ to\ initialize\ button\ bar.= !Version\:\ = !Language\:\ = !Developed\ by\:\ = !Build\ date\:\ = !Java\ home\:\ = !Java\ version\:\ = !Max\ memory\:\ = !Configuration\ file\:\ = !Website\:\ = !Name= !About= !Unimplemented\ method\ for\ JInfoPanel= !Contributes\:\ = !Log\ level\:= !Settings= !Look\ and\ feel\:= !Theme\:= !Language\:= !Check\ for\ updates\:= !Load\ default\ environment\ at\ startup\:= !Default\ working\ directory\:= !Error\ getting\ default\ environment.= !Check\ now= !Play\ alert\ sounds= !Settings\ = !Language= !Set\ your\ preferred\ language\ (restart\ needed)= !Look\ and\ feel= !Set\ your\ preferred\ look\ and\ feel\ and\ your\ preferred\ theme\ (restart\ needed)= !Log\ level= !Set\ a\ log\ detail\ level\ (restart\ needed)= !Check\ for\ updates= !Set\ when\ new\ version\ availability\ should\ be\ checked\ (restart\ needed)= !Turn\ on\ or\ off\ alert\ sounds= !Default\ env.= !Select\ a\ previously\ saved\ env.\ file\ that\ will\ be\ automatically\ loaded\ at\ startup= !Default\ working\ directory= !Select\ a\ directory\ where\ documents\ will\ be\ saved\ and\ loaded\ by\ default= !Save= !Configuration\ saved.= !Unimplemented\ method\ for\ JSettingsPanel= !New\ version\ available\:\ = !Plugins= !Error\ getting\ pdf\ version\ description.= !Version\ 1.2\ (Acrobat\ 3)= !Version\ 1.3\ (Acrobat\ 4)= !Version\ 1.4\ (Acrobat\ 5)= !Version\ 1.5\ (Acrobat\ 6)= !Version\ 1.6\ (Acrobat\ 7)= !Version\ 1.7\ (Acrobat\ 8)= !Never= !pdfsam\ start\ up= !Output\ file\ location\ is\ not\ correct= !Would\ you\ like\ to\ change\ it\ to= !Output\ location\ error= !Selected\ output\ file\ already\ exists\ = !Would\ you\ like\ to\ overwrite\ it?= !Provided\ pages\ selection\ is\ not\ valid= !Limits\ must\ be\ a\ comma\ separated\ list\ of\ "page_number"\ or\ "page_number-page_number"= !Limits\ are\ not\ valid= !Checking\ for\ a\ new\ version\ available.= !Error\ checking\ for\ a\ new\ version\ available.= !Unable\ to\ get\ latest\ available\ version= !New\ version\ available.= !No\ new\ version\ available.= !Cut= !Paste= pdfsam-1.1.4/pdfsam-langpack-br1/src/java/org/pdfsam/i18n/resources/Messages_bg.properties0000644000175000017500000013243011225342444031342 0ustar twernertwerner# Bulgarian translation for pdfsam # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the pdfsam package. # FIRST AUTHOR , 2008. # !=Project-Id-Version\: pdfsam\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2009-07-09 12\:23+0200\nPO-Revision-Date\: 2008-10-19 22\:52+0000\nLast-Translator\: Mitko K. \nLanguage-Team\: Bulgarian \nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Launchpad-Export-Date\: 2008-12-08 14\:48+0000\nX-Generator\: Launchpad (build Unknown)\n !Merge\ options= PDF\ documents\ contain\ forms=PDF \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442/\u0438\u0442\u0435/ \u0441\u044a\u0434\u044a\u0440\u0436\u0430\u0442 \u0444\u043e\u0440\u043c\u0438 Merge\ type=\u0422\u0438\u043f \u043d\u0430 \u0441\u043b\u0438\u0432\u0430\u043d\u0435\u0442\u043e Unchecked=\u041d\u0435\u043e\u0442\u043c\u0435\u043d\u0442\u0430\u0442\u043e Use\ this\ merge\ type\ for\ standard\ pdf\ documents=\u041f\u043e\u043b\u0437\u0432\u0430\u0439\u0442\u0435 \u0442\u043e\u0432\u0430 \u0437\u0430 \u0442\u0438\u043f \u043d\u0430 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0438 PDF \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438 Checked=\u041e\u0442\u043c\u0435\u0442\u043d\u0430\u0442\u043e Use\ this\ merge\ type\ for\ pdf\ documents\ containing\ forms=\u041f\u043e\u043b\u0437\u0432\u0430\u0439\u0442\u0435 \u0442\u043e\u0437\u0438 \u0442\u0438\u043f \u0441\u043b\u0438\u0432\u0430\u043d\u0435 \u0437\u0430 PDF \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438, \u0441\u044a\u0434\u044a\u0440\u0436\u0430\u0449\u0438 \u0444\u043e\u0440\u043c\u0438 Note=\u0411\u0435\u043b\u0435\u0436\u043a\u0430 Setting\ this\ option\ the\ documents\ will\ be\ completely\ loaded\ in\ memory=\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u0432\u0430\u043d\u0435\u0442\u043e \u043d\u0430 \u0442\u0430\u0437\u0438 \u043e\u043f\u0446\u0438\u044f \u0449\u0435 \u0437\u0430\u0440\u0435\u0436\u0434\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0442\u0435 \u0438\u0437\u0446\u044f\u043b\u043e \u0432 \u043f\u0430\u043c\u0435\u0442\u0442\u0430 Destination\ output\ file=\u0418\u0437\u0445\u043e\u0434\u0435\u043d \u0444\u0430\u0439\u043b \u0437\u0430 \u0437\u0430\u043f\u0438\u0441 Error\:\ =\u0413\u0440\u0435\u0448\u043a\u0430\: Browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ file.=\u041f\u0440\u0435\u0433\u043b\u0435\u0434\u0430\u0439\u0442\u0435 \u0438\u043b\u0438 \u0432\u044a\u0432\u0435\u0434\u0435\u0442\u0435 \u043f\u044a\u043b\u0435\u043d \u043f\u044a\u0442 \u0437\u0430 \u0434\u043e\u0441\u0442\u044a\u043f \u0434\u043e \u0438\u0437\u0445\u043e\u0434\u043d\u0438\u044f \u0444\u0430\u0439\u043b \u0437\u0430 \u0437\u0430\u043f\u0438\u0441 Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ file\ if\ it\ already\ exists.=\u041e\u0442\u043c\u0435\u0442\u043d\u0435\u0442\u0435 \u043a\u0443\u0442\u0438\u0439\u043a\u0430\u0442\u0430, \u0430\u043a\u043e \u0438\u0441\u043a\u0430\u0442\u0435 \u0434\u0430 \u043f\u0440\u0435\u0437\u0430\u043f\u0438\u0448\u0435\u0442\u0435 \u0438\u0437\u0445\u043e\u0434\u043d\u0438\u044f \u0444\u0430\u0439\u043b, \u0430\u043a\u043e \u0432\u0435\u0447\u0435 \u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0443\u0432\u0430 Check\ the\ box\ if\ you\ want\ compressed\ output\ files.=\u041e\u0442\u043c\u0435\u0442\u043d\u0435\u0442\u0435 \u043a\u0443\u0442\u0438\u0439\u043a\u0430\u0442\u0430, \u0430\u043a\u043e \u0438\u0441\u043a\u0430\u0442\u0435 \u043a\u043e\u043c\u043f\u0440\u0435\u0441\u0438\u0440\u0430\u043d\u0438 \u0438\u0437\u0445\u043e\u0434\u043d\u0438 \u0444\u0430\u0439\u043b\u043e\u0432\u0435 PDF\ version\ 1.5\ or\ above.=PDF v1.5 \u0438\u043b\u0438 \u043f\u043e-\u0432\u0438\u0441\u043e\u043a\u0430 Set\ the\ pdf\ version\ of\ the\ ouput\ document.=\u0417\u0430\u0434\u0430\u0439 PDF \u0432\u0435\u0440\u0441\u0438\u044f\u0442\u0430 \u043d\u0430 \u0438\u0437\u0445\u043e\u0434\u043d\u0438\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442 Please\ wait\ while\ all\ files\ are\ processed..=\u041c\u043e\u043b\u044f \u043f\u043e\u0447\u0430\u043a\u0430\u0439\u0442\u0435, \u0434\u043e\u043a\u0430\u0442\u043e \u0441\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0432\u0430\u0442 \u0444\u0430\u0439\u043b\u043e\u0432\u0435\u0442\u0435 Found\ a\ password\ for\ input\ file.=\u0418\u043c\u0430 \u043f\u0430\u0440\u043e\u043b\u0430 \u043d\u0430 \u0432\u0445\u043e\u0434\u043d\u0438\u044f \u0444\u0430\u0439\u043b Please\ select\ at\ least\ one\ pdf\ document.=\u041c\u043e\u043b\u044f \u0438\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u043f\u043e\u043d\u0435 \u0435\u0434\u0438\u043d PDF \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442 Warning=\u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435 Execute\ pdf\ merge=\u0418\u0437\u043f\u044a\u043b\u043d\u0438 PDF \u0441\u043b\u0438\u0432\u0430\u043d\u0435 Merge/Extract=\u0421\u043b\u0438\u0432\u0430\u043d\u0435/\u0418\u0437\u0432\u0430\u0436\u0434\u0430\u043d\u0435 Merge\ section\ loaded.=\u0421\u0435\u043a\u0446\u0438\u044f\u0442\u0430 \u0437\u0430 \u0441\u043b\u0438\u0432\u0430\u043d\u0435 \u0437\u0430\u0440\u0435\u0434\u0435\u043d\u0430 Export\ as\ xml=\u0415\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u0430\u0439 \u043a\u0430\u0442\u043e XML Unable\ to\ save\ xml\ file.=\u0412 \u043d\u0435\u0432\u044a\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442 \u0434\u0430 \u0441\u0435 \u0437\u0430\u043f\u0430\u0437\u0438 XML \u0444\u0430\u0439\u043b\u0430 Ok=\u041e\u041a File\ xml\ saved.=XML \u0444\u0430\u0439\u043b\u0430 \u0437\u0430\u043f\u0430\u0437\u0435\u043d Error\ saving\ xml\ file,\ output\ file\ is\ null.=\u0413\u0440\u0435\u0448\u043a\u0430 \u043f\u0440\u0438 \u0437\u0430\u043f\u0430\u0437\u0432\u0430\u043d\u0435 \u043d\u0430 XML \u0444\u0430\u0439\u043b\u0430, \u0438\u0437\u0445\u043e\u0434\u043d\u0438\u044f \u0435 ->null Split\ options=\u041e\u043f\u0446\u0438\u0438 \u0437\u0430 \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u043d\u0435 Burst\ (split\ into\ single\ pages)=\u0420\u0430\u0437\u0446\u0435\u043f\u0432\u0430\u043d\u0435 /\u0440\u0430\u0437\u0434\u0435\u043b\u044f\u043d\u0435 \u0432 \u043e\u0442\u0434\u0435\u043b\u043d\u0438 \u0444\u0430\u0439\u043b\u043e\u0432\u0435/ Split\ every\ "n"\ pages=\u0420\u0430\u0437\u0434\u0435\u043b\u044f\u043d\u0435 \u043d\u0430 \u0432\u0441\u0435\u043a\u0438 \u201cn\u201c \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0438 Split\ even\ pages=\u0420\u0430\u0437\u0434\u0435\u043b\u0438 \u0447\u0435\u0442\u043d\u0438\u0442\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0438 Split\ odd\ pages=\u0420\u0430\u0437\u0434\u0435\u043b\u0438 \u043d\u0435\u0447\u0435\u0442\u043d\u0438\u0442\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0438 Split\ after\ these\ pages=\u0420\u0430\u0437\u0434\u0435\u043b\u0438 \u0441\u043b\u0435\u0434 \u0442\u0435\u0437\u0438 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0438 Split\ at\ this\ size=\u0420\u0430\u0437\u0434\u0435\u043b\u0438 \u043f\u0440\u0438 \u0442\u043e\u0437\u0438 \u0440\u0430\u0437\u043c\u0435\u0440 !Split\ by\ bookmarks\ level= Burst=\u0420\u0430\u0437\u0446\u0435\u043f\u0438 Explode\ the\ pdf\ document\ into\ single\ pages=\u0420\u0430\u0437\u0446\u0435\u043f\u0432\u0430\u043d\u0435 \u043d\u0430 PDF \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 \u043d\u0430 \u043e\u0442\u0434\u0435\u043b\u043d\u0438 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0438 Split\ the\ document\ every\ "n"\ pages=\u0420\u0430\u0437\u0434\u0435\u043b\u044f\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 \u043d\u0430 \u0432\u0441\u0435\u043a\u0438 \u201cn\u201c \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0438 Split\ the\ document\ every\ even\ page=\u0420\u0430\u0437\u0434\u0435\u043b\u044f\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 \u043d\u0430 \u0432\u0441\u044f\u043a\u0430 \u0447\u0435\u0442\u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 Split\ the\ document\ every\ odd\ page=\u0420\u0430\u0437\u0434\u0435\u043b\u044f\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 \u043d\u0430 \u0432\u0441\u044f\u043a\u0430 \u043d\u0435\u0447\u0435\u0442\u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 Split\ the\ document\ after\ page\ numbers\ (num1-num2-num3..)=\u0420\u0430\u0437\u0434\u0435\u043b\u044f\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 \u0441\u043b\u0435\u0434 \u043d\u043e\u043c\u0435\u0440 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 (num1-num2-num3..) #, fuzzy !Split\ the\ document\ in\ files\ of\ the\ given\ size\ (roughly)=\u0420\u0430\u0437\u0434\u0435\u043b\u044f\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 \u043d\u0430 \u0444\u0430\u0439\u043b\u043e\u0432\u0435 \u0441\u044a\u0441 \u0437\u0430\u0434\u0430\u0434\u0435\u043d\u0430 \u0433\u043e\u043b\u0435\u043c\u0438\u043d\u0430 /\u0433\u0440\u0443\u0431\u043e/ #, fuzzy !Split\ the\ document\ at\ pages\ referred\ by\ bookmarks\ of\ the\ given\ level=\u0420\u0430\u0437\u0434\u0435\u043b\u044f\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 \u043d\u0430 \u0444\u0430\u0439\u043b\u043e\u0432\u0435 \u0441\u044a\u0441 \u0437\u0430\u0434\u0430\u0434\u0435\u043d\u0430 \u0433\u043e\u043b\u0435\u043c\u0438\u043d\u0430 /\u0433\u0440\u0443\u0431\u043e/ !Destination\ folder= Same\ as\ source=\u0421\u044a\u0449\u0430\u0442\u0430 \u043a\u0430\u0442\u043e \u0438\u0437\u0445\u043e\u0434\u043d\u0430\u0442\u0430 Choose\ a\ folder=\u0418\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u043f\u0430\u043f\u043a\u0430 Destination\ output\ directory=\u0418\u0437\u0445\u043e\u0434\u043d\u0430 \u043f\u0430\u043f\u043a\u0430 \u0437\u0430 \u0437\u0430\u043f\u0438\u0441 Use\ the\ same\ output\ folder\ as\ the\ input\ file\ or\ choose\ a\ folder.=\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0439 \u0441\u044a\u0449\u0430\u0442\u0430 \u0438\u0437\u0445\u043e\u0434\u043d\u0430 \u043f\u0430\u043f\u043a\u0430 \u0438\u043b\u0438 \u0438\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u043f\u0430\u043f\u043a\u0430 To\ choose\ a\ folder\ browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ directory.=\u0417\u0430 \u0438\u0437\u0431\u043e\u0440 \u043d\u0430 \u043f\u0430\u043f\u043a\u0430 \u043f\u0440\u0435\u0433\u043b\u0435\u0434 \u0438\u043b\u0438 \u0432\u044a\u0432\u0435\u0434\u0435\u0442\u0435 \u043f\u044a\u043b\u043d\u0438\u044f \u043f\u044a\u0442 \u0434\u043e \u0446\u0435\u043b\u0435\u0432\u0430\u0442\u0430 \u0438\u0437\u0445\u043e\u0434\u043d\u0430 \u043f\u0430\u043f\u043a\u0430 Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ files\ if\ they\ already\ exist.=\u041e\u0442\u043c\u0435\u0442\u043d\u0435\u0442\u0435 \u043a\u0443\u0442\u0438\u0439\u043a\u0430\u0442\u0430 \u0430\u043a\u043e \u0436\u0435\u043b\u0430\u0435\u0442\u0435 \u0434\u0430 \u043f\u0440\u0435\u0437\u0430\u043f\u0438\u0448\u0435\u0442\u0435 \u0438\u0437\u0445\u043e\u0434\u043d\u0438\u0442\u0435 \u0444\u0430\u0439\u043b\u043e\u0432\u0435, \u0430\u043a\u043e \u0432\u0435\u0447\u0435 \u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0443\u0432\u0430\u0442 !Output\ options= Output\ file\ names\ prefix\:=\u041f\u0440\u0435\u0444\u0438\u043a\u0441 \u043d\u0430 \u0438\u043c\u0435\u043d\u0430\u0442\u0430 \u0437\u0430 \u0438\u0437\u0445\u043e\u0434\u043d\u0438\u044f \u0444\u0430\u0439\u043b Output\ files\ prefix=\u041f\u0440\u0435\u0444\u0438\u043a\u0441 \u0437\u0430 \u0438\u0437\u0445\u043e\u0434\u043d\u0438\u0442\u0435 \u0444\u0430\u0439\u043b\u043e\u0432\u0435 !If\ it\ contains\ "[CURRENTPAGE]",\ "[TIMESTAMP]",\ "[FILENUMBER]"\ or\ "[BOOKMARK_NAME]"\ it\ performs\ variable\ substitution.= Ex.\ prefix_[BASENAME]_[CURRENTPAGE]\ generates\ prefix_FileName_005.pdf.=\u041f\u0440. prefix_[BASENAME]_[CURRENTPAGE] \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0430 prefix_FileName_005.pdf. !If\ it\ doesn't\ contain\ "[CURRENTPAGE]",\ "[TIMESTAMP]"\ or\ "[FILENUMBER]"\ it\ generates\ oldstyle\ output\ file\ names.= !Available\ variables= Invalid\ split\ size=\u041d\u0435\u0432\u0430\u043b\u0438\u0434\u0435\u043d \u0440\u0430\u0437\u043c\u0435\u0440 \u0437\u0430 \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u043d\u0435 The\ lowest\ available\ pdf\ version\ is\ =\u041d\u0430\u0439-\u043d\u0438\u0441\u043a\u0430\u0442\u0430 \u043d\u0430 \u0440\u0430\u0437\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432\u0435\u0440\u0441\u0438\u044f \u0437\u0430 PDF e You\ selected\ a\ lower\ output\ pdf\ version,\ continue\ anyway\ ?=\u0418\u0437\u0431\u0440\u0430\u0445\u0442\u0435 \u043f\u043e-\u043d\u0438\u0441\u043a\u0430 \u0438\u0437\u0445\u043e\u0434\u043d\u0430 \u0432\u0435\u0440\u0441\u0438\u044f \u0437\u0430 PDF, \u0434\u0430 \u043f\u0440\u043e\u0434\u044a\u043b\u0436\u0430 \u043b\u0438? Pdf\ version\ conflict=\u041a\u043e\u043d\u0444\u043b\u0438\u043a\u0442 \u043d\u0430 PDF \u0432\u0435\u0440\u0441\u0438\u044f\u0442\u0430 Please\ select\ a\ pdf\ document.=\u041c\u043e\u043b\u044f \u0438\u0437\u0431\u0435\u0440\u0435\u0442\u0435 PDF \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442 Split\ selected\ file=\u0420\u0430\u0437\u0434\u0435\u043b\u0438 \u0438\u0437\u0431\u0440\u0430\u043d\u0438\u044f \u0444\u0430\u0439\u043b Split=\u0420\u0430\u0437\u0434\u0435\u043b\u0438 Split\ section\ loaded.=\u0420\u0430\u0437\u0434\u0435\u043b\u0438 \u0437\u0430\u0440\u0435\u0434\u0435\u043d\u0430\u0442\u0430 \u0447\u0430\u0441\u0442 Invalid\ unit\:\ =\u041d\u0435\u0432\u0430\u043b\u0438\u0434\u043d\u0430 \u0435\u0434\u0438\u043d\u0438\u0446\u0430 #, fuzzy !Fill\ from\ document=\u041e\u0431\u044a\u0440\u043d\u0438 \u043f\u044a\u0440\u0432\u0438\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442 !Getting\ bookmarks\ max\ depth= !Frontpage\ pdf\ file= !Addendum\ pdf\ file= Select\ at\ least\ one\ cover\ or\ one\ footer=\u0418\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u043f\u043e\u043d\u0435 \u0435\u0434\u0438\u043d \u043a\u043e\u0440\u0438\u0447\u0435\u043d \u0438\u043b\u0438 \u0435\u0434\u0438\u043d \u0444\u0430\u0439\u043b \u0437\u0430 \u0414\u043e\u043b\u043d\u043e\u0442\u043e \u043f\u043e\u043b\u0435 !Frontpage\ and\ Addendum= Cover\ And\ Footer\ section\ loaded.=\u0421\u0435\u043a\u0446\u0438\u0438\u0442\u0435 \u0437\u0430 \u041a\u043e\u0440\u0438\u0447\u0435\u043d \u0438 \u0437\u0430 \u0414\u043e\u043b\u043d\u043e \u043f\u043e\u043b\u0435 \u0437\u0430\u0440\u0435\u0434\u0435\u043d\u0438 !Encrypt\ options= Owner\ password\:=\u041f\u0430\u0440\u043e\u043b\u0430 \u043d\u0430 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u0438\u043a\u0430 Owner\ password\ (Max\ 32\ chars\ long)=\u041f\u0430\u0440\u043e\u043b\u0430 \u043d\u0430 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u0438\u043a\u0430 /\u041c\u0430\u043a\u0441. 32 \u0437\u043d\u0430\u043a\u0430/ User\ password\:=\u041f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u0441\u043a\u0430 \u043f\u0430\u0440\u043e\u043b\u0430\: User\ password\ (Max\ 32\ chars\ long)=\u041f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u0441\u043a\u0430 \u043f\u0430\u0440\u043e\u043b\u0430 /\u041c\u0430\u043a\u0441. 32 \u0437\u043d\u0430\u043a\u0430/ #, fuzzy !Encryption\ algorithm\:=\u0410\u043b\u0433\u043e\u0440\u0438\u0442\u044a\u043c \u0437\u0430 \u043a\u0440\u0438\u043f\u0442\u0438\u0440\u0430\u043d\u0435 Allow\ all=\u0420\u0430\u0437\u0440\u0435\u0448\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u0432\u0441\u0438\u0447\u043a\u043e Print=\u041f\u0435\u0447\u0430\u0442 Low\ quality\ print=\u041d\u0438\u0441\u043a\u043e\u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d \u043f\u0435\u0447\u0430\u0442 Copy\ or\ extract=\u041a\u043e\u043f\u0438\u0440\u0430\u0439 \u0438\u043b\u0438 \u0438\u0437\u0432\u043b\u0435\u0447\u0438 Modify=\u041f\u0440\u043e\u043c\u0435\u043d\u0438 Add\ or\ modify\ text\ annotations=\u0414\u043e\u0431\u0430\u0432\u0438 \u0431\u0435\u043b\u0435\u0436\u043a\u0438 \u043f\u043e \u043f\u0440\u043e\u043c\u0435\u043d\u0438\u0442\u0435 Fill\ form\ fields=\u041f\u043e\u043f\u044a\u043b\u043d\u0438 \u043f\u043e\u043b\u0435\u0442\u0430\u0442\u0430 \u0432\u044a\u0432 \u0444\u043e\u0440\u043c\u0443\u043b\u044f\u0440\u0430 Extract\ for\ use\ by\ accessibility\ dev.=\u0418\u0437\u0432\u043b\u0435\u0447\u0438 \u0437\u0430 \u043f\u043e\u043b\u0437\u0432\u0430\u043d\u0435 \u043e\u0442 \u0440\u0430\u0437\u0440\u0430\u0431. \u0437\u0430 \u0434\u043e\u0441\u0442\u044a\u043f\u043d\u043e\u0441\u0442 Manipulate\ pages\ and\ add\ bookmarks=\u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0438 \u0438 \u0434\u043e\u0431\u0430\u0432\u044f\u043d\u0435 \u043d\u0430 \u043f\u0440\u0435\u043f\u0440\u0430\u0442\u043a\u0438 Check\ the\ box\ if\ you\ want\ compressed\ output\ files\ (Pdf\ version\ 1.5\ or\ higher).=\u041e\u0442\u043c\u0435\u0442\u043d\u0435\u0442\u0435 \u043a\u0443\u0442\u0438\u0439\u043a\u0430\u0442\u0430 \u0430\u043a\u043e \u0436\u0435\u043b\u0430\u0435\u0442\u0435 \u043a\u043e\u043c\u043f\u0440\u0435\u0441\u0438\u0440\u0430\u043d\u0438 \u0438\u0437\u0445\u043e\u0434\u043d\u0438 \u0444\u0430\u0439\u043b\u043e\u0432\u0435 (PDF v.1.5 \u0438\u043b\u0438 \u043f\u043e-\u0432\u0438\u0441\u043e\u043a\u0430 If\ it\ contains\ "[TIMESTAMP]"\ it\ performs\ variable\ substitution.=\u0410\u043a\u043e \u0441\u044a\u0434\u044a\u0440\u0436\u0430 "[TIMESTAMP]" \u0441\u0435 \u0438\u0437\u043f\u044a\u043b\u043d\u044f\u0432\u0430 \u0437\u0430\u043c\u044f\u043d\u0430 \u043d\u0430 \u043f\u0440\u043e\u043c\u0435\u043d\u043b\u0438\u0432\u0430 Ex.\ [BASENAME]_prefix_[TIMESTAMP]\ generates\ FileName_prefix_20070517_113423471.pdf.=\u041f\u0440. [BASENAME]_prefix_[TIMESTAMP] \u0441\u044a\u0437\u0434\u0430\u0432\u0430 FileName_prefix_20070517_113423471.pdf If\ it\ doesn't\ contain\ "[TIMESTAMP]"\ it\ generates\ oldstyle\ output\ file\ names.=\u0410\u043a\u043e \u043d\u0435 \u0441\u044a\u0434\u044a\u0440\u0436\u0430 "[TIMESTAMP]", \u0441\u044a\u0437\u0434\u0430\u0432\u0430 \u0441\u0435 \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u043e \u0438\u043c\u0435 \u0437\u0430 \u0438\u0437\u0445\u043e\u0434\u043d\u0438\u044f \u0444\u0430\u0439\u043b. Available\ variables\:\ [TIMESTAMP],\ [BASENAME].=\u041f\u0440\u043e\u043c\u0435\u043d\u043b\u0438\u0432\u0438 \u043d\u0430 \u0440\u0430\u0437\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435\: [TIMESTAMP], [BASENAME]. Encrypt\ selected\ files=\u041a\u0440\u0438\u043f\u0442\u0438\u0440\u0430\u0439 \u0438\u0437\u0431\u0440\u0430\u043d\u0438\u0442\u0435 \u0444\u0430\u0439\u043b\u043e\u0432\u0435 Encrypt=\u041a\u0440\u0438\u043f\u0442\u0438\u0440\u0430\u0439 Encrypt\ section\ loaded.=\u041a\u0440\u0438\u043f\u0442\u0438\u0440\u0430\u0439 \u0437\u0430\u0440\u0435\u0434\u0435\u043d\u0430\u0442\u0430 \u0441\u0435\u043a\u0446\u0438\u044f !Decrypt\ selected\ files= !Decrypt= !Decrypt\ section\ loaded.= !Mix\ options= Reverse\ first\ document=\u041e\u0431\u044a\u0440\u043d\u0438 \u043f\u044a\u0440\u0432\u0438\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442 Reverse\ second\ document=\u041e\u0431\u044a\u0440\u043d\u0438 \u0432\u0442\u043e\u0440\u0438\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442 !Number\ of\ pages\ to\ switch\ document= !Tick\ the\ boxes\ if\ you\ want\ to\ reverse\ the\ first\ or\ the\ second\ document\ (or\ both).= !Set\ the\ number\ of\ pages\ to\ switch\ from\ a\ document\ to\ the\ other\ one\ (default\ is\ 1).= Found\ a\ password\ for\ first\ file.=\u041f\u044a\u0440\u0432\u0438\u044f \u0444\u0430\u0439\u043b \u0438\u043c\u0430 \u043f\u0430\u0440\u043e\u043b\u0430 Found\ a\ password\ for\ second\ file.=\u0412\u0442\u043e\u0440\u0438\u044f \u0444\u0430\u0439\u043b \u0438\u043c\u0430 \u043f\u0430\u0440\u043e\u043b\u0430 Please\ select\ two\ pdf\ documents.=\u041c\u043e\u043b\u044f \u0438\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u0434\u0432\u0430 PDF \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 Execute\ pdf\ alternate\ mix=\u0418\u0437\u043f\u044a\u043b\u043d\u0438 \u0440\u0435\u0434\u0443\u0432\u0430\u0449\u043e \u0441\u0435 \u0441\u043c\u0435\u0441\u0432\u0430\u043d\u0435 \u043d\u0430 PDF \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438 Alternate\ Mix=\u0420\u0435\u0434\u0443\u0432\u0430\u0449\u043e \u0441\u0435 \u0441\u043c\u0435\u0441\u0432\u0430\u043d\u0435 AlternateMix\ section\ loaded.=\u0421\u0435\u043a\u0446\u0438\u044f\u0442\u0430 \u0437\u0430 \u0420\u0435\u0434\u0443\u0432\u0430\u0449\u043e \u0441\u0435 \u0441\u043c\u0435\u0441\u0432\u0430\u043d\u0435 \u0437\u0430\u0440\u0435\u0434\u0435\u043d\u0430 Unpack\ selected\ files=\u0420\u0430\u0437\u043e\u043f\u0430\u043a\u043e\u0432\u0430\u0439 \u0438\u0437\u0431\u0440\u0430\u043d\u0438\u0442\u0435 \u0444\u0430\u0439\u043b\u043e\u0432\u0435 Unpack=\u0420\u0430\u0437\u043e\u043f\u0430\u043a\u043e\u0432\u0430\u0439 Unpack\ section\ loaded.=\u0421\u0435\u043a\u0446\u0438\u044f\u0442\u0430 \u0437\u0430 \u0420\u0430\u0437\u043e\u043f\u0430\u043a\u043e\u0432\u0430\u043d\u0435 \u0441\u043c\u0435\u0441\u0432\u0430\u043d\u0435 \u0437\u0430\u0440\u0435\u0434\u0435\u043d\u0430 !Set\ viewer\ options= !Hide\ the\ menubar= !Hide\ the\ toolbar= !Hide\ user\ interface\ elements= !Rezise\ the\ window\ to\ fit\ the\ page\ size= !Center\ of\ the\ screen= !Display\ document\ title\ as\ window\ title= !Pdf\ version\ required\:= !No\ page\ scaling\ in\ print\ dialog= !Viewer\ layout\:= !Viewer\ open\ mode\:= !Non\ fullscreen\ mode\:= !Direction\:= !Set\ options= !Set\ viewer\ options\ for\ selected\ files= !Left\ to\ right= !Right\ to\ left= !None= !Fullscreen= !Attachments= !Optional\ content\ group\ panel= !Document\ outline= !Thumbnail\ images= !One\ page\ at\ a\ time= !Pages\ in\ one\ column= !Pages\ in\ two\ columns\ (odd\ on\ the\ left)= !Pages\ in\ two\ columns\ (odd\ on\ the\ right)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ left)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ right)= !Viewer\ options= !Viewer\ options\ section\ loaded.= Save\ passwords\ informations\ (they\ will\ be\ readable\ opening\ the\ output\ file)?=\u0417\u0430\u043f\u043e\u043c\u043d\u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f\u0442\u0430 \u0437\u0430 \u043f\u0430\u0440\u043e\u043b\u0438\u0442\u0435 (\u0429\u0435 \u0431\u044a\u0434\u0430\u0442 \u0447\u0438\u0442\u0430\u0435\u043c\u0438 \u043f\u0440\u0438 \u043e\u0442\u0432\u0430\u0440\u044f\u043d\u0435 \u043d\u0430 \u0438\u0437\u0445\u043e\u0434\u043d\u0438\u044f \u0444\u0430\u0439\u043b)? Confirm\ password\ saving=\u041f\u043e\u0442\u0432\u044a\u0440\u0434\u0438 \u0437\u0430\u043f\u0438\u0441\u0430 \u043d\u0430 \u043f\u0430\u0440\u043e\u043b\u0430\u0442\u0430 Unknown\ action.=\u041d\u0435\u0437\u043d\u0430\u0439\u043d\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435. Log\ saved.=\u041b\u043e\u0433\u044a\u0442 \u0437\u0430\u043f\u0430\u0437\u0435\u043d \ node\ environment\ loaded.=\ \u0441\u0440\u0435\u0434\u0430\u0442\u0430 \u0437\u0430 \u0432\u044a\u0437\u0435\u043b\u0430 \u0437\u0430\u0440\u0435\u0434\u0435\u043d\u0430 Environment\ saved.=\u0421\u0440\u0435\u0434\u0430\u0442\u0430 \u0437\u0430\u043f\u0430\u0437\u0435\u043d\u0430 Error\ saving\ environment,\ output\ file\ is\ null.=\u0413\u0440\u0435\u0448\u043a\u0430 \u043f\u0440\u0438 \u0437\u0430\u043f\u0430\u0437\u0432\u0430\u043d\u0435 \u043d\u0430 \u0441\u0440\u0435\u0434\u0430\u0442\u0430, \u0438\u0437\u0445\u043e\u0434\u043d\u0438\u044f \u0444\u0430\u0439\u043b \u043d\u0435 \u0435 \u0437\u0430\u0434\u0430\u0434\u0435\u043d Error\ saving\ environment.=\u0413\u0440\u0435\u0448\u043a\u0430 \u043f\u0440\u0438 \u0437\u0430\u043f\u0430\u0437\u0432\u0430\u043d\u0435 \u043d\u0430 \u0441\u0440\u0435\u0434\u0430\u0442\u0430 Environment\ loaded.=\u0421\u0440\u0435\u0434\u0430\u0442\u0430 \u0437\u0430\u0440\u0435\u0434\u0435\u043d\u0430. Error\ loading\ environment.=\u0413\u0440\u0435\u0448\u043a\u0430 \u043f\u0440\u0438 \u0437\u0430\u0440\u0435\u0436\u0434\u0430\u043d\u0435 \u043d\u0430 \u0441\u0440\u0435\u0434\u0430\u0442\u0430. Error\ loading\ environment\ from\ input\ file.\ =\u0413\u0440\u0435\u0448\u043a\u0430 \u043f\u0440\u0438 \u0437\u0430\u0440\u0435\u0436\u0434\u0430\u043d\u0435 \u043d\u0430 \u0441\u0440\u0435\u0434\u0430\u0442\u0430 \u043e\u0442 \u0432\u0445\u043e\u0434\u0435\u043d \u0444\u0430\u0439\u043b. Selection\ table\ is\ full,\ please\ remove\ some\ pdf\ document.=\u0422\u0430\u0431\u043b\u0438\u0446\u0430\u0442\u0430 \u0437\u0430 \u0438\u0437\u0431\u043e\u0440 \u043f\u044a\u043b\u043d\u0430, \u043c\u043e\u043b\u044f, \u043c\u0430\u0445\u043d\u0435\u0442\u0435 \u043d\u044f\u043a\u043e\u043b\u043a\u043e PDF \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430. Table\ full=\u0422\u0430\u0431\u043b\u0438\u0446\u0430\u0442\u0430 \u0435 \u043f\u044a\u043b\u043d\u0430 Please\ wait\ while\ reading=\u041c\u043e\u043b\u044f \u043f\u043e\u0447\u0430\u043a\u0430\u0439\u0442\u0435 \u0434\u043e\u043a\u0430\u0442\u043e \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043c Selected\ file\ is\ not\ a\ pdf\ document.=\u0418\u0437\u0431\u0440\u0430\u043d\u0438\u044f\u0442 \u0444\u0430\u0439\u043b \u043d\u0435 \u0435 PDF \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442 Error\ loading\ =\u0413\u0440\u0435\u0448\u043a\u0430 \u043f\u0438 \u0437\u0430\u0440\u0435\u0436\u0434\u0430\u043d\u0435 \u043d\u0430 Command\ validation\ returned\ an\ empty\ value.=\u041a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0442\u043e \u043f\u043e\u0442\u0432\u044a\u0440\u0436\u0434\u0435\u043d\u0438\u0435 \u0432\u044a\u0440\u043d\u0430 \u043f\u0440\u0430\u0437\u043d\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442. Command\ executed.=\u041a\u043e\u043c\u0430\u043d\u0434\u0430\u0442\u0430 \u0438\u0437\u043f\u044a\u043b\u043d\u0435\u043d\u0430. File\ name=\u0418\u043c\u0435 \u043d\u0430 \u0444\u0430\u0439\u043b !Number\ of\ pages= !File\ size= !Pdf\ version= !Encryption= !Not\ encrypted= !Permissions= !Title= Author=\u0410\u0432\u0442\u043e\u0440 !Subject= !Producer= !Creator= !Creation\ date= !Modification\ date= !Keywords= !Document\ properties= File=\u0424\u0430\u0439\u043b !Close= Copy=\u041a\u043e\u043f\u0438\u0440\u0430\u043d\u0435 !Error\ creating\ properties\ panel.= Run=\u0421\u0442\u0430\u0440\u0442\u0438\u0440\u0430\u0439 Browse=\u0420\u0430\u0437\u0433\u043b\u0435\u0436\u0434\u0430\u043d\u0435 Add=\u0414\u043e\u0431\u0430\u0432\u0438 Compress\ output\ file/files=\u041a\u043e\u043c\u043f\u0440\u0435\u0441\u0438\u0440\u0430\u0439 \u0438\u0437\u0445\u043e\u0434\u043d\u0438\u0442\u0435 \u0444\u0430\u0439\u043b/\u043e\u0432\u0435/ Overwrite\ if\ already\ exists=\u041f\u0440\u0435\u0437\u0430\u043f\u0438\u0441 \u0430\u043a\u043e \u0441\u044a\u0449\u0435\u0441\u0442\u0432\u0443\u0432\u0430 Don't\ preserve\ file\ order\ (fast\ load)=\u041d\u0435 \u0441\u043f\u0430\u0437\u0432\u0430\u0439 \u0440\u0435\u0434\u0430 \u043d\u0430 \u0444\u0430\u0439\u043b\u043e\u0432\u0435\u0442\u0435 /\u0431\u044a\u0440\u0437\u043e \u0437\u0430\u0440\u0435\u0436\u0434\u0430\u043d\u0435/ Output\ document\ pdf\ version\:=\u0418\u0437\u0445\u043e\u0434\u043d\u0430 PDF \u0432\u0435\u0440\u0441\u0438\u044f \u043d\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\: !The\ cross\ reference\ table\ cantained\ some\ error\ and\ has\ been\ rebuilt= !The\ document\ has\ not\ been\ opened\ with\ the\ owner\ password.\ You\ must\ provide\ the\ owner\ password\ in\ order\ to\ manipulate\ the\ document= !An\ error\ occured\ while\ loading\ the\ document= Same\ as\ input\ document=\u0421\u044a\u0449\u0438\u044f \u043a\u0430\u043a\u0442\u043e \u0432\u0445\u043e\u0434\u043d\u0438\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442 Path=\u041f\u044a\u0442\u0435\u043a\u0430 Pages=\u0421\u0442\u0440\u0430\u043d\u0438\u0446\u0438 Password=\u041f\u0430\u0440\u043e\u043b\u0430 Version=\u0412\u0435\u0440\u0441\u0438\u044f Page\ Selection=\u0418\u0437\u0431\u043e\u0440 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0438 Total\ pages\ of\ the\ document=\u041e\u0431\u0449\u043e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0438 \u043d\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 Password\ to\ open\ the\ document\ (if\ needed)=\u041f\u0430\u0440\u043e\u043b\u0430 \u0437\u0430 \u043e\u0442\u0432\u0430\u0440\u044f\u043d\u0435 \u043d\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 /\u0430\u043a\u043e \u0435 \u043d\u0443\u0436\u043d\u0430/ Pdf\ version\ of\ the\ document=PDF \u0432\u0435\u0440\u0441\u0438\u044f \u043d\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 !Double\ click\ to\ set\ pages\ you\ want\ to\ merge\ (ex\:\ 2\ or\ 5-23\ or\ 2,5-7,12-)= Add\ a\ pdf\ to\ the\ list=\u0414\u043e\u0431\u0430\u0432\u0438 PDF \u0432 \u043b\u0438\u0441\u0442\u0430 Remove\ a\ pdf\ from\ the\ list=\u041f\u0440\u0435\u043c\u0430\u0445\u043d\u0438 PDF \u043e\u0442 \u043b\u0438\u0441\u0442\u0430 (Canc)=(\u041e\u0442\u043a\u0430\u0437?) Remove=\u041f\u0440\u0435\u043c\u0430\u0445\u0432\u0430\u043d\u0435 Reload=\u041f\u0440\u0435\u0437\u0430\u0440\u0435\u0434\u0438 Error\:\ Unable\ to\ reload\ the\ selected\ file/s.=\u0413\u0440\u0435\u0448\u043a\u0430\: \u041d\u0435 \u043c\u043e\u0433\u0430 \u0434\u0430 \u043f\u0440\u0435\u0437\u0430\u0440\u0435\u0434\u044f \u0438\u0437\u0431\u0440\u0430\u043d\u0438\u0442\u0435 \u0444\u0430\u0439\u043b/\u043e\u0432\u0435/ Unable\ to\ remove\ JList\ text\ =\u041d\u0435 \u043c\u043e\u0433\u0430 \u0434\u0430 \u043f\u0440\u0435\u043c\u0430\u0445\u043d\u0430 JList text File\ selected\:\ =\u0418\u0437\u0431\u0440\u0430\u043d \u0444\u0430\u0439\u043b\: File\ reloaded\:\ =\u041f\u0440\u0435\u0437\u0430\u0440\u0435\u0434\u0435\u043d \u0444\u0430\u0439\u043b\: Move\ Up=\u041f\u0440\u0435\u043c\u0435\u0441\u0442\u0438 \u043d\u0430\u0433\u043e\u0440\u0435 Move\ up\ selected\ pdf\ file=\u041f\u0440\u0435\u043c\u0435\u0441\u0442\u0438 \u043d\u0430\u0433\u043e\u0440\u0435 \u0438\u0437\u0431\u0440\u0430\u043d\u0438\u044f PDF \u0444\u0430\u0439\u043b (Alt+ArrowUp)=(Alt+ArrowUp) Move\ Down=\u041f\u0440\u0435\u043c\u0435\u0441\u0442\u0438 \u043d\u0430\u0434\u043e\u043b\u0443 Move\ down\ selected\ pdf\ file=\u041f\u0440\u0435\u043c\u0435\u0441\u0442\u0438 \u043d\u0430\u0434\u043e\u043b\u0443 \u0438\u0437\u0431\u0440\u0430\u043d\u0438\u044f PDF \u0444\u0430\u0439\u043b (Alt+ArrowDown)=(Alt+ArrowDown) Clear=\u0418\u0437\u0447\u0438\u0441\u0442\u0438 Remove\ every\ pdf\ file\ from\ the\ merge\ list=\u041f\u0440\u0435\u043c\u0430\u0445\u043d\u0438 \u0432\u0441\u0435\u043a\u0438 PDF \u0444\u0430\u0439\u043b \u0432 \u043b\u0438\u0441\u0442\u0430 \u0437\u0430 \u0441\u043b\u0438\u0432\u0430\u043d\u0435 Set\ output\ file=\u0423\u043a\u0430\u0436\u0438 \u0438\u0437\u0445\u043e\u0434\u0435\u043d \u0444\u0430\u0439\u043b Error\:\ Unable\ to\ get\ the\ file\ path.=\u0413\u0440\u0435\u0448\u043a\u0430\: \u041d\u0435 \u043c\u043e\u0433\u0430 \u0434\u0430 \u043f\u043e\u043b\u0443\u0447\u0430 \u043f\u044a\u0442\u044f \u0434\u043e \u0444\u0430\u0439\u043b\u0430. Unable\ to\ get\ the\ default\ environment\ informations.=\u041d\u0435 \u043c\u043e\u0433\u0430 \u0434\u0430 \u043f\u043e\u043b\u0443\u0447\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f\u0442\u0430 \u0434\u0430 \u0441\u0440\u0435\u0434\u0430\u0442\u0430 \u043f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435. Setting\ look\ and\ feel...=\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043d\u0430 \u0438\u0437\u0433\u043b\u0435\u0434 \u0438 \u0443\u0441\u0435\u0449\u0430\u043d\u0435 Setting\ logging\ level...=\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043d\u0430 \u043d\u0438\u0432\u043e \u0437\u0430 \u043b\u043e\u0433\u043e\u0432\u0435\u0442\u0435 Unable\ to\ find\ log\ level,\ setting\ to\ default\ level\ (DEBUG).=\u041d\u0435 \u043c\u043e\u0433\u0430 \u0434\u0430 \u0440\u0430\u0437\u0431\u0435\u0440\u0430 \u043d\u0438\u0432\u043e\u0442\u043e \u043d\u0430 \u043b\u043e\u0433\u0430, \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u0432\u0430\u043c \u043d\u0438\u0432\u043e \u043f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435 (DEBUG). Logging\ level\ set\ to\ =\u041d\u0438\u0432\u043e\u0442\u043e \u043d\u0430 \u043b\u043e\u0433\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043e \u043d\u0430 Unable\ to\ set\ logging\ level.=\u041d\u0435 \u043c\u043e\u0433\u0430 \u0434\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u044f \u043d\u0438\u0432\u043e\u0442\u043e \u043d\u0430 \u043b\u043e\u0433\u0430. Error\ getting\ plugins\ directory.=\u0413\u0440\u0435\u0448\u043a\u0430 \u043f\u0440\u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044f\u0442\u0430 \u0441 \u0434\u043e\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u044f /plugins/ Cannot\ read\ plugins\ directory\ =\u041d\u0435 \u043c\u043e\u0433\u0430 \u0434\u0430 \u0447\u0435\u0442\u0430 \u043e\u0442 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044f\u0442\u0430 \u0441 \u0434\u043e\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u044f /plugins/ Plugins\ directory\ is\ null.=\u0414\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044f\u0442\u0430 \u0441 \u0434\u043e\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u044f /plugins/ \u044f \u043d\u044f\u043c\u0430 Found\ zero\ or\ many\ jars\ in\ plugin\ directory\ =\u041d\u0430\u043c\u0435\u0440\u0438\u0445 \u043d\u0443\u043b\u0430 \u043e\u0433 \u043c\u043d\u043e\u0433\u043e JARs \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044f\u0442\u0430 \u0441 \u0434\u043e\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u044f /plugins/ Exception\ loading\ plugins.=\u0418\u0437\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u0438 \u0437\u0430\u0440\u0435\u0436\u0434\u0430\u043d\u0435 \u043d\u0430 \u0434\u043e\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u044f /plugins/ Cannot\ read\ plugin\ directory\ =\u041d\u0435 \u043c\u043e\u0433\u0430 \u0434\u0430 \u0447\u0435\u0442\u0430 \u043e\u0442 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044f\u0442\u0430 \u0441 \u0434\u043e\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u044f \ plugin\ loaded.=\ \u0434\u043e\u043f\u044a\u043b\u043d\u0435\u043d\u0438\u0435 /plugin/ \u0437\u0430\u0440\u0435\u0434\u0435\u043d\u043e Unable\ to\ load\ a\ plugin\ that\ is\ not\ JPanel\ subclass.=\u041d\u0435 \u043c\u043e\u0433\u0430 \u0434\u0430 \u0437\u0430\u0440\u0435\u0434\u044f plugin, \u043a\u043e\u0435\u0442\u043e \u043d\u0435 \u0435 JPanel subclass. Error\ loading\ class\ =\u0413\u0440\u0435\u0448\u043a\u0430 \u043f\u0440\u0438 \u0437\u0430\u0440\u0435\u0436\u0434\u0430\u043d\u0435 \u043d\u0430 class Select\ all=\u0418\u0437\u0431\u0435\u0440\u0438 \u0432\u0441\u0438\u0447\u043a\u0438 Save\ log=\u0417\u0430\u043f\u0430\u0437\u0432\u0430\u043d\u0435 \u043d\u0430 \u043b\u043e\u0433\u0430 Save\ environment=\u0417\u0430\u043f\u0430\u0437\u0438 \u0441\u0440\u0435\u0434\u0430\u0442\u0430 Load\ environment=\u0417\u0430\u0440\u0435\u0434\u0438 \u0441\u0440\u0435\u0434\u0430\u0442\u0430 Exit=\u0418\u0437\u0445\u043e\u0434 Unable\ to\ initialize\ menu\ bar.=\u041d\u0435 \u043c\u043e\u0433\u0430 \u0434\u0430 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0430\u043c \u043b\u0435\u043d\u0442\u0430\u0442\u0430 \u043d\u0430 \u043c\u0435\u043d\u044e\u0442\u043e started\ in\ =\u0421\u0442\u0430\u0440\u0442\u0438\u0440\u0430\u043d \u0432 Loading\ plugins..=\u0417\u0430\u0440\u0435\u0436\u0434\u0430\u043d\u0435 \u043d\u0430 \u0434\u043e\u0431\u0430\u0432\u043a\u0438/plugins.. Building\ menus..=\u041d\u0430\u043f\u0440\u0430\u0432\u0430 \u043d\u0430 \u043c\u0435\u043d\u044e\u0442\u0430... Building\ buttons\ bar..=\u041d\u0430\u043f\u0440\u0430\u0432\u0430 \u043d\u0430 \u043b\u0435\u043d\u0442\u0430\u0442\u0430 \u0441 \u0431\u0443\u0442\u043e\u043d\u0438... Building\ status\ bar..=\u041d\u0430\u043f\u0440\u0430\u0432\u0430 \u043d\u0430 \u043b\u0435\u043d\u0442\u0430\u0442\u0430 \u0437\u0430 \u0441\u0442\u0430\u0442\u0443\u0441 Building\ tree..=\u041d\u0430\u043f\u0440\u0430\u0432\u0430 \u043d\u0430 \u0434\u044a\u0440\u0432\u043e\u0442\u043e.. \u0425\u0430\u043a \u0434\u0430 \u0442\u0438 \u0435\! \u0425\u0430 -\u0445\u0430\! Loading\ default\ environment.=\u0417\u0430\u0440\u0435\u0436\u0434\u0430\u043d\u0435 \u043d\u0430 \u0441\u0440\u0435\u0434\u0430\u0442\u0430 \u043f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435... Error\ starting\ pdfsam.=\u0413\u0440\u0435\u0448\u043a\u0430 \u043f\u0440\u0438 \u0441\u0442\u0430\u0440\u0442 \u043d\u0430 PDFSAM. \u041e\u043f\u0438\u0442\u0430\u0439 \u041f\u0430\u043a\! Clear\ log=\u0418\u0437\u0447\u0438\u0441\u0442\u0432\u0430\u043d\u0435 \u043d\u0430 \u043b\u043e\u0433\u0430 Unable\ to\ initialize\ button\ bar.=\u041d\u0435 \u043c\u043e\u0436\u0430\u0445 \u0434\u0430 \u0437\u0430\u0440\u0435\u0434\u044f \u043b\u0435\u043d\u0442\u0430\u0442\u0430 \u0441 \u0431\u0443\u0442\u043e\u043d\u0438 Version\:\ =\u0412\u0435\u0440\u0441\u0438\u044f\: Language\:\ =\u0415\u0437\u0438\u043a\: !Developed\ by\:\ = Build\ date\:\ =\u0414\u0430\u0442\u0430 \u043d\u0430 \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435 Java\ home\:\ =Java home\: Java\ version\:\ =Java version\: Max\ memory\:\ =Max memory\: Configuration\ file\:\ =\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u0435\u043d \u0444\u0430\u0439\u043b\: Website\:\ =Website\: Name=\u0418\u043c\u0435\: About=\u0417\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u0430\u0442\u0430 Unimplemented\ method\ for\ JInfoPanel=\u041d\u0435\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d \u043c\u0435\u0442\u043e\u0434 \u0437\u0430 JInfoPanel Contributes\:\ =\u0421\u044a\u0442\u0440\u0443\u0434\u043d\u0438\u0446\u0438\: Log\ level\:=\u041d\u0438\u0432\u043e \u043d\u0430 \u043e\u0442\u0447\u0438\u0442\u0430\u043d\u0435\: Settings=\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 Look\ and\ feel\:=\u0418\u0437\u0433\u043b\u0435\u0434 \u0438 \u0443\u0441\u0435\u0449\u0430\u043d\u0435\: Theme\:=\u0422\u0435\u043c\u0430\: Language\:=\u0415\u0437\u0438\u043a\: Check\ for\ updates\:=\u041f\u0440\u043e\u0432\u0435\u0440\u0438 \u0437\u0430 \u043e\u0441\u044a\u0432\u0440\u0435\u043c\u0435\u043d\u044f\u0432\u0430\u043d\u0438\u044f\: Load\ default\ environment\ at\ startup\:=\u0417\u0430\u0440\u0435\u0434\u0438 \u0441\u0440\u0435\u0434\u0430 \u043f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435 \u043f\u0440\u0438 \u0441\u0442\u0430\u0440\u0442\u0438\u0440\u0430\u043d\u0435 Default\ working\ directory\:=\u0420\u0430\u0431\u043e\u0442\u043d\u0430 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044f \u043f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435 Error\ getting\ default\ environment.=\u0413\u0440\u0435\u0448\u043a\u0430 \u043f\u0440\u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u0441\u0440\u0435\u0434\u0430\u0442\u0430 \u043f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435 Check\ now=\u041f\u0440\u043e\u0432\u0435\u0440\u0438 \u0441\u0435\u0433\u0430 Play\ alert\ sounds=\u0421\u0432\u0438\u0440\u0438 \u0430\u043b\u0430\u0440\u043c\u0435\u043d\u0438 \u0437\u0432\u0443\u0446\u0438 Settings\ =\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 Language=\u0415\u0437\u0438\u043a Set\ your\ preferred\ language\ (restart\ needed)=\u041d\u0430\u0441\u0442\u0440\u043e\u0439 \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0438\u0442\u0430\u043d \u0435\u0437\u0438\u043a Look\ and\ feel=\u0418\u0437\u0433\u043b\u0435\u0434 \u0438 \u0443\u0441\u0435\u0449\u0430\u043d\u0435 Set\ your\ preferred\ look\ and\ feel\ and\ your\ preferred\ theme\ (restart\ needed)=\u041d\u0430\u0441\u0442\u0440\u043e\u0439 \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0438\u0442\u0430\u043d\u0438 \u0438\u0437\u0433\u043b\u0435\u0434 \u0438 \u0443\u0441\u0435\u0449\u0430\u043d\u0435 \u0438 \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0438\u0442\u0430\u043d\u0430 \u0442\u0435\u043c\u0430 /\u043d\u0443\u0436\u0435\u043d \u0435 \u0440\u0435\u0441\u0442\u0430\u0440\u0442/ Log\ level=\u041d\u0438\u0432\u043e \u043d\u0430 \u043b\u043e\u0433\u0430 Set\ a\ log\ detail\ level\ (restart\ needed)=\u041d\u0430\u0441\u0442\u0440\u043e\u0439 \u043d\u0438\u0432\u043e \u043d\u0430 \u0434\u0435\u0442\u0430\u0439\u043b\u0438\u0442\u0435 \u0432 \u043b\u043e\u0433\u0430 /\u043d\u0443\u0436\u0435\u043d \u0435 \u0440\u0435\u0441\u0442\u0430\u0440\u0442/ Check\ for\ updates=\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0437\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f Set\ when\ new\ version\ availability\ should\ be\ checked\ (restart\ needed)=\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u0442\u0435 \u043a\u043e\u0433\u0430 \u0434\u0430 \u0441\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0432\u0430 \u0437\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u0432\u0435\u0440\u0441\u0438\u044f\u0442\u0430 /\u043d\u0443\u0436\u0435\u043d \u0435 \u0440\u0435\u0441\u0442\u0430\u0440\u0442/ Turn\ on\ or\ off\ alert\ sounds=\u0418\u0437\u043a\u043b\u044e\u0447\u0438 \u0437\u0432\u0443\u0446\u0438\u0442\u0435 - \u0430\u043c\u0430\u043d \u043e\u0442 \u0434\u0438\u043d\u0433\u0434\u043e\u043d\u0433\! Default\ env.=\u0421\u0440\u0435\u0434\u0430 \u043f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435. Select\ a\ previously\ saved\ env.\ file\ that\ will\ be\ automatically\ loaded\ at\ startup=\u0418\u0437\u0431\u0435\u0440\u0438 \u0444\u0430\u0439\u043b \u0441 \u043f\u0440\u0435\u0434\u0438\u0448\u043d\u043e \u0437\u0430\u043f\u043e\u043c\u043d\u0435\u043d\u0430 \u0441\u0440\u0435\u0434\u0430, \u043a\u043e\u0439\u0442\u043e \u0434\u0430 \u0441\u0435 \u0437\u0430\u0440\u0435\u0436\u0434\u0430 \u043f\u0440\u0438 \u0441\u0442\u0430\u0440\u0442\u0438\u0440\u0430\u043d\u0435 Default\ working\ directory=\u0420\u0430\u0431\u043e\u0442\u043d\u0430 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044f \u043f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435 Select\ a\ directory\ where\ documents\ will\ be\ saved\ and\ loaded\ by\ default=\u0418\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044f, \u043a\u044a\u0434\u0435\u0442\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0442\u0435 \u0441\u0435 \u0437\u0430\u043f\u0430\u0437\u0432\u0430\u0442 \u0438 \u0437\u0430\u0440\u0435\u0436\u0434\u0430\u0442 \u043f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435 Save=\u0417\u0430\u043f\u0430\u0437\u0432\u0430\u043d\u0435 Configuration\ saved.=\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u0442\u0430 \u0437\u0430\u043f\u0430\u0437\u0435\u043d\u0430 Unimplemented\ method\ for\ JSettingsPanel=\u041d\u0435\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d \u043c\u0435\u0442\u043e\u0434 \u0437\u0430 JSettingsPanel New\ version\ available\:\ =\u041f\u043e-\u043d\u043e\u0432\u0430 \u0432\u0435\u0440\u0441\u0438\u044f \u043d\u0430 \u0440\u0430\u0437\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435\: Plugins=\u0414\u043e\u0431\u0430\u0432\u043a\u0438 /plugins/ Error\ getting\ pdf\ version\ description.=\u0413\u0440\u0435\u0448\u043a\u0430 \u043f\u0440\u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435\u0442\u043e \u043d\u0430 PDF \u0432\u0435\u0440\u0441\u0438\u044f\u0442\u0430 Version\ 1.2\ (Acrobat\ 3)=Version 1.2 (Acrobat 3) Version\ 1.3\ (Acrobat\ 4)=\u0412\u0435\u0440. 1.3 (Acrobat 4) Version\ 1.4\ (Acrobat\ 5)=\u0412\u0435\u0440. 1.4 (Acrobat 5) Version\ 1.5\ (Acrobat\ 6)=\u0412\u0435\u0440. 1.5 (Acrobat 6) Version\ 1.6\ (Acrobat\ 7)=\u0412\u0435\u0440. 1.6 (Acrobat 7) Version\ 1.7\ (Acrobat\ 8)=\u0412\u0435\u0440. 1.7 (Acrobat 8) Never=\u041d\u0438\u043a\u043e\u0433\u0430 pdfsam\ start\ up=pdfsam \u0441\u0442\u0430\u0440\u0442\u0438\u0440\u0430 Output\ file\ location\ is\ not\ correct=\u041c\u044f\u0441\u0442\u043e\u0442\u043e \u043d\u0430 \u0438\u0437\u0445\u043e\u0434\u043d\u0438\u044f \u0444\u0430\u0439\u043b \u0435 \u043d\u0435\u043a\u043e\u0440\u0435\u043a\u0442\u043d\u043e Would\ you\ like\ to\ change\ it\ to=\u0416\u0435\u043b\u0430\u0435\u0442\u0435 \u043b\u0438 \u0434\u0430 \u0433\u043e \u043f\u0440\u043e\u043c\u0435\u043d\u0438\u0442\u0435 \u043d\u0430 Output\ location\ error=\u0413\u0440\u0435\u0448\u043d\u0430 \u0438\u0437\u0445\u043e\u0434\u043d\u0430 \u043b\u043e\u043a\u0430\u0446\u0438\u044f !Selected\ output\ file\ already\ exists\ = !Would\ you\ like\ to\ overwrite\ it?= !Provided\ pages\ selection\ is\ not\ valid= !Limits\ must\ be\ a\ comma\ separated\ list\ of\ "page_number"\ or\ "page_number-page_number"= !Limits\ are\ not\ valid= Checking\ for\ a\ new\ version\ available.=\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0437\u0430 \u043d\u043e\u0432\u0430 \u0432\u0435\u0440\u0441\u0438\u044f Error\ checking\ for\ a\ new\ version\ available.=\u0413\u0440\u0435\u0448\u043a\u0430 \u043f\u0440\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0437\u0430 \u043d\u043e\u0432\u0430 \u0432\u0435\u0440\u0441\u0438\u044f Unable\ to\ get\ latest\ available\ version=\u041d\u0435 \u043c\u043e\u0433\u0430 \u0434\u0430 \u043f\u043e\u043b\u0443\u0447\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0430\u0442\u0430 \u0432\u0435\u0440\u0441\u0438\u044f \u043d\u0430 \u0440\u0430\u0437\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 New\ version\ available.=\u041d\u043e\u0432\u0430 \u0432\u0435\u0440\u0441\u0438\u044f \u043d\u0430 \u0440\u0430\u0437\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 No\ new\ version\ available.=\u041d\u044f\u043c\u0430 \u043d\u043e\u0432\u0430 \u0432\u0435\u0440\u0441\u0438\u044f Cut=\u0418\u0437\u0440\u0435\u0436\u0438 Paste=\u041f\u043e\u0441\u0442\u0430\u0432\u0438 pdfsam-1.1.4/pdfsam-langpack-br1/src/java/org/pdfsam/i18n/resources/Messages_tr.properties0000644000175000017500000014315311225342444031403 0ustar twernertwerner# Turkish translation for pdfsam # Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 # This file is distributed under the same license as the pdfsam package. # Muhammet Kara , 2007. # !=Project-Id-Version\: pdfsam\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2009-07-09 12\:23+0200\nPO-Revision-Date\: 2008-05-07 08\:32+0000\nLast-Translator\: Sefa Denizo\u011flu \nLanguage-Team\: Turkish \nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Launchpad-Export-Date\: 2008-05-17 08\:20+0000\nX-Generator\: Launchpad (build Unknown)\nX-Poedit-Language\: Turkish\n # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:386 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:389 #, fuzzy !Merge\ options=Birle\u015ftirme se\u00e7enekleri\: # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:389 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:392 PDF\ documents\ contain\ forms=PDF belgelerinde formlar bulunur # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:394 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:397 Merge\ type=Birle\u015ftirme t\u00fcr\u00fc # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:395 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:398 Unchecked=\u0130\u015faretlenmemi\u015f # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:395 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:398 Use\ this\ merge\ type\ for\ standard\ pdf\ documents=Standart pdf belgeleri i\u00e7in bu birle\u015ftirme t\u00fcr\u00fcn\u00fc kullan # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:396 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:399 Checked=\u0130\u015faretlenmi\u015f # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:396 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:399 Use\ this\ merge\ type\ for\ pdf\ documents\ containing\ forms=Form bulunduran pdf belgeleri i\u00e7in bu birle\u015ftirme t\u00fcr\u00fcn\u00fc kullan. # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:397 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:400 Note=Not # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:397 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:400 Setting\ this\ option\ the\ documents\ will\ be\ completely\ loaded\ in\ memory=Bu se\u00e7ene\u011fi ayarlarsan\u0131z belgeler haf\u0131zaya tamamen y\u00fcklenecektir # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:440 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:255 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:444 Destination\ output\ file=Hedef \u00e7\u0131kt\u0131 dosyas\u0131 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:387 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:414 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:441 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:599 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:619 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:649 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:879 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:983 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:616 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:423 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:588 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:608 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:638 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:861 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:977 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:143 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:170 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:237 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:498 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:539 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:256 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:427 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:599 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:907 Error\:\ =Hata\: Browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ file.=\u00c7\u0131kt\u0131 dosyas\u0131 i\u00e7in yer se\u00e7in veya dosyan\u0131n tam ad\u0131n\u0131 -bulundu\u011fu yer dahil- girin. Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ file\ if\ it\ already\ exists.=\u00c7\u0131kt\u0131 dosyas\u0131 mevcut olmas\u0131 durumunda e\u011fer \u00fczerine yazmak istiyorsan\u0131z kutuyu i\u015faretleyin. # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:460 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:348 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:312 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:308 #, fuzzy !Check\ the\ box\ if\ you\ want\ compressed\ output\ files.=E\u011fer zaten varsalar \u00e7\u0131kt\u0131 dosyalar\u0131n\u0131n \u00fczerine yaz\u0131lmas\u0131n\u0131 istiyorsan\u0131z bu kutuyu i\u015faretleyin. PDF\ version\ 1.5\ or\ above.=PDF 1.5 versiyonu veya \u00fcst\u00fc. Set\ the\ pdf\ version\ of\ the\ ouput\ document.=\u00c7\u0131kt\u0131 belgesinin pdf s\u00fcr\u00fcm\u00fcn\u00fc belirtin. # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:469 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:408 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:451 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:509 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:511 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:350 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:455 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:514 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:516 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:346 Please\ wait\ while\ all\ files\ are\ processed..=T\u00fcm dosyalar i\u015flem g\u00f6r\u00fcrken l\u00fctfen bekleyin... Found\ a\ password\ for\ input\ file.=A\u00e7\u0131lacak dosya i\u00e7in \u015fifre bulundu. # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:187 #, fuzzy !Please\ select\ at\ least\ one\ pdf\ document.=\u0130kinci pdf belgesi\: !Warning= # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:524 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:528 Execute\ pdf\ merge=Pdf birle\u015fimini yap #, fuzzy !Merge/Extract=Birle\u015ftir/Ay\u0131r # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:858 #, fuzzy !Merge\ section\ loaded.=Y\u00fcklenen b\u00f6l\u00fcm\u00fc birle\u015ftir. !Export\ as\ xml= Unable\ to\ save\ xml\ file.=XML dosyas\u0131 kaydedilemedi. Ok=Tamam File\ xml\ saved.=XML dosyas\u0131 kaydedildi. Error\ saving\ xml\ file,\ output\ file\ is\ null.=XML dosyas\u0131 kaydedilemedi, \u00e7\u0131kt\u0131 dosyas\u0131 mevcut de\u011fil. Split\ options=Ay\u0131rma se\u00e7enekleri Burst\ (split\ into\ single\ pages)=Art Arda (tekli sayfalara b\u00f6l) Split\ every\ "n"\ pages=Her "n" sayfada b\u00f6l Split\ even\ pages=\u00c7ift sayfa numaral\u0131lar\u0131 b\u00f6l Split\ odd\ pages=Tek sayfa numaral\u0131lar\u0131 b\u00f6l Split\ after\ these\ pages=Bu sayfalardan sonra b\u00f6l Split\ at\ this\ size=Bu boyutta par\u00e7alara ay\u0131r !Split\ by\ bookmarks\ level= # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:221 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:221 !Burst= Explode\ the\ pdf\ document\ into\ single\ pages=PDF belgesini tek tek sayfalara par\u00e7ala Split\ the\ document\ every\ "n"\ pages=D\u00f6k\u00fcman\u0131 her "n" sayfada bir ay\u0131r Split\ the\ document\ every\ even\ page=Dmk\u00fcman\u0131 her \u00e7ift sayfada bir ay\u0131r Split\ the\ document\ every\ odd\ page=D\u00f6k\u00fcman\u0131 her tek numaral\u0131 sayfada ay\u0131r Split\ the\ document\ after\ page\ numbers\ (num1-num2-num3..)=D\u00f6k\u00fcman\u0131 \u015fu sayfalarda b\u00f6l (syf1-syf2-syf3...) #, fuzzy !Split\ the\ document\ in\ files\ of\ the\ given\ size\ (roughly)=D\u00f6k\u00fcman\u0131 (yakla\u015f\u0131k) \u015fu boyutlarda par\u00e7alara ay\u0131r #, fuzzy !Split\ the\ document\ at\ pages\ referred\ by\ bookmarks\ of\ the\ given\ level=D\u00f6k\u00fcman\u0131 (yakla\u015f\u0131k) \u015fu boyutlarda par\u00e7alara ay\u0131r # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:294 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:253 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:253 #, fuzzy !Destination\ folder=Hedef klas\u00f6r\: # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:297 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:256 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:256 Same\ as\ source=Kaynakla ayn\u0131 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:301 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:260 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:260 Choose\ a\ folder=Bir klas\u00f6r se\u00e7in # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:458 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:345 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:309 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:305 Destination\ output\ directory=Hedef \u00e7\u0131kt\u0131 dizini # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:346 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:310 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:306 Use\ the\ same\ output\ folder\ as\ the\ input\ file\ or\ choose\ a\ folder.=Girdi dosyas\u0131yla ayn\u0131 klas\u00f6r\u00fc \u00e7\u0131kt\u0131 i\u00e7in kullan\u0131n ya da bir klas\u00f6r se\u00e7in. To\ choose\ a\ folder\ browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ directory.=Bir dizini se\u00e7mek i\u00e7in dizine g\u00f6z at\u0131n veya hedef \u00e7\u0131kt\u0131 dizininin tam adresini yaz\u0131n. # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:460 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:348 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:312 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:308 Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ files\ if\ they\ already\ exist.=E\u011fer zaten varsalar \u00e7\u0131kt\u0131 dosyalar\u0131n\u0131n \u00fczerine yaz\u0131lmas\u0131n\u0131 istiyorsan\u0131z bu kutuyu i\u015faretleyin. # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:353 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:318 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:314 #, fuzzy !Output\ options=\u00c7\u0131kt\u0131 se\u00e7enekleri\: # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:384 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:326 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:322 Output\ file\ names\ prefix\:=\u00c7\u0131kt\u0131 dosyas\u0131 adlar\u0131 \u00f6n eki\: # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:394 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:336 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:331 Output\ files\ prefix=\u00c7\u0131kt\u0131 dosyalar\u0131 \u00f6n eki !If\ it\ contains\ "[CURRENTPAGE]",\ "[TIMESTAMP]",\ "[FILENUMBER]"\ or\ "[BOOKMARK_NAME]"\ it\ performs\ variable\ substitution.= Ex.\ prefix_[BASENAME]_[CURRENTPAGE]\ generates\ prefix_FileName_005.pdf.=\u00d6rne\u011fin, "\u00d6nEk_[BASENAME]_[CURRENTPAGE]" ifadesi "\u00d6nEk_DosyaAdi_005.pdf" gibi bir dosya olu\u015fturur. #, fuzzy !If\ it\ doesn't\ contain\ "[CURRENTPAGE]",\ "[TIMESTAMP]"\ or\ "[FILENUMBER]"\ it\ generates\ oldstyle\ output\ file\ names.="[CURRENTPAGE]" veya "[TIMESTAMP]" i\u00e7ermiyorsa eski us\u00fcl dosya ad\u0131 verir. !Available\ variables= Invalid\ split\ size=Ge\u00e7ersiz ay\u0131rma boyutu #, fuzzy !The\ lowest\ available\ pdf\ version\ is\ =Ge\u00e7erli en d\u00fc\u015f\u00fck pdf s\u00fcr\u00fcm\u00fc You\ selected\ a\ lower\ output\ pdf\ version,\ continue\ anyway\ ?=\u00c7\u0131kt\u0131 dosyas\u0131 i\u00e7in eski bir pdf s\u00fcr\u00fcm\u00fc se\u00e7tiniz, yine de devam edilsin mi? # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:191 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:195 #, fuzzy !Pdf\ version\ conflict=Bu belgeyi tersine \u00e7evir # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:187 #, fuzzy !Please\ select\ a\ pdf\ document.=\u0130kinci pdf belgesi\: # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:411 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:409 Split\ selected\ file=Se\u00e7ilen dosyay\u0131 b\u00f6l Split=B\u00f6l # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:536 Split\ section\ loaded.=Y\u00fcklenen b\u00f6l\u00fcm\u00fc b\u00f6l. Invalid\ unit\:\ =Ge\u00e7ersiz birim\: # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:184 #, fuzzy !Fill\ from\ document=\u0130lk pdf belgesi\: !Getting\ bookmarks\ max\ depth= !Frontpage\ pdf\ file= !Addendum\ pdf\ file= Select\ at\ least\ one\ cover\ or\ one\ footer=En az bir ba\u015fl\u0131k veya dipnot se\u00e7melisiniz !Frontpage\ and\ Addendum= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:876 #, fuzzy !Cover\ And\ Footer\ section\ loaded.=CoverAndFooter b\u00f6l\u00fcm\u00fc y\u00fcklendi. # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:256 #, fuzzy !Encrypt\ options=Kodlama se\u00e7enekleri\: # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:206 Owner\ password\:=Sahiplik parolas\u0131\: # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:210 Owner\ password\ (Max\ 32\ chars\ long)=Sahiplik parolas\u0131 (En fazla 32 karekter uzunlu\u011funda) # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:214 User\ password\:=Kullan\u0131c\u0131 parolas\u0131\: # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:218 User\ password\ (Max\ 32\ chars\ long)=Kullan\u0131c\u0131 parolas\u0131 (En fazla 32 karekter uzunlu\u011funda) # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:222 #, fuzzy !Encryption\ algorithm\:=Kodlama algoritmas\u0131\: # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:253 Allow\ all=T\u00fcm\u00fcne izin ver # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:229 Print=Yazd\u0131r # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:232 Low\ quality\ print=D\u00fc\u015f\u00fck kalite yaz\u0131m # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:235 #, fuzzy !Copy\ or\ extract=Kopyala ya da \u00e7\u0131kart # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:238 Modify=De\u011fi\u015ftir Add\ or\ modify\ text\ annotations=Yaz\u0131 a\u00e7\u0131klamalar\u0131 ve \u015ferhi ekle/de\u011fi\u015ftir # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:244 Fill\ form\ fields=Form alanlar\u0131n\u0131 doldur # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:247 !Extract\ for\ use\ by\ accessibility\ dev.= # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:250 !Manipulate\ pages\ and\ add\ bookmarks= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:460 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:348 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:312 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:308 #, fuzzy !Check\ the\ box\ if\ you\ want\ compressed\ output\ files\ (Pdf\ version\ 1.5\ or\ higher).=E\u011fer zaten varsalar \u00e7\u0131kt\u0131 dosyalar\u0131n\u0131n \u00fczerine yaz\u0131lmas\u0131n\u0131 istiyorsan\u0131z bu kutuyu i\u015faretleyin. # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:395 !If\ it\ contains\ "[TIMESTAMP]"\ it\ performs\ variable\ substitution.= # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:396 !Ex.\ [BASENAME]_prefix_[TIMESTAMP]\ generates\ FileName_prefix_20070517_113423471.pdf.= # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:397 !If\ it\ doesn't\ contain\ "[TIMESTAMP]"\ it\ generates\ oldstyle\ output\ file\ names.= # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:398 !Available\ variables\:\ [TIMESTAMP],\ [BASENAME].= # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:463 #, fuzzy !Encrypt\ selected\ files=Se\u00e7ilen dosyay\u0131 kodla # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:256 #, fuzzy !Encrypt=Kodlama se\u00e7enekleri\: # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:613 Encrypt\ section\ loaded.=Y\u00fcklenen b\u00f6l\u00fcm\u00fc kodla. # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:463 #, fuzzy !Decrypt\ selected\ files=Se\u00e7ilen dosyay\u0131 kodla # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:256 #, fuzzy !Decrypt=Kodlama se\u00e7enekleri\: # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:613 #, fuzzy !Decrypt\ section\ loaded.=Y\u00fcklenen b\u00f6l\u00fcm\u00fc kodla. #, fuzzy !Mix\ options=Ay\u0131rma se\u00e7enekleri # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:191 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:195 #, fuzzy !Reverse\ first\ document=Bu belgeyi tersine \u00e7evir # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:191 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:195 #, fuzzy !Reverse\ second\ document=Bu belgeyi tersine \u00e7evir !Number\ of\ pages\ to\ switch\ document= !Tick\ the\ boxes\ if\ you\ want\ to\ reverse\ the\ first\ or\ the\ second\ document\ (or\ both).= !Set\ the\ number\ of\ pages\ to\ switch\ from\ a\ document\ to\ the\ other\ one\ (default\ is\ 1).= !Found\ a\ password\ for\ first\ file.= !Found\ a\ password\ for\ second\ file.= # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:187 #, fuzzy !Please\ select\ two\ pdf\ documents.=\u0130kinci pdf belgesi\: # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:318 !Execute\ pdf\ alternate\ mix= !Alternate\ Mix= # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:495 !AlternateMix\ section\ loaded.= !Unpack\ selected\ files= !Unpack= # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:613 #, fuzzy !Unpack\ section\ loaded.=Y\u00fcklenen b\u00f6l\u00fcm\u00fc kodla. #, fuzzy !Set\ viewer\ options=Ay\u0131rma se\u00e7enekleri !Hide\ the\ menubar= !Hide\ the\ toolbar= !Hide\ user\ interface\ elements= !Rezise\ the\ window\ to\ fit\ the\ page\ size= !Center\ of\ the\ screen= !Display\ document\ title\ as\ window\ title= # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:191 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:195 #, fuzzy !Pdf\ version\ required\:=Bu belgeyi tersine \u00e7evir !No\ page\ scaling\ in\ print\ dialog= !Viewer\ layout\:= !Viewer\ open\ mode\:= !Non\ fullscreen\ mode\:= !Direction\:= #, fuzzy !Set\ options=Ay\u0131rma se\u00e7enekleri # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:463 #, fuzzy !Set\ viewer\ options\ for\ selected\ files=Se\u00e7ilen dosyay\u0131 kodla !Left\ to\ right= !Right\ to\ left= # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:397 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:400 #, fuzzy !None=Not !Fullscreen= !Attachments= !Optional\ content\ group\ panel= # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:389 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:392 #, fuzzy !Document\ outline=PDF belgelerinde formlar bulunur !Thumbnail\ images= !One\ page\ at\ a\ time= !Pages\ in\ one\ column= !Pages\ in\ two\ columns\ (odd\ on\ the\ left)= !Pages\ in\ two\ columns\ (odd\ on\ the\ right)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ left)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ right)= # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:386 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:389 #, fuzzy !Viewer\ options=Birle\u015ftirme se\u00e7enekleri\: # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:613 #, fuzzy !Viewer\ options\ section\ loaded.=Y\u00fcklenen b\u00f6l\u00fcm\u00fc kodla. !Save\ passwords\ informations\ (they\ will\ be\ readable\ opening\ the\ output\ file)?= !Confirm\ password\ saving= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:233 Unknown\ action.=Bilinmeyen hareket. # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:253 Log\ saved.=G\u00fcnl\u00fck kaydedildi. # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:113 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:64 #, fuzzy !\ node\ environment\ loaded.=\ Ortam y\u00fckle !Environment\ saved.= !Error\ saving\ environment,\ output\ file\ is\ null.= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:109 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:58 #, fuzzy !Error\ saving\ environment.=Ortam\u0131 kaydet # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:613 #, fuzzy !Environment\ loaded.=Y\u00fcklenen b\u00f6l\u00fcm\u00fc kodla. # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:113 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:64 #, fuzzy !Error\ loading\ environment.=Ortam y\u00fckle !Error\ loading\ environment\ from\ input\ file.\ = !Selection\ table\ is\ full,\ please\ remove\ some\ pdf\ document.= !Table\ full= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:252 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:869 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:245 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:851 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:248 #, fuzzy !Please\ wait\ while\ reading=Okurken l\u00fctfen bekleyin # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:187 #, fuzzy !Selected\ file\ is\ not\ a\ pdf\ document.=\u0130kinci pdf belgesi\: # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:113 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:64 #, fuzzy !Error\ loading\ =Ortam y\u00fckle !Command\ validation\ returned\ an\ empty\ value.= !Command\ executed.= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:180 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:178 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:181 File\ name=Dosya Ad\u0131 !Number\ of\ pages= !File\ size= !Pdf\ version= !Encryption= !Not\ encrypted= !Permissions= !Title= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:118 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\GUI\InfoGUI.java:128 Author=Yazar !Subject= !Producer= !Creator= !Creation\ date= !Modification\ date= !Keywords= !Document\ properties= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:55 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\GUI\MainGUI.java:217 File=Dosya # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\GUI\InfoGUI.java:150 Close=Kapat # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:99 Copy=Kopyala !Error\ creating\ properties\ panel.= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:542 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:462 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:526 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:320 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:410 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:530 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:408 Run=\u00c7al\u0131\u015ft\u0131r # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:394 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:421 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:448 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:175 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:340 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:430 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:150 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:177 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:244 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:164 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:304 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:233 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:434 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:163 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:300 Browse=G\u00f6zat # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:264 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:257 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:260 Add=Ekle # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:326 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:338 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:341 #, fuzzy !Compress\ output\ file/files=\u00c7\u0131kt\u0131 dosyas\u0131n\u0131 ayarla # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:452 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:315 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:434 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:249 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:279 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:438 Overwrite\ if\ already\ exists=E\u011fer zaten varsa \u00fczerine yaz !Don't\ preserve\ file\ order\ (fast\ load)= # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:353 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:318 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:314 #, fuzzy !Output\ document\ pdf\ version\:=\u00c7\u0131kt\u0131 se\u00e7enekleri\: !The\ cross\ reference\ table\ cantained\ some\ error\ and\ has\ been\ rebuilt= !The\ document\ has\ not\ been\ opened\ with\ the\ owner\ password.\ You\ must\ provide\ the\ owner\ password\ in\ order\ to\ manipulate\ the\ document= !An\ error\ occured\ while\ loading\ the\ document= # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:187 #, fuzzy !Same\ as\ input\ document=\u0130kinci pdf belgesi\: # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:181 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:179 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:182 Path=Yol # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:182 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:180 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:183 Pages=Sayfalar # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:214 #, fuzzy !Password=Kullan\u0131c\u0131 parolas\u0131\: # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:118 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\GUI\InfoGUI.java:128 Version=S\u00fcr\u00fcm # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:183 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:181 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:184 Page\ Selection=Sayfa Se\u00e7imi !Total\ pages\ of\ the\ document= !Password\ to\ open\ the\ document\ (if\ needed)= # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:191 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:195 #, fuzzy !Pdf\ version\ of\ the\ document=Bu belgeyi tersine \u00e7evir !Double\ click\ to\ set\ pages\ you\ want\ to\ merge\ (ex\:\ 2\ or\ 5-23\ or\ 2,5-7,12-)= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:232 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:225 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:228 Add\ a\ pdf\ to\ the\ list=Listeye bir pdf ekle # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:269 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:262 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:265 Remove\ a\ pdf\ from\ the\ list=Bir pdf'yi listeden \u00e7\u0131kart !(Canc)= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:273 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:317 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:266 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:311 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:269 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:314 Remove=Kald\u0131r !Reload= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:338 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:350 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:353 #, fuzzy !Error\:\ Unable\ to\ reload\ the\ selected\ file/s.=Hata\: Dosya yolu al\u0131nam\u0131yor. !Unable\ to\ remove\ JList\ text\ = # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:596 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:646 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:585 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:635 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:596 File\ selected\:\ =Se\u00e7ilen dosya\: # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:596 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:646 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:585 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:635 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:596 #, fuzzy !File\ reloaded\:\ =Se\u00e7ilen dosya\: # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:273 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:320 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:276 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:323 Move\ Up=Yukar\u0131 Ta\u015f\u0131 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:274 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:277 Move\ up\ selected\ pdf\ file=Se\u00e7ilen pdf dosyas\u0131n\u0131 yukar\u0131 ta\u015f\u0131 !(Alt+ArrowUp)= # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:282 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:329 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:285 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:332 Move\ Down=A\u015fa\u011f\u0131 Ta\u015f\u0131 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:283 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:286 Move\ down\ selected\ pdf\ file=Se\u00e7ilen pdf dosyas\u0131n\u0131 a\u015fa\u011f\u0131 ta\u015f\u0131 !(Alt+ArrowDown)= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:284 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:294 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:105 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:297 Clear=Temizle # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:295 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:298 Remove\ every\ pdf\ file\ from\ the\ merge\ list=Her pdf dosyas\u0131n\u0131 birle\u015ftirme listesinden kald\u0131r # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:326 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:338 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:341 Set\ output\ file=\u00c7\u0131kt\u0131 dosyas\u0131n\u0131 ayarla # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:338 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:350 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:353 Error\:\ Unable\ to\ get\ the\ file\ path.=Hata\: Dosya yolu al\u0131nam\u0131yor. !Unable\ to\ get\ the\ default\ environment\ informations.= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:225 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\panels\JSettingsPanel.java:183 #, fuzzy !Setting\ look\ and\ feel...=G\u00f6r\u00fcn\u00fcm !Setting\ logging\ level...= !Unable\ to\ find\ log\ level,\ setting\ to\ default\ level\ (DEBUG).= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:143 #, fuzzy !Logging\ level\ set\ to\ =G\u00fcnl\u00fck d\u00fczeyi\: !Unable\ to\ set\ logging\ level.= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:458 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:345 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:309 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:305 #, fuzzy !Error\ getting\ plugins\ directory.=Hedef \u00e7\u0131kt\u0131 dizini !Cannot\ read\ plugins\ directory\ = !Plugins\ directory\ is\ null.= !Found\ zero\ or\ many\ jars\ in\ plugin\ directory\ = # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:188 #, fuzzy !Exception\ loading\ plugins.=Eklentiler y\u00fckleniyor... !Cannot\ read\ plugin\ directory\ = # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:536 #, fuzzy !\ plugin\ loaded.=\ Y\u00fcklenen b\u00f6l\u00fcm\u00fc b\u00f6l. !Unable\ to\ load\ a\ plugin\ that\ is\ not\ JPanel\ subclass.= !Error\ loading\ class\ = # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:112 Select\ all=T\u00fcm\u00fcn\u00fc se\u00e7 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:117 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:121 Save\ log=G\u00fcnl\u00fc\u011f\u00fc kaydet # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:109 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:58 Save\ environment=Ortam\u0131 kaydet # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:113 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:64 Load\ environment=Ortam y\u00fckle # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:125 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:70 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\GUI\MainGUI.java:237 Exit=\u00c7\u0131k\u0131\u015f !Unable\ to\ initialize\ menu\ bar.= !started\ in\ = # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:188 Loading\ plugins..=Eklentiler y\u00fckleniyor... # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:167 Building\ menus..=Men\u00fcler haz\u0131rlan\u0131yor... # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:173 !Building\ buttons\ bar..= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:259 Building\ status\ bar..=Durum \u00e7ubu\u011fu haz\u0131rlan\u0131yor... # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:231 Building\ tree..=A\u011fa\u00e7 haz\u0131rlan\u0131yor... !Loading\ default\ environment.= !Error\ starting\ pdfsam.= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:121 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\GUI\MainGUI.java:226 Clear\ log=G\u00fcnl\u00fc\u011f\u00fc temizle !Unable\ to\ initialize\ button\ bar.= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 Version\:\ =S\u00fcr\u00fcm\: # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\GUI\InfoGUI.java:118 Language\:\ =Dil\: !Developed\ by\:\ = # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\GUI\InfoGUI.java:118 Build\ date\:\ =\u0130n\u015faa tarihi\: !Java\ home\:\ = # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 #, fuzzy !Java\ version\:\ =S\u00fcr\u00fcm\: !Max\ memory\:\ = !Configuration\ file\:\ = # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\GUI\InfoGUI.java:118 Website\:\ =Web Sitesi\: # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:118 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\GUI\InfoGUI.java:128 Name=Ad # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\GUI\MainGUI.java:222 About=Hakk\u0131nda !Unimplemented\ method\ for\ JInfoPanel= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:167 Contributes\:\ =Katk\u0131c\u0131lar\: # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:128 Log\ level\:=G\u00fcnl\u00fck d\u00fczeyi\: # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:223 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\panels\JSettingsPanel.java:181 #, fuzzy !Settings=Ayarlar\: # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:119 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\panels\JSettingsPanel.java:110 Look\ and\ feel\:=G\u00f6r\u00fcn\u00fcm\: # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:122 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\panels\JSettingsPanel.java:113 Theme\:=Tema\: # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:125 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\panels\JSettingsPanel.java:116 Language\:=Dil\: !Check\ for\ updates\:= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:131 Load\ default\ environment\ at\ startup\:=Ba\u015flang\u0131\u00e7ta \u00f6ntan\u0131ml\u0131 ortam\u0131 y\u00fckle. !Default\ working\ directory\:= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:131 #, fuzzy !Error\ getting\ default\ environment.=Ba\u015flang\u0131\u00e7ta \u00f6ntan\u0131ml\u0131 ortam\u0131 y\u00fckle. # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:396 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:399 #, fuzzy !Check\ now=\u0130\u015faretlenmi\u015f !Play\ alert\ sounds= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:223 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\panels\JSettingsPanel.java:181 Settings\ =Ayarlar\: # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:224 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\panels\JSettingsPanel.java:182 Language=Dil # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:224 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\panels\JSettingsPanel.java:182 Set\ your\ preferred\ language\ (restart\ needed)=Tercih edilen dilinizi ayarlay\u0131n (yeniden ba\u015flatmak gerekir) # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:225 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\panels\JSettingsPanel.java:183 Look\ and\ feel=G\u00f6r\u00fcn\u00fcm # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:225 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\panels\JSettingsPanel.java:183 Set\ your\ preferred\ look\ and\ feel\ and\ your\ preferred\ theme\ (restart\ needed)=Tercih edilen g\u00f6r\u00fcn\u00fcm\u00fcn\u00fcz\u00fc ve teman\u0131z\u0131 ayarlay\u0131n (yeniden ba\u015flatmak gerekir) # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:226 Log\ level=G\u00fcnl\u00fck d\u00fczeyi # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:226 Set\ a\ log\ detail\ level\ (restart\ needed)=Bir g\u00fcnl\u00fck ayr\u0131nt\u0131 d\u00fczeyi ayarlay\u0131n (yeniden ba\u015flatmak gerekir) !Check\ for\ updates= !Set\ when\ new\ version\ availability\ should\ be\ checked\ (restart\ needed)= !Turn\ on\ or\ off\ alert\ sounds= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:227 #, fuzzy !Default\ env.=\u00d6ntan\u0131ml\u0131 ort. # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:227 !Select\ a\ previously\ saved\ env.\ file\ that\ will\ be\ automatically\ loaded\ at\ startup= !Default\ working\ directory= !Select\ a\ directory\ where\ documents\ will\ be\ saved\ and\ loaded\ by\ default= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:257 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:241 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\panels\JSettingsPanel.java:190 Save=Kaydet # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:253 #, fuzzy !Configuration\ saved.=G\u00fcnl\u00fck kaydedildi. !Unimplemented\ method\ for\ JSettingsPanel= !New\ version\ available\:\ = !Plugins= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:458 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:345 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:309 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:305 #, fuzzy !Error\ getting\ pdf\ version\ description.=Hedef \u00e7\u0131kt\u0131 dizini !Version\ 1.2\ (Acrobat\ 3)= !Version\ 1.3\ (Acrobat\ 4)= !Version\ 1.4\ (Acrobat\ 5)= !Version\ 1.5\ (Acrobat\ 6)= !Version\ 1.6\ (Acrobat\ 7)= !Version\ 1.7\ (Acrobat\ 8)= !Never= !pdfsam\ start\ up= !Output\ file\ location\ is\ not\ correct= !Would\ you\ like\ to\ change\ it\ to= !Output\ location\ error= !Selected\ output\ file\ already\ exists\ = !Would\ you\ like\ to\ overwrite\ it?= !Provided\ pages\ selection\ is\ not\ valid= !Limits\ must\ be\ a\ comma\ separated\ list\ of\ "page_number"\ or\ "page_number-page_number"= !Limits\ are\ not\ valid= !Checking\ for\ a\ new\ version\ available.= !Error\ checking\ for\ a\ new\ version\ available.= !Unable\ to\ get\ latest\ available\ version= !New\ version\ available.= !No\ new\ version\ available.= !Cut= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:181 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:179 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:182 #, fuzzy !Paste=Yol pdfsam-1.1.4/pdfsam-langpack-br1/src/java/org/pdfsam/i18n/resources/Messages_sk.properties0000644000175000017500000005106611225342444031374 0ustar twernertwerner# Slovak translation for pdfsam # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the pdfsam package. # FIRST AUTHOR , 2008. # !=Project-Id-Version\: pdfsam\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2009-07-09 12\:23+0200\nPO-Revision-Date\: 2009-01-17 12\:54+0000\nLast-Translator\: Ankur Purecha \nLanguage-Team\: Lukas Holcek \nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Launchpad-Export-Date\: 2009-01-18 15\:08+0000\nX-Generator\: Launchpad (build Unknown)\nX-Poedit-Country\: SLOVAKIA\nX-Poedit-Language\: Slovak\nX-Poedit-SourceCharset\: iso-8859-2\n !Merge\ options= PDF\ documents\ contain\ forms=PDF dokumenty obsahuj\u00fa formul\u00e1re Merge\ type=Typ zl\u00fa\u010denia Unchecked=Neza\u0161krtnut\u00e9 Use\ this\ merge\ type\ for\ standard\ pdf\ documents=Pou\u017ei\u0165 tento typ zl\u00fa\u010denia pre \u0161tandardn\u00e9 PDF dokumenty Checked=Za\u0161krtnut\u00e9 Use\ this\ merge\ type\ for\ pdf\ documents\ containing\ forms=Pou\u017ei\u0165 tento typ zl\u00fa\u010denia pre pdf dokumenty, ktor\u00e9 obsahuj\u00fa formul\u00e1re Note=Pozn\u00e1mka Setting\ this\ option\ the\ documents\ will\ be\ completely\ loaded\ in\ memory=Nastaven\u00edm tejto mo\u017enosti bud\u00fa dokumenty plne na\u010d\u00edtan\u00e9 do pam\u00e4te Destination\ output\ file=Corel, logo Corel, CorelDRAW, Corel R.A.V.E., CorelTUTOR, procreate, deepwhite, Perfect Shapes, PowerClip, Docker a Scrapbook jsou obchodn\u00ed zn\u00e1mky nebo registrovan\u00e9 Error\:\ =Chyba\: Browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ file.=N\u00e1jdite, alebo zadajte pln\u00fa cestu do cie+ov\u00e9ho v\u00fdstupn\u00e9ho s\u00faboru. Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ file\ if\ it\ already\ exists.=Zvo\u013ete t\u00fato mo\u017enos\u0165, pokia\u013e si \u017eel\u00e1te prep\u00edsa\u0165 s\u00fabor, ak u\u017e existuje. Check\ the\ box\ if\ you\ want\ compressed\ output\ files.=Za\u0161ktnite, ak si \u017eel\u00e1te zkomprimova\u0165 v\u00fdstupn\u00e9 s\u00fabory. PDF\ version\ 1.5\ or\ above.=PDF verzia 1.5, alebo vy\u0161\u0161ia. Set\ the\ pdf\ version\ of\ the\ ouput\ document.=Nastavte verziu pdf v\u00fdstupn\u00e9ho dokumentu. Please\ wait\ while\ all\ files\ are\ processed..=Pros\u00edm \u010dakajte ne\u017e sa spracuj\u00fa v\u0161etky s\u00fabory... Found\ a\ password\ for\ input\ file.=N\u00e1jden\u00e9 heslo pre vstupn\u00fd s\u00fabor !Please\ select\ at\ least\ one\ pdf\ document.= !Warning= Execute\ pdf\ merge=Spusti\u0165 PDF zl\u00fa\u010denie Merge/Extract=Spoji\u0165/Extrahova\u0165 Merge\ section\ loaded.=Spoji\u0165 nahrat\u00fa sekciu. Export\ as\ xml=Exportova\u0165 do xml Unable\ to\ save\ xml\ file.=Nem\u00f4\u017eem ulo\u017ei\u0165 xml s\u00faor. Ok=Ok File\ xml\ saved.=xml s\u00faor ulo\u017een\u00fd Error\ saving\ xml\ file,\ output\ file\ is\ null.=Chyba pri ukladan\u00ed xml s\u00faboru, v\u00fdstupn\u00fd s\u00fabor je nulov\u00fd. Split\ options=Mo\u017enosti rozdelenia Burst\ (split\ into\ single\ pages)=Rozdeli\u0165 na jednotliv\u00e9 str\u00e1nky Split\ every\ "n"\ pages=Rozdeli\u0165 ka\u017ed\u00fdch "n" str\u00e1nok Split\ even\ pages=Rozdeli\u0165 p\u00e1rne str\u00e1nky Split\ odd\ pages=Rozdeli\u0165 nep\u00e1rne str\u00e1nky Split\ after\ these\ pages=Rozdeli\u0165 za t\u00fdmito str\u00e1nkami Split\ at\ this\ size=Rozdeli\u0165 na tejto ve\u013ekosti !Split\ by\ bookmarks\ level= Burst=Rozdeli\u0165 po str\u00e1nkach Explode\ the\ pdf\ document\ into\ single\ pages=Rozdel\u00ed PDF s\u00fabor po jednotliv\u00fdch str\u00e1nkach Split\ the\ document\ every\ "n"\ pages=Rozdel\u00ed dokument ka\u017ed\u00fdch "n" str\u00e1nok Split\ the\ document\ every\ even\ page=Rozdel\u00ed dokument na ka\u017edej p\u00e1rnej str\u00e1nke Split\ the\ document\ every\ odd\ page=Rozdel\u00ed dokument na ka\u017edej nep\u00e1rnej str\u00e1nke Split\ the\ document\ after\ page\ numbers\ (num1-num2-num3..)=Rozdel\u00ed dokument po \u010d\u00edslach str\u00e1nok (\u010d1-\u010d2-\u010d3..) !Split\ the\ document\ in\ files\ of\ the\ given\ size\ (roughly)= !Split\ the\ document\ at\ pages\ referred\ by\ bookmarks\ of\ the\ given\ level= !Destination\ folder= Same\ as\ source=Rovnak\u00fd ako zdroj Choose\ a\ folder=Vyberte prie\u010dinok Destination\ output\ directory=Cie\u013eov\u00fd prie\u010dinok v\u00fdstupu Use\ the\ same\ output\ folder\ as\ the\ input\ file\ or\ choose\ a\ folder.=Pou\u017ei rovnak\u00fd prie\u010dinok v\u00fdstupu ako vstupu, alebo zvo\u013e prie\u010dinok. To\ choose\ a\ folder\ browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ directory.=Pre vybratie prie\u010dinku ho nalistujte, alebo nap\u00ed\u0161te k nemu \u00fapln\u00fa cestu. Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ files\ if\ they\ already\ exist.=Zvo\u013ete t\u00fato mo\u017enos\u0165, ak si \u017eel\u00e1te prep\u00edsa\u0165 s\u00fabor, pokia\u013e u\u017e existuje v cie\u013eovom prie\u010dinku s\u00fabor s rovnak\u00fdm n\u00e1zvom. !Output\ options= Output\ file\ names\ prefix\:=Prefix n\u00e1zvov v\u00fdstupn\u00fdch s\u00faborov\: Output\ files\ prefix=Prefix v\u00fdstupn\u00fdch s\u00faborov !If\ it\ contains\ "[CURRENTPAGE]",\ "[TIMESTAMP]",\ "[FILENUMBER]"\ or\ "[BOOKMARK_NAME]"\ it\ performs\ variable\ substitution.= Ex.\ prefix_[BASENAME]_[CURRENTPAGE]\ generates\ prefix_FileName_005.pdf.=Ex. prefix_[BASENAME]_[CURRENTPAGE] generuje prefix_FileName_005.pdf. !If\ it\ doesn't\ contain\ "[CURRENTPAGE]",\ "[TIMESTAMP]"\ or\ "[FILENUMBER]"\ it\ generates\ oldstyle\ output\ file\ names.= !Available\ variables= Invalid\ split\ size=Neplatn\u00e1 ve\u013ekos\u0165 rozdelenia The\ lowest\ available\ pdf\ version\ is\ =Najni\u017e\u0161ia dostupn\u00e1 verzia pdf je You\ selected\ a\ lower\ output\ pdf\ version,\ continue\ anyway\ ?=Vybrali ste ni\u017e\u0161iu pdf verziu, \u017eel\u00e1te si pokra\u010dova\u0165? Pdf\ version\ conflict=Konflikt Pdf verzi\u00ed !Please\ select\ a\ pdf\ document.= Split\ selected\ file=Rozdeli\u0165 vybran\u00fd s\u00fabor Split=Rozdeli\u0165 Split\ section\ loaded.=Rozdeli\u0165 nahrat\u00fa sekciu. Invalid\ unit\:\ =Neplatn\u00fd diel\: !Fill\ from\ document= !Getting\ bookmarks\ max\ depth= !Frontpage\ pdf\ file= !Addendum\ pdf\ file= Select\ at\ least\ one\ cover\ or\ one\ footer=Vyberte aspo\u0148 jedn prv\u00fa stranu, alebo jednu posledn\u00fa stranu !Frontpage\ and\ Addendum= Cover\ And\ Footer\ section\ loaded.=Prv\u00e1 a posledn\u00e1 strana nahratej sekcie. !Encrypt\ options= Owner\ password\:=Heslo majite\u013ea\: Owner\ password\ (Max\ 32\ chars\ long)=Heslo majite\u013ea (Maxim\u00e1lna d\u013a\u017eka 32 znakov) User\ password\:=U\u017e\u00edvate\u013esk\u00e9 heslo\: User\ password\ (Max\ 32\ chars\ long)=U\u017e\u00edvate\u013esk\u00e9 heslo (Maxim\u00e1lna ve\u013ekos\u0165 32 znakov) !Encryption\ algorithm\:= Allow\ all=Povoli\u0165 v\u0161etko Print=Tla\u010di\u0165 Low\ quality\ print=N\u00edzka kvalita tla\u010de Copy\ or\ extract=Skop\u00edrova\u0165 alebo extrahova\u0165 Modify=Upravi\u0165 Add\ or\ modify\ text\ annotations=Prida\u0165 alebo upravi\u0165 textov\u00e9 pozn\u00e1mky Fill\ form\ fields=Vyplni\u0165 polia formul\u00e1ru Extract\ for\ use\ by\ accessibility\ dev.=Extrahova\u0165 pre pou\u017eitie v\u00fdvpjov\u00e9ho pr\u00edstupu. Manipulate\ pages\ and\ add\ bookmarks=Pracova\u0165 so str\u00e1nkami a prida\u0165 z\u00e1lo\u017eky Check\ the\ box\ if\ you\ want\ compressed\ output\ files\ (Pdf\ version\ 1.5\ or\ higher).=Za\u0161krtnite ak chcete zmen\u0161i\u0165 ve\u013ekos\u0165 v\u00fdstupn\u00fdch s\u00faborov (Pdf verzia 1.5 alebo vy\u0161\u0161ia). If\ it\ contains\ "[TIMESTAMP]"\ it\ performs\ variable\ substitution.=Ak obsahuje "[TIMESTAMP]" urob\u00ed z\u00e1menu premenn\u00fdch. Ex.\ [BASENAME]_prefix_[TIMESTAMP]\ generates\ FileName_prefix_20070517_113423471.pdf.=Priklad [BASENAME]_prefix_[TIMESTAMP] generuje N\u00e1zovS\u00faboru_prefix_20070517_113423471.pdf. If\ it\ doesn't\ contain\ "[TIMESTAMP]"\ it\ generates\ oldstyle\ output\ file\ names.=Ak neobsahujen "[TIMESTAMP]" generuje star\u00e9 typy mien s\u00faborov. Available\ variables\:\ [TIMESTAMP],\ [BASENAME].=Dostupn\u00e9 premenn\u00e9\: [TIMESTAMP], [BASENAME]. Encrypt\ selected\ files=Za\u0161ifruj vybran\u00e9 s\u00fabory Encrypt=Za\u0161ifrova\u0165 Encrypt\ section\ loaded.=Za\u0161ifrova\u0165 nahrat\u00fa sekciu. !Decrypt\ selected\ files= !Decrypt= !Decrypt\ section\ loaded.= !Mix\ options= Reverse\ first\ document=Obr\u00e1ti\u0165 prv\u00fd dokument Reverse\ second\ document=Obr\u00e1ti\u0165 druh\u00fd dokument !Number\ of\ pages\ to\ switch\ document= !Tick\ the\ boxes\ if\ you\ want\ to\ reverse\ the\ first\ or\ the\ second\ document\ (or\ both).= !Set\ the\ number\ of\ pages\ to\ switch\ from\ a\ document\ to\ the\ other\ one\ (default\ is\ 1).= Found\ a\ password\ for\ first\ file.=N\u00e1jden\u00e9 heslo pre prv\u00fd s\u00fabor. Found\ a\ password\ for\ second\ file.=N\u00e1jden\u00e9 heslo pre druh\u00fd s\u00fabor. Please\ select\ two\ pdf\ documents.=Pros\u00edm vyberte dva pdf dokumenty. Execute\ pdf\ alternate\ mix=Spusti\u0165 n\u00e1hodn\u00e9 premie\u0161anie pdf Alternate\ Mix=N\u00e1hodne premie\u0161a\u0165 AlternateMix\ section\ loaded.=N\u00e1hodne premie\u0161a\u0165 nahrat\u00fa sekciu. Unpack\ selected\ files=Rozbali\u0165 vybran\u00e9 s\u00fabory Unpack=Rozbali\u0165 Unpack\ section\ loaded.=Rozbali\u0165 nahrat\u00fa sekciu. !Set\ viewer\ options= !Hide\ the\ menubar= !Hide\ the\ toolbar= !Hide\ user\ interface\ elements= !Rezise\ the\ window\ to\ fit\ the\ page\ size= !Center\ of\ the\ screen= !Display\ document\ title\ as\ window\ title= !Pdf\ version\ required\:= !No\ page\ scaling\ in\ print\ dialog= !Viewer\ layout\:= !Viewer\ open\ mode\:= !Non\ fullscreen\ mode\:= !Direction\:= !Set\ options= !Set\ viewer\ options\ for\ selected\ files= !Left\ to\ right= !Right\ to\ left= !None= !Fullscreen= !Attachments= !Optional\ content\ group\ panel= !Document\ outline= !Thumbnail\ images= !One\ page\ at\ a\ time= !Pages\ in\ one\ column= !Pages\ in\ two\ columns\ (odd\ on\ the\ left)= !Pages\ in\ two\ columns\ (odd\ on\ the\ right)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ left)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ right)= !Viewer\ options= !Viewer\ options\ section\ loaded.= Save\ passwords\ informations\ (they\ will\ be\ readable\ opening\ the\ output\ file)?=Ulo\u017ei\u0165 inform\u00e1cie o hesle (bud\u00fa \u010ditate\u013en\u00e9 pri otv\u00e1ran\u00ed v\u00fdstupn\u00e9ho s\u00faboru)? Confirm\ password\ saving=Potvrdi\u0165 ulo\u017eenie hesla Unknown\ action.=Nezn\u00e1ma \u010dinnos\u0165. Log\ saved.=Z\u00e1znam ulo\u017een\u00fd. \ node\ environment\ loaded.=\ uzlov\u00e9 prostredie nahrat\u00e9. Environment\ saved.=Prostredie ulo\u017een\u00e9 Error\ saving\ environment,\ output\ file\ is\ null.=Chyba pri ukladan\u00ed prostredia, v\u00fdstupn\u00fd s\u00fabor je pr\u00e1zdny. Error\ saving\ environment.=Chyba pri ukladan\u00ed prostredia. Environment\ loaded.=Prostredie nahrat\u00e9. Error\ loading\ environment.=Chyba pri nahr\u00e1van\u00ed prostredia. Error\ loading\ environment\ from\ input\ file.\ =Chyba pri nahr\u00e1van\u00ed prostredia zo vstupn\u00e9ho s\u00faboru. Selection\ table\ is\ full,\ please\ remove\ some\ pdf\ document.=Tabu\u013eka v\u00fdberu je pln\u00e1, pros\u00edm odstr\u00e1\u0148te niektor\u00fd pdf dokument. Table\ full=Tabu\u013eka pln\u00e1 Please\ wait\ while\ reading=Pros\u00edm \u010dakajte po\u010das \u010d\u00edtania Selected\ file\ is\ not\ a\ pdf\ document.=Vybran\u00fd s\u00fabor nie je pdf dokument. Error\ loading\ =Chyba pri nahr\u00e1van\u00ed Command\ validation\ returned\ an\ empty\ value.=Overovanie pr\u00edkazu vr\u00e1tilo pr\u00e1zdnu hodnotu. Command\ executed.=Pr\u00edkaz spusten\u00fd. File\ name=N\u00e1zov s\u00faboru !Number\ of\ pages= !File\ size= !Pdf\ version= !Encryption= !Not\ encrypted= !Permissions= !Title= Author=Autor !Subject= !Producer= !Creator= !Creation\ date= !Modification\ date= !Keywords= !Document\ properties= File=S\u00fabor !Close= Copy=Kop\u00edrova\u0165 !Error\ creating\ properties\ panel.= Run=Spusti\u0165 Browse=Prehliada\u0165 Add=Prida\u0165 Compress\ output\ file/files=Komprimova\u0165 v\u00fdstupn\u00fd s\u00fabor/s\u00fabory Overwrite\ if\ already\ exists=Prep\u00edsa\u0165 ak u\u017e existuje Don't\ preserve\ file\ order\ (fast\ load)=Nezachov\u00e1va\u0165 poradie s\u00faborov (r\u00fdchle nahr\u00e1vanie) Output\ document\ pdf\ version\:=Verzia v\u00fdstupn\u00e9ho pdf dokumentu\: !The\ cross\ reference\ table\ cantained\ some\ error\ and\ has\ been\ rebuilt= !The\ document\ has\ not\ been\ opened\ with\ the\ owner\ password.\ You\ must\ provide\ the\ owner\ password\ in\ order\ to\ manipulate\ the\ document= !An\ error\ occured\ while\ loading\ the\ document= Same\ as\ input\ document=Rovnak\u00fd ako vstupn\u00fd dokument Path=Cesta Pages=Strany Password=Heslo Version=Verzia Page\ Selection=V\u00fdber strany Total\ pages\ of\ the\ document=Po\u010det str\u00e1n dokumentu Password\ to\ open\ the\ document\ (if\ needed)=Heslo pre otvorenie dokumentu (ak je potrebn\u00e9) Pdf\ version\ of\ the\ document=Pdf verzia dokumentu !Double\ click\ to\ set\ pages\ you\ want\ to\ merge\ (ex\:\ 2\ or\ 5-23\ or\ 2,5-7,12-)= Add\ a\ pdf\ to\ the\ list=Prida\u0165 pdf do zoznamu Remove\ a\ pdf\ from\ the\ list=Odobra\u0165 pdf zo zoznamu (Canc)=(Zru\u0161) Remove=Odobra\u0165 Reload=Obnovi\u0165 Error\:\ Unable\ to\ reload\ the\ selected\ file/s.=Chyba\: Nem\u00f4\u017eem n\u00e1js\u0165 zadan\u00fa cestu k s\u00faboru/om. Unable\ to\ remove\ JList\ text\ =Nem\u00f4\u017eem odobra\u0165 JList text File\ selected\:\ =Vybran\u00fd s\u00fabor\: File\ reloaded\:\ =Vybran\u00fd s\u00fabor\: Move\ Up=Posun\u00fa\u0165 nahor Move\ up\ selected\ pdf\ file=Posun\u00fa\u0165 nahor vybran\u00fd pdf s\u00fabor (Alt+ArrowUp)=(Alt+ \u0161\u00edpka nahor) Move\ Down=Posun\u00fa\u0165 nadol Move\ down\ selected\ pdf\ file=Posun\u00fa\u0165 nadol vybran\u00fd pdf s\u00fabor (Alt+ArrowDown)=(Alt+ \u0161\u00edpka nadol) Clear=Vy\u010disti\u0165 Remove\ every\ pdf\ file\ from\ the\ merge\ list=Odst\u00e1ni\u0165 ka\u017ed\u00fd pdf s\u00fabor zo zoznamu zl\u00fa\u010denia Set\ output\ file=Nastavi\u0165 v\u00fdstupn\u00fd s\u00fabor Error\:\ Unable\ to\ get\ the\ file\ path.=Chyba\: Nem\u00f4\u017eem z\u00edska\u0165 cestu k s\u00faboru Unable\ to\ get\ the\ default\ environment\ informations.=Nem\u00f4\u017eem z\u00edska\u0165 predvolen\u00e9 inform\u00e1cie o prostred\u00ed. Setting\ look\ and\ feel...=Nastavenie vzh\u013eadu... Setting\ logging\ level...=Nastavenie prihlasovacej \u00farovne... Unable\ to\ find\ log\ level,\ setting\ to\ default\ level\ (DEBUG).=Nem\u00f4\u017eem n\u00e1js\u0165 \u00farove\u0148 z\u00e1znamu, nastavujem na predvolen\u00fa \u00farove\u0148 (DEBUG). Logging\ level\ set\ to\ =Z\u00e1znamov\u00e1 \u00farove\u0148 nastaven\u00e1 na Unable\ to\ set\ logging\ level.=Nem\u00f4\u017eem nastavi\u0165 \u00farove\u0148 z\u00e1znamu. Error\ getting\ plugins\ directory.=Chyba pri \u010d\u00edtan\u00ed adres\u00e1ru plaginov Cannot\ read\ plugins\ directory\ =Nem\u00f4\u017eem \u010d\u00edta\u0165 adres\u00e1r pluginov Plugins\ directory\ is\ null.=Adres\u00e1r pluginov je pr\u00e1zdny Found\ zero\ or\ many\ jars\ in\ plugin\ directory\ =N\u00e1jden\u00e9 nula alebo ve\u013ea jar s\u00faborov v adres\u00e1ri pluginov Exception\ loading\ plugins.=V\u00fdnimka nahr\u00e1vania pluginov. Cannot\ read\ plugin\ directory\ =Nem\u00f4\u017eem pre\u010d\u00edta\u0165 zlo\u017eku s pluginmi \ plugin\ loaded.=\ plugin nahrat\u00fd. Unable\ to\ load\ a\ plugin\ that\ is\ not\ JPanel\ subclass.=Nem\u00f4\u017eem nahra\u0165 plugin, ktor\u00fd nie je JPabel subclass. Error\ loading\ class\ =Chyba pri nahr\u00e1van\u00ed triedy Select\ all=Vybra\u0165 v\u0161etko Save\ log=Ulo\u017ei\u0165 z\u00e1znam Save\ environment=Ulo\u017ei\u0165 prostredie Load\ environment=Nahra\u0165 prostredie Exit=Ukon\u010di\u0165 Unable\ to\ initialize\ menu\ bar.=Nem\u00f4\u017eem spusti\u0165 menu. started\ in\ =spusten\u00fd v Loading\ plugins..=Nahr\u00e1vam pluginy... Building\ menus..=Vytv\u00e1ram menu... Building\ buttons\ bar..=Vytv\u00e1ram panel n\u00e1strojov... Building\ status\ bar..=Vytv\u00e1ram stavov\u00fd riadok... Building\ tree..=Vytv\u00e1ram strom... Loading\ default\ environment.=Nahr\u00e1vam predvolen\u00e9 prostredie. Error\ starting\ pdfsam.=Chyba pri spusten\u00ed pdfsam. Clear\ log=Vy\u010disti\u0165 z\u00e1znam Unable\ to\ initialize\ button\ bar.=Nem\u00f4\u017eem spusti\u0165 panel n\u00e1strojov. Version\:\ =Verzia\: Language\:\ =Jazyk\: !Developed\ by\:\ = Build\ date\:\ =D\u00e1tum dokon\u010denia\: Java\ home\:\ =Java\: Java\ version\:\ =Java verzia\: Max\ memory\:\ =Maxim\u00e1lna pam\u00e4\u0165\: Configuration\ file\:\ =Konfigura\u010dn\u00fd s\u00fabor\: Website\:\ =Web str\u00e1nka\: Name=Meno About=O aplik\u00e1cii Unimplemented\ method\ for\ JInfoPanel=Neimplementovan\u00e1 met\u00f3da pre JInfoPanel Contributes\:\ =Prispievatelia\: Log\ level\:=\u00darove\u0148 z\u00e1znamu\: Settings=Nastavenia Look\ and\ feel\:=Vzh\u013ead\: Theme\:=Mot\u00edv\: Language\:=Jazyk\: Check\ for\ updates\:=Skontrolova\u0165 aktualiz\u00e1cie\: Load\ default\ environment\ at\ startup\:=Nahra\u0165 p\u00f4vodn\u00e9 prostredie pri \u0161tarte\: Default\ working\ directory\:=Predvolen\u00fd pracovn\u00fd prie\u010dinok\: Error\ getting\ default\ environment.=Chyba pri nastaven\u00ed p\u00f4vodn\u00e9ho prostredia. Check\ now=Za\u0161krtn\u00fa\u0165 teraz !Play\ alert\ sounds= Settings\ =Nastavenia Language=Jazyk Set\ your\ preferred\ language\ (restart\ needed)=Nastavte vami preferovan\u00fd jazyk (potrebn\u00fd re\u0161tart) Look\ and\ feel=Vzh\u013ead Set\ your\ preferred\ look\ and\ feel\ and\ your\ preferred\ theme\ (restart\ needed)=Nastavte vami preferovan\u00fd vzh\u013ead a t\u00e9mu (potrebn\u00fd re\u0161tart) Log\ level=\u00darove\u0148 z\u00e1znamu Set\ a\ log\ detail\ level\ (restart\ needed)=Nastav \u00farove\u0148 z\u00e1znamu (vy\u017eaduje re\u0161tart) Check\ for\ updates=Skontrolova\u0165 aktualiz\u00e1cie Set\ when\ new\ version\ availability\ should\ be\ checked\ (restart\ needed)=Nastavi\u0165 kedy sa m\u00e1 kontrolova\u0165 dostupnos\u0165 novej verzie (vy\u017eaduje re\u0161tart) !Turn\ on\ or\ off\ alert\ sounds= Default\ env.=P\u00f4vodn\u00e9 prostredie Select\ a\ previously\ saved\ env.\ file\ that\ will\ be\ automatically\ loaded\ at\ startup=Vyber predt\u00fdm ulo\u017een\u00fd s\u00fabor s prostred\u00edm, ktor\u00fd bude automaticky nahran\u00fd pri \u0161tarte. Default\ working\ directory=Predvolen\u00fd pracovn\u00fd prie\u010dinok Select\ a\ directory\ where\ documents\ will\ be\ saved\ and\ loaded\ by\ default=Vyberte prie\u010dinok, v ktorom bud\u00fa dokumenty ukladan\u00e9 a nahr\u00e1van\u00e9 Save=Ulo\u017ei\u0165 Configuration\ saved.=Konfigur\u00e1cia ulo\u017een\u00e1. Unimplemented\ method\ for\ JSettingsPanel=Neimplementovan\u00e1 met\u00f3da pre JSettings Panel New\ version\ available\:\ =Nov\u00e1 verzia dostupn\u00e1\: Plugins=Pluginy Error\ getting\ pdf\ version\ description.=Chyba pri z\u00edsk\u00e1van\u00ed popisu verzie pdf. Version\ 1.2\ (Acrobat\ 3)=Verzia 1.2 (Acrobat 3) Version\ 1.3\ (Acrobat\ 4)=Verzia 1.3 (Acrobat 4) Version\ 1.4\ (Acrobat\ 5)=Verzia 1.4 (Acrobat 5) Version\ 1.5\ (Acrobat\ 6)=Verzia 1.5 (Acrobat 6) Version\ 1.6\ (Acrobat\ 7)=Verzia 1.6 (Acrobat 7) Version\ 1.7\ (Acrobat\ 8)=Verzia 1.7 (Acrobat 8) Never=Nikdy pdfsam\ start\ up=spustenie pdfsam Output\ file\ location\ is\ not\ correct=Nespr\u00e1vne umiestnenie v\u00fdstupu Would\ you\ like\ to\ change\ it\ to=\u017del\u00e1te si to zmeni\u0165 na Output\ location\ error=Chyba v\u00fdstupn\u00e9ho umiestnenia !Selected\ output\ file\ already\ exists\ = !Would\ you\ like\ to\ overwrite\ it?= !Provided\ pages\ selection\ is\ not\ valid= !Limits\ must\ be\ a\ comma\ separated\ list\ of\ "page_number"\ or\ "page_number-page_number"= !Limits\ are\ not\ valid= Checking\ for\ a\ new\ version\ available.=Kontrolujem nov\u00e9 verzie. Error\ checking\ for\ a\ new\ version\ available.=Chyba pri kontrolovan\u00ed nov\u00fdch verzi\u00ed. Unable\ to\ get\ latest\ available\ version=Nem\u00f4\u017eem stiahnu\u0165 najnov\u0161iu verziu. New\ version\ available.=Nov\u00e1 verzia dostupn\u00e1. No\ new\ version\ available.=\u017diadna nov\u00e1 verzia dostupn\u00e1. Cut=Vystrihn\u00fa\u0165 Paste=Prilepi\u0165 pdfsam-1.1.4/pdfsam-langpack-br1/src/java/org/pdfsam/i18n/resources/Messages_de.properties0000644000175000017500000005174111225342444031347 0ustar twernertwerner# German translation for pdfsam # Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 # This file is distributed under the same license as the pdfsam package. # FIRST AUTHOR , 2007. # !=Project-Id-Version\: pdfsam\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2009-07-09 12\:23+0200\nPO-Revision-Date\: 2009-05-25 11\:03+0000\nLast-Translator\: Marcel Mayr \nLanguage-Team\: German \nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Launchpad-Export-Date\: 2009-05-29 14\:40+0000\nX-Generator\: Launchpad (build Unknown)\n Merge\ options=Optionen PDF\ documents\ contain\ forms=PDF-Dokumente beinhalten Formulare Merge\ type=Art des Zusammenf\u00fchrens Unchecked=Nicht ausgew\u00e4hlt Use\ this\ merge\ type\ for\ standard\ pdf\ documents=Nutzen Sie diese Art des Zusammenf\u00fchrens f\u00fcr normale PDF-Dokumente Checked=Ausgew\u00e4hlt Use\ this\ merge\ type\ for\ pdf\ documents\ containing\ forms=Nutzen Sie diese Art des Zusammenf\u00fchrens f\u00fcr PDF-Formulare Note=Anmerkung Setting\ this\ option\ the\ documents\ will\ be\ completely\ loaded\ in\ memory=Bei W\u00e4hlen dieser Option werden die Dokumente vollst\u00e4ndig in den Speicher geladen. Destination\ output\ file=Ausgabedatei Error\:\ =Fehler\: Browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ file.=W\u00e4hlen Sie den vollst\u00e4ndigen Pfad zur Ausgabedatei oder geben Sie ihn ein. Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ file\ if\ it\ already\ exists.=Markieren Sie das Kontrollk\u00e4stchen, falls eine vorhandene Ausgabedatei \u00fcberschrieben werden soll. Check\ the\ box\ if\ you\ want\ compressed\ output\ files.=Markieren Sie das Kontrollk\u00e4stchen, um die Ausgabedateien zu komprimieren. PDF\ version\ 1.5\ or\ above.=PDF Version 1.5 oder neuer. Set\ the\ pdf\ version\ of\ the\ ouput\ document.=Legen Sie die PDF-Version der Ausgabedatei fest. Please\ wait\ while\ all\ files\ are\ processed..=Bitte warten, Dateien werden verarbeitet ... Found\ a\ password\ for\ input\ file.=Passwort f\u00fcr die Ursprungsdatei gefunden. Please\ select\ at\ least\ one\ pdf\ document.=Bitte w\u00e4hlen Sie zumindest ein PDF-Dokument aus. Warning=Achtung Execute\ pdf\ merge=PDF-Dateien zusammenf\u00fchren Merge/Extract=Zusammenf\u00fchren/Extrahieren Merge\ section\ loaded.=Bereich Zusammenf\u00fchren geladen. Export\ as\ xml=Als XML exportieren Unable\ to\ save\ xml\ file.=XML-Datei konnte nicht gespeichert werden. Ok=OK File\ xml\ saved.=XML-Datei wurde gespeichert. Error\ saving\ xml\ file,\ output\ file\ is\ null.=Fehler beim Speichern der XML-Datei, Ausgabedatei ist ung\u00fcltig. Split\ options=Trennoptionen Burst\ (split\ into\ single\ pages)=In Einzelseiten zerlegen Split\ every\ "n"\ pages=Im Abstand von "n" Seiten trennen Split\ even\ pages=Nach geraden Seitennummern trennen Split\ odd\ pages=Nach ungeraden Seitennummern trennen Split\ after\ these\ pages=Nach folgenden Seitennummern trennen Split\ at\ this\ size=Bei folgender Gr\u00f6\u00dfe teilen Split\ by\ bookmarks\ level=Nach Lesezeichenebene trennen Burst=Trennen Explode\ the\ pdf\ document\ into\ single\ pages=Dokument in Einzelseiten aufteilen Split\ the\ document\ every\ "n"\ pages=Dokument nach jeweils "n" Seiten teilen Split\ the\ document\ every\ even\ page=Dokument bei geraden Seiten teilen Split\ the\ document\ every\ odd\ page=Dokument bei ungeraden Seiten teilen Split\ the\ document\ after\ page\ numbers\ (num1-num2-num3..)=Dokument nach Seitenzahlen trennen (Seite1-Seite2-Seite3...) Split\ the\ document\ in\ files\ of\ the\ given\ size\ (roughly)=Dokument in Dateien folgender Gr\u00f6\u00dfe zerlegen (n\u00e4herungsweise) Split\ the\ document\ at\ pages\ referred\ by\ bookmarks\ of\ the\ given\ level=Dokument an den Stellen trennen, die durch folgende Lesezeichenebene gekennzeichnet sind Destination\ folder=Zielverzeichnis Same\ as\ source=Gleicher Ordner wie Quelldatei Choose\ a\ folder=Ordner w\u00e4hlen Destination\ output\ directory=Zielverzeichnis f\u00fcr die Ausgabe Use\ the\ same\ output\ folder\ as\ the\ input\ file\ or\ choose\ a\ folder.=Gleiches Verzeichnis wie Ursprungsdatei oder neues Verzeichnis ausw\u00e4hlen To\ choose\ a\ folder\ browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ directory.=W\u00e4hlen Sie einen Ausgabeordner oder geben Sie den vollst\u00e4ndigen Pfad ein. Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ files\ if\ they\ already\ exist.=Markieren Sie das Kontrollk\u00e4stchen, um vorhandene Ausgabedateien zu \u00fcberschreiben. Output\ options=Ausgabeoptionen Output\ file\ names\ prefix\:=Pr\u00e4fix f\u00fcr die Ausgabedateien\: Output\ files\ prefix=Pr\u00e4fix f\u00fcr die Ausgabedateien\: If\ it\ contains\ "[CURRENTPAGE]",\ "[TIMESTAMP]",\ "[FILENUMBER]"\ or\ "[BOOKMARK_NAME]"\ it\ performs\ variable\ substitution.=Sind \u00bb[CURRENTPAGE]\u00ab, \u00bb[TIMESTAMP]\u00ab, \u00bb[FILENUMBER]\u00ab oder \u00bb[BOOKMARK_NAME]\u00ab enthalten, erfolgt eine variable Benennung. Ex.\ prefix_[BASENAME]_[CURRENTPAGE]\ generates\ prefix_FileName_005.pdf.=Beispielsweise erzeugt prefix_[BASENAME]_[CURRENTPAGE] prefix_FileName_005.pdf. If\ it\ doesn't\ contain\ "[CURRENTPAGE]",\ "[TIMESTAMP]"\ or\ "[FILENUMBER]"\ it\ generates\ oldstyle\ output\ file\ names.=Sind "[CURRENTPAGE]", "[TIMESTAMP]" oder "[FILENUMBER]" nicht enthalten, erfolgt eine Benennung nach herk\u00f6mmlichem Schema. Available\ variables=Verf\u00fcgbare Variablen Invalid\ split\ size=Unzul\u00e4ssige Trenngr\u00f6\u00dfe The\ lowest\ available\ pdf\ version\ is\ =Die niedrigste verf\u00fcgbare PDF-Version ist You\ selected\ a\ lower\ output\ pdf\ version,\ continue\ anyway\ ?=Sie haben eine niedrigere PDF-Version zur Ausgabe gew\u00e4hlt, trotzdem fortfahren? Pdf\ version\ conflict=PDF-Versionskonflikt Please\ select\ a\ pdf\ document.=Bitte w\u00e4hlen Sie ein PDF-Dokument. Split\ selected\ file=Ausgew\u00e4hlte Datei teilen Split=Teilen Split\ section\ loaded.=Bereich Teilen geladen. Invalid\ unit\:\ =Ung\u00fcltige Einheit\: Fill\ from\ document=Aus Dokument ermitteln Getting\ bookmarks\ max\ depth=Ermittle Lesezeichentiefe Frontpage\ pdf\ file=PDF f\u00fcr Titelseite Addendum\ pdf\ file=PDF f\u00fcr R\u00fcckseite Select\ at\ least\ one\ cover\ or\ one\ footer=W\u00e4hlen Sie mindestens ein PDF f\u00fcr Titel- oder R\u00fcckseite Frontpage\ and\ Addendum=Titel- und R\u00fcckseite Cover\ And\ Footer\ section\ loaded.=Bereich Titel- und R\u00fcckseite geladen. Encrypt\ options=Verschl\u00fcsselungsoptionen Owner\ password\:=Besitzerpasswort\: Owner\ password\ (Max\ 32\ chars\ long)=Besitzerpasswort (max. 32 Zeichen) User\ password\:=Benutzerpasswort\: User\ password\ (Max\ 32\ chars\ long)=Benutzerpasswort (max. 32 Zeichen) Encryption\ algorithm\:=Verschl\u00fcsselungsalgorithmus\: Allow\ all=Alles zulassen Print=Drucken Low\ quality\ print=Niedrige Druckqualit\u00e4t Copy\ or\ extract=Kopieren von Inhalt Modify=\u00c4ndern des Dokuments Add\ or\ modify\ text\ annotations=Kommentieren Fill\ form\ fields=Formularfelder ausf\u00fcllen Extract\ for\ use\ by\ accessibility\ dev.=Kopieren von Inhalt f\u00fcr Barrierefreiheit Manipulate\ pages\ and\ add\ bookmarks=Seiten \u00e4ndern und Lesezeichen hinzuf\u00fcgen Check\ the\ box\ if\ you\ want\ compressed\ output\ files\ (Pdf\ version\ 1.5\ or\ higher).=Markieren Sie das Kontrollk\u00e4stchen, um die Ausgabedateien zu komprimieren (PDF-Version 1.5 oder neuer). If\ it\ contains\ "[TIMESTAMP]"\ it\ performs\ variable\ substitution.=Falls "[TIMESTAMP]" enthalten ist, erfolgt eine variable Benennung. Ex.\ [BASENAME]_prefix_[TIMESTAMP]\ generates\ FileName_prefix_20070517_113423471.pdf.=[BASENAME]_prefix_[TIMESTAMP] erzeugt Dateiname_prefix_20070517_113423471.pdf. If\ it\ doesn't\ contain\ "[TIMESTAMP]"\ it\ generates\ oldstyle\ output\ file\ names.=Ist "[TIMESTAMP]" nicht enthalten, erfolgt eine Benennung nach herk\u00f6mmlichem Schema. Available\ variables\:\ [TIMESTAMP],\ [BASENAME].=Verf\u00fcgbare Variablen\: [TIMESTAMP], [BASENAME] Encrypt\ selected\ files=Ausgew\u00e4hlte Dateien verschl\u00fcsseln Encrypt=Verschl\u00fcsseln Encrypt\ section\ loaded.=Bereich Verschl\u00fcsseln geladen. Decrypt\ selected\ files=Ausgew\u00e4hlte Dateien entschl\u00fcsseln Decrypt=Entschl\u00fcsseln Decrypt\ section\ loaded.=Bereich Entschl\u00fcsseln geladen. Mix\ options=Optionen Reverse\ first\ document=Seitenreihenfolge des ersten Dokuments umkehren Reverse\ second\ document=Seitenreihenfolge des zweiten Dokuments umkehren Number\ of\ pages\ to\ switch\ document=Seitenanzahl bis Dokumentwechsel Tick\ the\ boxes\ if\ you\ want\ to\ reverse\ the\ first\ or\ the\ second\ document\ (or\ both).=Markieren Sie die Kontrollk\u00e4stchen, um die Seitenreihenfolge des ersten oder zweiten Dokuments (oder beides) umzukehren. Set\ the\ number\ of\ pages\ to\ switch\ from\ a\ document\ to\ the\ other\ one\ (default\ is\ 1).=Legen Sie die Anzahl der Seiten fest, nach denen ein Wechsel zum anderen Dokument erfolgt (Vorgabewert ist 1). Found\ a\ password\ for\ first\ file.=Passwort f\u00fcr die erste Datei gefunden. Found\ a\ password\ for\ second\ file.=Passwort f\u00fcr die zweite Datei gefunden. Please\ select\ two\ pdf\ documents.=Bitte w\u00e4hlen Sie zwei PDF-Dokumente aus. Execute\ pdf\ alternate\ mix=Seiten zweier PDF-Dokumente verschachteln Alternate\ Mix=Verschachteln AlternateMix\ section\ loaded.=Bereich Verschachteln geladen. Unpack\ selected\ files=Ausgew\u00e4hlte Dateien entpacken Unpack=Entpacken Unpack\ section\ loaded.=Bereich Entpacken geladen. Set\ viewer\ options=Anzeigeoptionen festlegen Hide\ the\ menubar=Men\u00fcleiste ausblenden Hide\ the\ toolbar=Werkzeugleiste ausblenden Hide\ user\ interface\ elements=Fenstersteuerelemente ausblenden Rezise\ the\ window\ to\ fit\ the\ page\ size=Fenster an Seitengr\u00f6\u00dfe anpassen Center\ of\ the\ screen=Bildschirmmittig ausrichten Display\ document\ title\ as\ window\ title=Titel anstatt Dateinamen im Fenster anzeigen Pdf\ version\ required\:=Erforderliche PDF-Version\: No\ page\ scaling\ in\ print\ dialog=Kein Anpassen der Seitengr\u00f6\u00dfe im Druckdialog Viewer\ layout\:=Seitenanzeige Viewer\ open\ mode\:=Ansicht beim \u00d6ffnen\: Non\ fullscreen\ mode\:=Ansicht nach Vollbildmodus Direction\:=Richtung\: Set\ options=Optionen festlegen Set\ viewer\ options\ for\ selected\ files=Anzeigeoptionen f\u00fcr ausgew\u00e4hlte Dateien festlegen Left\ to\ right=Links nach rechts Right\ to\ left=Rechts nach links None=Keine Fullscreen=Vollbild Attachments=Dateianlagen Optional\ content\ group\ panel=Ebenen Document\ outline=Lesezeichen Thumbnail\ images=Miniaturseiten One\ page\ at\ a\ time=Einzelne Seite Pages\ in\ one\ column=Einzelne Seite, fortlaufend Pages\ in\ two\ columns\ (odd\ on\ the\ left)=Zwei Seiten, fortlaufend (ungerade links) Pages\ in\ two\ columns\ (odd\ on\ the\ right)=Zwei Seiten, fortlaufend (ungerade rechts) Two\ pages\ at\ a\ time\ (odd\ on\ the\ left)=Zwei Seiten (ungerade links) Two\ pages\ at\ a\ time\ (odd\ on\ the\ right)=Zwei Seiten (ungerade rechts) Viewer\ options=Anzeigeoptionen Viewer\ options\ section\ loaded.=Bereich Anzeigeoptionen geladen. Save\ passwords\ informations\ (they\ will\ be\ readable\ opening\ the\ output\ file)?=Passwortdaten speichern? (Diese werden in der Ausgabedatei lesbar sein.) Confirm\ password\ saving=Passwortspeicherung best\u00e4tigen Unknown\ action.=Unbekannte Aktion. Log\ saved.=Protokoll gespeichert \ node\ environment\ loaded.=\ Umgebung geladen. Environment\ saved.=Umgebung gespeichert. Error\ saving\ environment,\ output\ file\ is\ null.=Fehler beim Speichern der Umgebung. Die Ausgabedatei ist ung\u00fcltig. Error\ saving\ environment.=Fehler beim Speichern der Umgebung. Environment\ loaded.=Umgebung geladen. Error\ loading\ environment.=Fehler beim Laden der Umgebung. Error\ loading\ environment\ from\ input\ file.\ =Fehler beim Laden der Umgebung aus einer Datei Selection\ table\ is\ full,\ please\ remove\ some\ pdf\ document.=Auswahltabelle ist voll. Bitte entfernen Sie einige PDF-Dateien. Table\ full=Tabelle voll. Please\ wait\ while\ reading=Bitte warten, Dateien werden gelesen Selected\ file\ is\ not\ a\ pdf\ document.=Ausgew\u00e4hlte Datei ist kein PDF-Dokument Error\ loading\ =Fehler beim Laden Command\ validation\ returned\ an\ empty\ value.=Befehls\u00fcberpr\u00fcfung gab einen leeren Wert zur\u00fcck. Command\ executed.=Befehl ausgef\u00fchrt. File\ name=Dateiname Number\ of\ pages=Seitenanzahl File\ size=Dateigr\u00f6\u00dfe Pdf\ version=PDF-Version Encryption=Verschl\u00fcsselung Not\ encrypted=Nicht verschl\u00fcsselt Permissions=Berechtigungen Title=Titel Author=Autor Subject=Thema Producer=Anwendung Creator=Ersteller Creation\ date=Erstellt am Modification\ date=Ge\u00e4ndert am Keywords=Stichw\u00f6rter Document\ properties=Dokumenteigenschaften File=Datei Close=Schlie\u00dfen Copy=Kopieren Error\ creating\ properties\ panel.=Fehler beim Erstellen der Dokumenteigenschaften-Leiste Run=Ausf\u00fchren Browse=W\u00e4hlen Add=Hinzuf\u00fcgen Compress\ output\ file/files=Ausgabedateien komprimieren Overwrite\ if\ already\ exists=Vorhandene Dateien \u00fcberschreiben Don't\ preserve\ file\ order\ (fast\ load)=Dateireihenfolge nicht einhalten (schnelles Laden) Output\ document\ pdf\ version\:=PDF-Version der Ausgabedatei\: !The\ cross\ reference\ table\ cantained\ some\ error\ and\ has\ been\ rebuilt= !The\ document\ has\ not\ been\ opened\ with\ the\ owner\ password.\ You\ must\ provide\ the\ owner\ password\ in\ order\ to\ manipulate\ the\ document= !An\ error\ occured\ while\ loading\ the\ document= Same\ as\ input\ document=Dieselbe wie Ursprungsdatei Path=Dateipfad Pages=Seiten Password=Passwort Version=Version Page\ Selection=Seitenauswahl Total\ pages\ of\ the\ document=Anzahl aller Seiten des Dokuments Password\ to\ open\ the\ document\ (if\ needed)=Passwort zum \u00d6ffnen des Dokuments (falls ben\u00f6tigt) Pdf\ version\ of\ the\ document=PDF-Version des Dokuments Double\ click\ to\ set\ pages\ you\ want\ to\ merge\ (ex\:\ 2\ or\ 5-23\ or\ 2,5-7,12-)=Doppelklicken Sie, um die zusammenzuf\u00fchrenden Seiten festzulegen (Schema\: 2 oder 5-23 oder 2,5-7,12-) Add\ a\ pdf\ to\ the\ list=PDF-Datei zur Liste hinzuf\u00fcgen Remove\ a\ pdf\ from\ the\ list=PDF-Datei aus der Liste entfernen (Canc)=(Entf) Remove=Entfernen Reload=Neu laden Error\:\ Unable\ to\ reload\ the\ selected\ file/s.=Fehler\: Ausgew\u00e4hlte Dateien k\u00f6nnen nicht neu geladen werden Unable\ to\ remove\ JList\ text\ =Kann JList-Text nicht entfernen File\ selected\:\ =Ausgew\u00e4hlte Datei\: File\ reloaded\:\ =Datei neu geladen\: Move\ Up=Nach oben Move\ up\ selected\ pdf\ file=Ausgew\u00e4hlte PDF-Datei nach oben verschieben (Alt+ArrowUp)=(Alt + Aufw\u00e4rtspfeil) Move\ Down=Nach unten Move\ down\ selected\ pdf\ file=Ausgew\u00e4hlte PDF-Datei nach unten verschieben (Alt+ArrowDown)=(Alt + Abw\u00e4rtspfeil) Clear=Leeren Remove\ every\ pdf\ file\ from\ the\ merge\ list=Alle PDF-Dateien aus der Liste entfernen Set\ output\ file=Ausgabedatei bestimmen Error\:\ Unable\ to\ get\ the\ file\ path.=Fehler\: Dateipfad kann nicht ermittelt werden. Unable\ to\ get\ the\ default\ environment\ informations.=Die Umgebungsinformationen konnten nicht ermittelt werden. Setting\ look\ and\ feel...=Setze Oberfl\u00e4chendesign ... Setting\ logging\ level...=Setze Protokollierungsstufe ... Unable\ to\ find\ log\ level,\ setting\ to\ default\ level\ (DEBUG).=Kann Protokollierungsstufe nicht finden, benutze Standardlevel (DEBUG). Logging\ level\ set\ to\ =Protokollierungsstufe gesetzt auf Unable\ to\ set\ logging\ level.=Kann Protokollierungsstufe nicht festlegen. Error\ getting\ plugins\ directory.=Fehler beim Ermitteln des Plugin-Verzeichnisses Cannot\ read\ plugins\ directory\ =Kann Plugin-Verzeichnis nicht lesen Plugins\ directory\ is\ null.=Plugin-Verzeichnis ist ung\u00fcltig Found\ zero\ or\ many\ jars\ in\ plugin\ directory\ =Es wurden keine oder viele jars im Plugin-Verzeichnis gefunden Exception\ loading\ plugins.=Ausnahmefehler beim Laden der Plugins. Cannot\ read\ plugin\ directory\ =Kann Plugin-Verzeichnis nicht lesen \ plugin\ loaded.=\ Plugin geladen. Unable\ to\ load\ a\ plugin\ that\ is\ not\ JPanel\ subclass.=Plugin, das keine JPanel-Unterklasse ist, kann nicht geladen werden. Error\ loading\ class\ =Fehler beim Laden der Klasse Select\ all=Alles ausw\u00e4hlen Save\ log=Protokoll speichern Save\ environment=Umgebung speichern Load\ environment=Umgebung laden Exit=Beenden Unable\ to\ initialize\ menu\ bar.=Kann Men\u00fcleiste nicht initialisieren. started\ in\ =gestartet in Loading\ plugins..=Lade Plugins ... Building\ menus..=Erzeuge Men\u00fcs ... Building\ buttons\ bar..=Erzeuge Schaltfl\u00e4chen ... Building\ status\ bar..=Erzeuge Statusanzeige ... Building\ tree..=Erzeuge Baum ... Loading\ default\ environment.=Lade Standardumgebung. Error\ starting\ pdfsam.=Fehler beim Starten von pdfsam Clear\ log=Protokoll l\u00f6schen Unable\ to\ initialize\ button\ bar.=Kann Schaltfl\u00e4chenleiste nicht initialisieren. Version\:\ =Version\: Language\:\ =Sprache\: Developed\ by\:\ =Entwickelt von\: Build\ date\:\ =Erstellungsdatum\: Java\ home\:\ =Java-Ausgangspunkt\: Java\ version\:\ =Java-Version\: Max\ memory\:\ =Maximaler Speicher\: Configuration\ file\:\ =Konfigurationsdatei\: Website\:\ =Webseite\: Name=Name About=\u00dcber Unimplemented\ method\ for\ JInfoPanel=Nicht implementierte Methode f\u00fcr JInfoPanel Contributes\:\ =Mitwirkende\: Log\ level\:=Protokollierungsstufe\: Settings=Einstellungen Look\ and\ feel\:=Oberfl\u00e4chendesign\: Theme\:=Farbschema Language\:=Sprache\: Check\ for\ updates\:=Auf Updates pr\u00fcfen\: Load\ default\ environment\ at\ startup\:=Lade Standardumgebung beim Start\: Default\ working\ directory\:=Standard-Arbeitsverzeichnis Error\ getting\ default\ environment.=Fehler beim Laden der Standardumgebung. Check\ now=Jetzt suchen Play\ alert\ sounds=Warnkl\u00e4nge abspielen Settings\ =Einstellungen Language=Sprache Set\ your\ preferred\ language\ (restart\ needed)=W\u00e4hlen Sie Ihre Sprache (Neustart notwendig) Look\ and\ feel=Oberfl\u00e4chendesign Set\ your\ preferred\ look\ and\ feel\ and\ your\ preferred\ theme\ (restart\ needed)=W\u00e4hlen Sie Ihr bevorzugtes Oberfl\u00e4chendesign und Farbschema (Neustart notwendig) Log\ level=Protokollierungsstufe Set\ a\ log\ detail\ level\ (restart\ needed)=W\u00e4hlen Sie eine Protokollierungsstufe (Neustart notwendig) Check\ for\ updates=Nach Updates suchen Set\ when\ new\ version\ availability\ should\ be\ checked\ (restart\ needed)=Legen Sie fest, wann auf Verf\u00fcgbarkeit neuer Versionen gepr\u00fcft werden soll (Neustart notwendig) Turn\ on\ or\ off\ alert\ sounds=Warnkl\u00e4nge an- oder ausschalten Default\ env.=Standardumgebung Select\ a\ previously\ saved\ env.\ file\ that\ will\ be\ automatically\ loaded\ at\ startup=W\u00e4hlen Sie eine gespeicherte Umgebung, die beim Start automatisch geladen wird Default\ working\ directory=Standard-Arbeitsverzeichnis Select\ a\ directory\ where\ documents\ will\ be\ saved\ and\ loaded\ by\ default=W\u00e4hlen Sie ein Verzeichnis, in dem die Dokumente standardm\u00e4\u00dfig gespeichert und geladen werden Save=Speichern Configuration\ saved.=Konfiguration gespeichert. Unimplemented\ method\ for\ JSettingsPanel=Nicht implementierte Methode f\u00fcr JSettingsPanel New\ version\ available\:\ =Neue Version verf\u00fcgbar\: Plugins=Plugins Error\ getting\ pdf\ version\ description.=Fehler beim Lesen der PDF-Version Version\ 1.2\ (Acrobat\ 3)=Version 1.2 (Acrobat 3) Version\ 1.3\ (Acrobat\ 4)=Version 1.3 (Acrobat 4) Version\ 1.4\ (Acrobat\ 5)=Version 1.4 (Acrobat 5) Version\ 1.5\ (Acrobat\ 6)=Version 1.5 (Acrobat 6) Version\ 1.6\ (Acrobat\ 7)=Version 1.6 (Acrobat 7) Version\ 1.7\ (Acrobat\ 8)=Version 1.7 (Acrobat 8) Never=Niemals pdfsam\ start\ up=pdfsam-Start Output\ file\ location\ is\ not\ correct=Zielpfad der Datei ist inkorrekt Would\ you\ like\ to\ change\ it\ to=M\u00f6chten Sie es \u00e4ndern nach Output\ location\ error=Fehler im Zielpfad Selected\ output\ file\ already\ exists\ =Ausgew\u00e4hlte Ausgabedatei ist bereits vorhanden Would\ you\ like\ to\ overwrite\ it?=M\u00f6chten Sie sie \u00fcberschreiben? Provided\ pages\ selection\ is\ not\ valid=Angegebene Seitenauswahl ist ung\u00fcltig Limits\ must\ be\ a\ comma\ separated\ list\ of\ "page_number"\ or\ "page_number-page_number"=Seitenauswahl muss eine mittels Komma getrennte Liste der Elemente \u00bbSeite\u00ab oder \u00bbSeite-Seite\u00ab sein Limits\ are\ not\ valid=Seitenauswahl ist ung\u00fcltig Checking\ for\ a\ new\ version\ available.=Pr\u00fcfe, ob neue Version verf\u00fcgbar ist. Error\ checking\ for\ a\ new\ version\ available.=Fehler beim \u00dcberpr\u00fcfen auf neue Versionen. Unable\ to\ get\ latest\ available\ version=Kann neueste verf\u00fcgbare Version nicht laden New\ version\ available.=Neue Version verf\u00fcgbar. No\ new\ version\ available.=Keine neue Version verf\u00fcgbar. Cut=Ausschneiden Paste=Einf\u00fcgen pdfsam-1.1.4/pdfsam-langpack-br1/src/java/org/pdfsam/i18n/resources/Messages_fr.properties0000644000175000017500000006370111225342444031365 0ustar twernertwerner# FRENCH TRANSLATION FOR PDFSAM. # Copyright (C) 2008 Bigpapa-92 # This file is distributed under the same license as the pdfsam package. # FIRST AUTHOR , 2008. # !=Project-Id-Version\: pdfsam 1.0.0\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2009-07-09 12\:23+0200\nPO-Revision-Date\: 2009-06-14 10\:53+0000\nLast-Translator\: Bigpapa \nLanguage-Team\: FRENCH \nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Launchpad-Export-Date\: 2009-07-09 10\:20+0000\nX-Generator\: Launchpad (build Unknown)\nX-Poedit-Country\: FRANCE\nX-Poedit-Language\: French\n Merge\ options=Param\u00e8tres de fusion PDF\ documents\ contain\ forms=Documents pdf avec formulaires Merge\ type=Type de fusion Unchecked=D\u00e9coch\u00e9 Use\ this\ merge\ type\ for\ standard\ pdf\ documents=Type de fusion \u00e0 utiliser pour les documents standards Checked=Coch\u00e9 Use\ this\ merge\ type\ for\ pdf\ documents\ containing\ forms=Type de fusion \u00e0 utiliser pour les documents contenant des formulaires # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:397 Note=Remarque Setting\ this\ option\ the\ documents\ will\ be\ completely\ loaded\ in\ memory=Si coch\u00e9, le document sera enti\u00e8rement charg\u00e9 en m\u00e9moire Destination\ output\ file=Fichier \u00e0 cr\u00e9er Error\:\ =Erreur \: Browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ file.=Recherchez ou entrez le chemin complet des fichiers \u00e0 cr\u00e9er. Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ file\ if\ it\ already\ exists.=Cochez la case pour remplacer le fichier existant Check\ the\ box\ if\ you\ want\ compressed\ output\ files.=Cochez la case pour compresser le(s) fichier(s) \u00e0 cr\u00e9er. PDF\ version\ 1.5\ or\ above.=Version pdf 1.5 ou sup\u00e9rieure. Set\ the\ pdf\ version\ of\ the\ ouput\ document.=S\u00e9lectionnez la version pdf du document \u00e0 cr\u00e9er. Please\ wait\ while\ all\ files\ are\ processed..=Veuillez patienter pendant le traitement des fichiers... Found\ a\ password\ for\ input\ file.=Mot de passe requis pour le fichier. Please\ select\ at\ least\ one\ pdf\ document.=Veuillez s\u00e9lectionner au moins un document pdf. Warning=Avertissement Execute\ pdf\ merge=Lancez la fusion des fichiers Merge/Extract=Fusion Merge\ section\ loaded.=Section "Fusion" charg\u00e9e. Export\ as\ xml=Exporter en fichier xml Unable\ to\ save\ xml\ file.=Enregistrement du fichier xml impossible. Ok=OK File\ xml\ saved.=Fichier xml sauvegard\u00e9. Error\ saving\ xml\ file,\ output\ file\ is\ null.=Erreur d'enregistrement du fichier xml, le fichier n'a pas \u00e9t\u00e9 cr\u00e9\u00e9. Split\ options=Options de d\u00e9coupage Burst\ (split\ into\ single\ pages)=Par page (fragmenter) Split\ every\ "n"\ pages=En groupes de pages de Split\ even\ pages=Apr\u00e8s les pages paires Split\ odd\ pages=Apr\u00e8s les pages impaires Split\ after\ these\ pages=Apr\u00e8s les pages Split\ at\ this\ size=En fichiers de Split\ by\ bookmarks\ level=Aux signets de niveau Burst=Par page Explode\ the\ pdf\ document\ into\ single\ pages=D\u00e9compose le document en pages uniques Split\ the\ document\ every\ "n"\ pages=Segmente suivant le nombre de pages indiqu\u00e9 Split\ the\ document\ every\ even\ page=D\u00e9compose en feuillets "pages impaire/paire" Split\ the\ document\ every\ odd\ page=D\u00e9compose en feuillets "pages paire/impaire" Split\ the\ document\ after\ page\ numbers\ (num1-num2-num3..)=Sectionne apr\u00e8s chaque page indiqu\u00e9e (syntaxe \: x-y-z...) Split\ the\ document\ in\ files\ of\ the\ given\ size\ (roughly)=Scinde en fichiers de la taille indiqu\u00e9e (approximatif) Split\ the\ document\ at\ pages\ referred\ by\ bookmarks\ of\ the\ given\ level=D\u00e9coupe le document aux pages comportant des signets du niveau indiqu\u00e9 Destination\ folder=Dossier de cr\u00e9ation Same\ as\ source=Identique \u00e0 la source Choose\ a\ folder=Choisir un dossier Destination\ output\ directory=R\u00e9pertoire de cr\u00e9ation Use\ the\ same\ output\ folder\ as\ the\ input\ file\ or\ choose\ a\ folder.=Utilisez le dossier du fichier source ou choisissez un autre dossier. To\ choose\ a\ folder\ browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ directory.=Parcourez le syst\u00e8me pour s\u00e9lectionner un dossier de cr\u00e9ation ou entrez le chemin complet. Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ files\ if\ they\ already\ exist.=Cocher la case pour remplacer les fichiers existants. Output\ options=Options de cr\u00e9ation Output\ file\ names\ prefix\:=Pr\u00e9fixe de nom de fichier \: Output\ files\ prefix=Pr\u00e9fixe pour les fichiers cr\u00e9\u00e9s If\ it\ contains\ "[CURRENTPAGE]",\ "[TIMESTAMP]",\ "[FILENUMBER]"\ or\ "[BOOKMARK_NAME]"\ it\ performs\ variable\ substitution.=S'il comporte "[CURRENTPAGE]", "[TIMESTAMP]", "[FILENUMBER]" ou "[BOOKMARK_NAME]", une substitution de variable est effectu\u00e9e. Ex.\ prefix_[BASENAME]_[CURRENTPAGE]\ generates\ prefix_FileName_005.pdf.=Ex. \: "pr\u00e9fixeperso_[BASENAME]_[CURRENTPAGE]" g\u00e9n\u00e8re "pr\u00e9fixeperso_NomdeFichier_00X.pdf" If\ it\ doesn't\ contain\ "[CURRENTPAGE]",\ "[TIMESTAMP]"\ or\ "[FILENUMBER]"\ it\ generates\ oldstyle\ output\ file\ names.=S"il ne comporte pas "[CURRENTPAGE]", "[TIMESTAMP]" ou "[FILENUMBER]", un nom standard de fichiers est attribu\u00e9. Available\ variables=Variables disponibles Invalid\ split\ size=Taille indiqu\u00e9e incorrecte The\ lowest\ available\ pdf\ version\ is\ =La plus petite version pdf disponible est You\ selected\ a\ lower\ output\ pdf\ version,\ continue\ anyway\ ?=Vous avez s\u00e9lectionn\u00e9 une version pdf inf\u00e9rieure, continuer ? Pdf\ version\ conflict=Conflit de version pdf Please\ select\ a\ pdf\ document.=Veuillez s\u00e9lectionner un document pdf. Split\ selected\ file=Lancez le d\u00e9coupage du fichier Split=D\u00e9coupage Split\ section\ loaded.=Section "D\u00e9coupage" charg\u00e9e. Invalid\ unit\:\ =Unit\u00e9 de taille incorrecte \: Fill\ from\ document=Analyse du document Getting\ bookmarks\ max\ depth=Acquisition de la profondeur des signets Frontpage\ pdf\ file=Pdf de premi\u00e8re de couverture Addendum\ pdf\ file=Pdf de quatri\u00e8me de couverture Select\ at\ least\ one\ cover\ or\ one\ footer=S\u00e9lectionnez au moins un fichier de couverture Frontpage\ and\ Addendum=Couverture Cover\ And\ Footer\ section\ loaded.=Section "Couverture" charg\u00e9e. Encrypt\ options=Options de chiffrement Owner\ password\:=Mot de passe Propri\u00e9taire \: Owner\ password\ (Max\ 32\ chars\ long)=Mot de passe propri\u00e9taire (max. 32 caract\u00e8res) User\ password\:=Mot de passe Utilisateur \: User\ password\ (Max\ 32\ chars\ long)=Mot de passe utilisateur (max. 32 caract\u00e8res) Encryption\ algorithm\:=Algorithme de chiffrement \: Allow\ all=Tout autoriser Print=Impression Low\ quality\ print=Impression faible r\u00e9solution Copy\ or\ extract=Copie ou extraction Modify=Modification Add\ or\ modify\ text\ annotations=Ajout ou modification de commentaire Fill\ form\ fields=Remplissage de formulaire Extract\ for\ use\ by\ accessibility\ dev.=Acc\u00e8s aux outils d'accessibilit\u00e9 # F:\workspace_pdfsame_enanched\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:246 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:250 Manipulate\ pages\ and\ add\ bookmarks=manipuler les pages et ajouter des signets Check\ the\ box\ if\ you\ want\ compressed\ output\ files\ (Pdf\ version\ 1.5\ or\ higher).=Cochez la case pour compresser le(s) fichier(s) \u00e0 cr\u00e9er (version pdf 1.5 ou sup\u00e9rieure). If\ it\ contains\ "[TIMESTAMP]"\ it\ performs\ variable\ substitution.=S'il comporte "[TIMESTAMP]", une substitution de variable est effectu\u00e9e. Ex.\ [BASENAME]_prefix_[TIMESTAMP]\ generates\ FileName_prefix_20070517_113423471.pdf.=Ex. \: "[BASENAME]_pr\u00e9fixeperso_[TIMESTAMP]" va g\u00e9n\u00e9r\u00e9 "NomdeFichier_Pr\u00e9fixePerso_AAAAMMJJ_hhmmss.pdf\\" If\ it\ doesn't\ contain\ "[TIMESTAMP]"\ it\ generates\ oldstyle\ output\ file\ names.=S'il ne comporte pas "[TIMESTAMP]", un nom standard de fichiers est attribu\u00e9. Available\ variables\:\ [TIMESTAMP],\ [BASENAME].=Variables accept\u00e9es \: [TIMESTAMP], [BASENAME]. Encrypt\ selected\ files=Lancez le chiffrement de fichier(s) Encrypt=Chiffrement Encrypt\ section\ loaded.=Section "Chiffrement" charg\u00e9e. Decrypt\ selected\ files=Lancer le d\u00e9chiffrage des fichiers Decrypt=D\u00e9chiffrement Decrypt\ section\ loaded.=Section D\u00e9chiffrage charg\u00e9e Mix\ options=Options d'assemblage Reverse\ first\ document=Inverser l'ordre du premier document Reverse\ second\ document=Inverser l'ordre du second document Number\ of\ pages\ to\ switch\ document=Nombre de pages de la s\u00e9quence Tick\ the\ boxes\ if\ you\ want\ to\ reverse\ the\ first\ or\ the\ second\ document\ (or\ both).=Cochez la case du document dont vous voulez inverser l'ordre des pages. Set\ the\ number\ of\ pages\ to\ switch\ from\ a\ document\ to\ the\ other\ one\ (default\ is\ 1).=Indiquez le nombre de pages composant la s\u00e9quence d'assemblage (1 par d\u00e9faut). Found\ a\ password\ for\ first\ file.=Mot de passe requis pour le premier document. Found\ a\ password\ for\ second\ file.=Mot de passe requis pour le second document. Please\ select\ two\ pdf\ documents.=Veuillez s\u00e9lectionner deux documents pdf. Execute\ pdf\ alternate\ mix=Lancez l'assemblage des fichiers Alternate\ Mix=Assemblage AlternateMix\ section\ loaded.=Section "Assemblage" charg\u00e9e. Unpack\ selected\ files=Lancer l'extraction des fichiers Unpack=Extraction Unpack\ section\ loaded.=Section "Extraction" charg\u00e9e Set\ viewer\ options=Options d'affichage Hide\ the\ menubar=Cacher la barre de menu Hide\ the\ toolbar=Cacher la barre d'outils Hide\ user\ interface\ elements=Cacher les \u00e9l\u00e9ments de l'interface utilisateur Rezise\ the\ window\ to\ fit\ the\ page\ size=Redimensionner la fen\u00eatre pour s'adapter \u00e0 la page Center\ of\ the\ screen=Centrer \u00e0 l'\u00e9cran Display\ document\ title\ as\ window\ title=Afficher le titre du document dans la barre de titre Pdf\ version\ required\:=Version pdf requise \: No\ page\ scaling\ in\ print\ dialog=Pas d'\u00e9chelle dans la fen\u00eatre d'impression Viewer\ layout\:=Mode d'affichage des pages \: Viewer\ open\ mode\:=Mode d'ouverture de la fen\u00eatre \: Non\ fullscreen\ mode\:=En sortie du plein \u00e9cran \: Direction\:=Direction du texte \: Set\ options=Choix des options \: Set\ viewer\ options\ for\ selected\ files=Appliquer les options aux fichiers Left\ to\ right=De gauche \u00e0 droite Right\ to\ left=De droite \u00e0 gauche None=Ne pas pr\u00e9ciser Fullscreen=Plein \u00e9cran Attachments=Pi\u00e8ces jointes Optional\ content\ group\ panel=Calques Document\ outline=Plan du document Thumbnail\ images=Miniatures One\ page\ at\ a\ time=Une par une Pages\ in\ one\ column=En continu Pages\ in\ two\ columns\ (odd\ on\ the\ left)=En vis-\u00e0-vis continu (paires \u00e0 droite) Pages\ in\ two\ columns\ (odd\ on\ the\ right)=En vis-\u00e0-vis continu (paires \u00e0 gauche) Two\ pages\ at\ a\ time\ (odd\ on\ the\ left)=En vis-\u00e0-vis unique (paires \u00e0 droite) Two\ pages\ at\ a\ time\ (odd\ on\ the\ right)=En vis-\u00e0-vis unique (paires \u00e0 gauche) Viewer\ options=Options d'affichage Viewer\ options\ section\ loaded.=Section "Options d'affichage" charg\u00e9e. Save\ passwords\ informations\ (they\ will\ be\ readable\ opening\ the\ output\ file)?=Conserver les mots de passe ? (Attention \: ils seront accessibles en ouvrant le fichier de sauvegarde) Confirm\ password\ saving=Confirmer la sauvegarde du mot de passe Unknown\ action.=Action invalide. Log\ saved.=Sauvegarde du journal effectu\u00e9e. \ node\ environment\ loaded.=\ charg\u00e9 suivant la configuration. Environment\ saved.=Sauvegarde de la configuration effectu\u00e9e. Error\ saving\ environment,\ output\ file\ is\ null.=Erreur de sauvegarde de configuration, le fichier n'a pas \u00e9t\u00e9 cr\u00e9\u00e9. Error\ saving\ environment.=Erreur de sauvegarde de la configuration. Environment\ loaded.=Chargement de configuration effectu\u00e9. Error\ loading\ environment.=Erreur lors du chargement de configuration. Error\ loading\ environment\ from\ input\ file.\ =Erreur lors du chargement de configuration \u00e0 partir du fichier. Selection\ table\ is\ full,\ please\ remove\ some\ pdf\ document.=Le tableau de s\u00e9lection est complet, veuillez enlever des pdf. Table\ full=Tableau complet Please\ wait\ while\ reading=Veuillez attendre la fin de la lecture de Selected\ file\ is\ not\ a\ pdf\ document.=Le fichier s\u00e9lectionn\u00e9 n'est pas un pdf. Error\ loading\ =Erreur de chargement de Command\ validation\ returned\ an\ empty\ value.=La validation de commande a renvoy\u00e9 une valeur nulle. Command\ executed.=Commande ex\u00e9cut\u00e9e. File\ name=Nom Number\ of\ pages=Nombre de pages File\ size=Taille du fichier Pdf\ version=Version pdf Encryption=Chiffrement Not\ encrypted=Aucun Permissions=Permissions Title=Titre Author=D\u00e9veloppeur Subject=Sujet Producer=Outil de conversion Creator=Application Creation\ date=Date de cr\u00e9ation Modification\ date=Date de modification Keywords=Mots-cl\u00e9s Document\ properties=Propri\u00e9t\u00e9s du document # G:\Documents\eclipse_workspace\PDF # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:55 File=Fichier Close=Fermer # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\LogPanel.java:99 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:99 Copy=Copier Error\ creating\ properties\ panel.=Erreur lors de la g\u00e9n\u00e9ration du panneau des propri\u00e9t\u00e9s # G:\Documents\eclipse_workspace\PDFSAMsplit\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:368 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:542 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:462 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:526 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:320 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:410 Run=Ex\u00e9cuter Browse=Rechercher # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:243 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:264 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:257 Add=Ajouter Compress\ output\ file/files=Compresser le(s) fichier(s) cr\u00e9\u00e9(s) Overwrite\ if\ already\ exists=Remplacer le fichier existant Don't\ preserve\ file\ order\ (fast\ load)=Ne pas conserver l'ordre des fichiers (rapide) Output\ document\ pdf\ version\:=Version pdf du document \u00e0 cr\u00e9er \: !The\ cross\ reference\ table\ cantained\ some\ error\ and\ has\ been\ rebuilt= !The\ document\ has\ not\ been\ opened\ with\ the\ owner\ password.\ You\ must\ provide\ the\ owner\ password\ in\ order\ to\ manipulate\ the\ document= !An\ error\ occured\ while\ loading\ the\ document= Same\ as\ input\ document=Identique au fichier source # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:165 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:181 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:179 Path=Chemin # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:166 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:182 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:180 Pages=Pages Password=Mot de passe Version=Version pdf Page\ Selection=S\u00e9lection de pages Total\ pages\ of\ the\ document=Nombre total de pages du document Password\ to\ open\ the\ document\ (if\ needed)=Mot de passe pour ouvrir le document (si n\u00e9cessaire) Pdf\ version\ of\ the\ document=Version pdf du document Double\ click\ to\ set\ pages\ you\ want\ to\ merge\ (ex\:\ 2\ or\ 5-23\ or\ 2,5-7,12-)=Double-cliquez pour entrer les plages de pages \u00e0 fusionner (ex\: 2 or 5-23 or 2,5-7,12-) Add\ a\ pdf\ to\ the\ list=Ajouter un fichier Remove\ a\ pdf\ from\ the\ list=Enlever le fichier s\u00e9lectionn\u00e9 (Canc)=(Suppr) # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:252 # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:297 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:273 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:317 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:266 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:311 Remove=Enlever Reload=Recharger Error\:\ Unable\ to\ reload\ the\ selected\ file/s.=Erreur \: rechargement des fichiers s\u00e9lectionn\u00e9s impossible Unable\ to\ remove\ JList\ text\ =Suppression impossible du texte Jlist File\ selected\:\ =Fichier \: File\ reloaded\:\ =Fichier recharg\u00e9 \: # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:259 # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:306 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:273 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:320 Move\ Up=Monter Move\ up\ selected\ pdf\ file=Remonter le fichier s\u00e9lectionn\u00e9 (Alt+ArrowUp)=(Alt+Fl\u00e8che Haut) # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:268 # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:315 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:282 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:329 Move\ Down=Descendre Move\ down\ selected\ pdf\ file=Abaisser le fichier s\u00e9lectionn\u00e9 (Alt+ArrowDown)=(Alt+Fl\u00e8che Bas) Clear=Vider Remove\ every\ pdf\ file\ from\ the\ merge\ list=Vider enti\u00e8rement le tableau de fusion Set\ output\ file=Utiliser le dossier Error\:\ Unable\ to\ get\ the\ file\ path.=Erreur \: chemin introuvable. Unable\ to\ get\ the\ default\ environment\ informations.=Acquisition des informations de configuration par d\u00e9faut impossible. Setting\ look\ and\ feel...=R\u00e9glage de l'apparence... Setting\ logging\ level...=R\u00e9glage du journal... Unable\ to\ find\ log\ level,\ setting\ to\ default\ level\ (DEBUG).=Niveau de journal introuvable, r\u00e9glage au niveau par d\u00e9faut (DEBUG). Logging\ level\ set\ to\ =Niveau du journal r\u00e9gl\u00e9 sur Unable\ to\ set\ logging\ level.=R\u00e9glage du niveau de journal impossible. Error\ getting\ plugins\ directory.=Erreur d'acc\u00e8s au dossier des modules. Cannot\ read\ plugins\ directory\ =Lecture impossible du dossier des modules Plugins\ directory\ is\ null.=Le dossier des modules n'existe pas. Found\ zero\ or\ many\ jars\ in\ plugin\ directory\ =Aucun ou trop de fichiers modules "jar" d\u00e9tect\u00e9s dans le dossier Exception\ loading\ plugins.=Exception lors du chargement des modules. Cannot\ read\ plugin\ directory\ =Lecture impossible du dossier du plugin \ plugin\ loaded.=\ charg\u00e9 depuis les modules. Unable\ to\ load\ a\ plugin\ that\ is\ not\ JPanel\ subclass.=Chargement d'un plugin qui n'est pas de la classe JPanel imposssible. Error\ loading\ class\ =Erreur de chargement de la classe Select\ all=Tout s\u00e9lectionner # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:117 # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\LogPanel.java:121 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:117 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:121 Save\ log=Sauvegarder le journal Save\ environment=Sauvegarder la configuration Load\ environment=Charger une configuration # G:\Documents\eclipse_workspace\PDF # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:125 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:70 Exit=Quitter Unable\ to\ initialize\ menu\ bar.=Initialisation de la barre de menu impossible started\ in\ =d\u00e9marr\u00e9 en Loading\ plugins..=Chargement des modules... Building\ menus..=G\u00e9n\u00e9ration des menus... Building\ buttons\ bar..=G\u00e9n\u00e9ration de la barre d'ic\u00f4nes... Building\ status\ bar..=G\u00e9n\u00e9ration de la barre d'\u00e9tat... Building\ tree..=G\u00e9n\u00e9ration de l'arborescence... Loading\ default\ environment.=Chargement de la configuration par d\u00e9faut. Error\ starting\ pdfsam.=Erreur d'ouverture de pdfsam. # G:\Documents\eclipse_workspace\PDF # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:121 Clear\ log=Vider le journal Unable\ to\ initialize\ button\ bar.=Initialisation de la barre d'ic\u00f4nes impossible. Version\:\ =Version \: Language\:\ =Language de programmation \: Developed\ by\:\ =D\u00e9velopp\u00e9 par \: # G:\Documents\eclipse_workspace\PDF # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 Build\ date\:\ =Date de compilation \: Java\ home\:\ =R\u00e9pertoire Java \: Java\ version\:\ =Version Java \: Max\ memory\:\ =M\u00e9moire disponible \: Configuration\ file\:\ =Fichier des r\u00e9glages \: Website\:\ =Site Internet \: # G:\Documents\eclipse_workspace\PDF # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:118 Name=Nom About=\u00c0 propos Unimplemented\ method\ for\ JInfoPanel=M\u00e9thode non impl\u00e9ment\u00e9e pour JInfoPanel Contributes\:\ =Contributions \: Log\ level\:=Niveau du journal \: Settings=R\u00e9glages # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:117 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:119 Look\ and\ feel\:=Apparence \: Theme\:=Th\u00e8me \: Language\:=Langue \: Check\ for\ updates\:=Mises \u00e0 jour \: Load\ default\ environment\ at\ startup\:=Configuration par d\u00e9faut \: Default\ working\ directory\:=R\u00e9pertoire de travail par d\u00e9faut \: Error\ getting\ default\ environment.=Erreur d'acquisition de configuration. Check\ now=V\u00e9rifier maintenant Play\ alert\ sounds=Jouer les alertes sonores Settings\ =R\u00e9glages Language=Langue Set\ your\ preferred\ language\ (restart\ needed)=S\u00e9lectionnez votre langue favorite (red\u00e9marrage n\u00e9cessaire) Look\ and\ feel=Apparence Set\ your\ preferred\ look\ and\ feel\ and\ your\ preferred\ theme\ (restart\ needed)=S\u00e9lectionnez votre apparence et votre th\u00e8me favoris (red\u00e9marrage n\u00e9cessaire) Log\ level=Niveau de journalisation Set\ a\ log\ detail\ level\ (restart\ needed)=Choisissez le niveau de d\u00e9tail de la journalisation (red\u00e9marrage n\u00e9cessaire) Check\ for\ updates=Recherche de mises \u00e0 jour Set\ when\ new\ version\ availability\ should\ be\ checked\ (restart\ needed)=Choisissez le moment de recherche d'une nouvelle version (red\u00e9marrage n\u00e9cessaire) Turn\ on\ or\ off\ alert\ sounds=Activez ou d\u00e9sactivez les alertes sonores Default\ env.=Configuration par d\u00e9faut Select\ a\ previously\ saved\ env.\ file\ that\ will\ be\ automatically\ loaded\ at\ startup=S\u00e9lectionnez un fichier existant de configuration qui sera charg\u00e9 \u00e0 chaque lancement de Pdfsam Default\ working\ directory=R\u00e9pertoire de travail par d\u00e9faut Select\ a\ directory\ where\ documents\ will\ be\ saved\ and\ loaded\ by\ default=S\u00e9lectionnez un r\u00e9pertoire de chargement et d'enregistrement des documents par d\u00e9faut Save=Enregistrer Configuration\ saved.=R\u00e9glages enregistr\u00e9s. Unimplemented\ method\ for\ JSettingsPanel=M\u00e9thode non impl\u00e9ment\u00e9e pour JSettingsPanel New\ version\ available\:\ =Nouvelle version disponible \: Plugins=Modules Error\ getting\ pdf\ version\ description.=Erreur d'acquisition de la version pdf Version\ 1.2\ (Acrobat\ 3)=Version 1.2 (Acrobat 3) Version\ 1.3\ (Acrobat\ 4)=Version 1.3 (Acrobat 4) Version\ 1.4\ (Acrobat\ 5)=Version 1.4 (Acrobat 5) Version\ 1.5\ (Acrobat\ 6)=Version 1.5 (Acrobat 6) Version\ 1.6\ (Acrobat\ 7)=Version 1.6 (Acrobat 7) Version\ 1.7\ (Acrobat\ 8)=Version 1.7 (Acrobat 8) Never=Ne jamais v\u00e9rifier pdfsam\ start\ up=V\u00e9rifier au d\u00e9marrage Output\ file\ location\ is\ not\ correct=Le chemin vers le fichier \u00e0 cr\u00e9er n'est pas valide Would\ you\ like\ to\ change\ it\ to=Voulez vous le remplacer par Output\ location\ error=Erreur de r\u00e9pertoire de cr\u00e9ation Selected\ output\ file\ already\ exists\ =Le fichier \u00e0 cr\u00e9er existe d\u00e9j\u00e0 Would\ you\ like\ to\ overwrite\ it?=Voulez vous le remplacer ? Provided\ pages\ selection\ is\ not\ valid=La s\u00e9lection de pages indiqu\u00e9e n'est pas valide Limits\ must\ be\ a\ comma\ separated\ list\ of\ "page_number"\ or\ "page_number-page_number"=Les limites doivent \u00eatre du type "num\u00e9ropage" ou "num\u00e9ropage-num\u00e9ropage" s\u00e9par\u00e9es par des virgules Limits\ are\ not\ valid=Les limites indiqu\u00e9es ne sont pas valides Checking\ for\ a\ new\ version\ available.=Recherche de mise \u00e0 jour en cours... Error\ checking\ for\ a\ new\ version\ available.=Erreur lors de la recherche de mise \u00e0 jour Unable\ to\ get\ latest\ available\ version=Acquisition de la derni\u00e8re version impossible. New\ version\ available.=Une nouvelle version est disponible. No\ new\ version\ available.=Aucune nouvelle version disponible. Cut=Couper Paste=Coller pdfsam-1.1.4/pdfsam-langpack-br1/src/java/org/pdfsam/i18n/resources/Messages_nb.properties0000644000175000017500000003655011225342444031357 0ustar twernertwerner# Norwegian Bokmal translation for pdfsam # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the pdfsam package. # FIRST AUTHOR , 2008. # !=Project-Id-Version\: pdfsam\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2009-07-09 12\:23+0200\nPO-Revision-Date\: 2009-03-04 05\:05+0000\nLast-Translator\: hulkhaugen \nLanguage-Team\: Norwegian Bokmal \nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Launchpad-Export-Date\: 2009-03-23 17\:32+0000\nX-Generator\: Launchpad (build Unknown)\n Merge\ options=Flette alternativer PDF\ documents\ contain\ forms=PDF-dokumenter inneholder skjemaer Merge\ type=Flette type Unchecked=Ikke merket Use\ this\ merge\ type\ for\ standard\ pdf\ documents=Bruk denne flettetypen for standard pdf-dokumenter Checked=Merket Use\ this\ merge\ type\ for\ pdf\ documents\ containing\ forms=Benytte denne flettetypen for pdf-dokumenter som inneholder skjemaer Note=Merknad Setting\ this\ option\ the\ documents\ will\ be\ completely\ loaded\ in\ memory=Ved \u00e5 velge denne innstillingen vil dokumentene i sin helhet bli lastet inn i minnet Destination\ output\ file=Destinasjon for fil Error\:\ =Feil\: Browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ file.=S\u00f8k eller angi full sti til destinasjonsfilen. Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ file\ if\ it\ already\ exists.=Merk av om du \u00f8nsker \u00e5 overskrive destinasjonsfilen dersom den allerede eksisterer. Check\ the\ box\ if\ you\ want\ compressed\ output\ files.=Merk av dersom du \u00f8nsker \u00e5 komprimere utfilene. PDF\ version\ 1.5\ or\ above.=PDF versjon 1.5 eller h\u00f8yere. Set\ the\ pdf\ version\ of\ the\ ouput\ document.=Sett hvilken PDF-versjon utfilen skal ha. Please\ wait\ while\ all\ files\ are\ processed..=Vennligst vent mens filene blir behandlet.. Found\ a\ password\ for\ input\ file.=Fant et passord for inn filen. Please\ select\ at\ least\ one\ pdf\ document.=Vennligst velg minst ett pdf dokument. Warning=Advarsel Execute\ pdf\ merge=Start pdf fletting Merge/Extract=Flett/\u00c5pne Merge\ section\ loaded.=Flett merket seksjon. Export\ as\ xml=Eksporter som XML Unable\ to\ save\ xml\ file.=Ikke i stand til \u00e5 lagre XML-fil. Ok=Ok File\ xml\ saved.=xml fil lagret. Error\ saving\ xml\ file,\ output\ file\ is\ null.=Feil ved lagring av xml fil, utgangsfilen har verdien null. Split\ options=Delingsvalg Burst\ (split\ into\ single\ pages)=Spreng (del opp i enkelt sider) Split\ every\ "n"\ pages=Del hver "n" side Split\ even\ pages=Del partall-sider Split\ odd\ pages=Del oddetall-sider Split\ after\ these\ pages=Del etter disse sidene Split\ at\ this\ size=Del ved denne st\u00f8rrelsen Split\ by\ bookmarks\ level=Del ved bokmerkeniv\u00e5 Burst=Serie Explode\ the\ pdf\ document\ into\ single\ pages=Del pdf dokumentet i enkelt sider Split\ the\ document\ every\ "n"\ pages=Del dokumentet hver "n" sider Split\ the\ document\ every\ even\ page=Del dokumentet hver partall side Split\ the\ document\ every\ odd\ page=Del dokumentet hvert oddetall side Split\ the\ document\ after\ page\ numbers\ (num1-num2-num3..)=Del dokumenter etter sidenummerne (nr1-nr2,nr3...) Split\ the\ document\ in\ files\ of\ the\ given\ size\ (roughly)=Del dokumentet in i filer i den angitte st\u00f8rrelsen (ca) !Split\ the\ document\ at\ pages\ referred\ by\ bookmarks\ of\ the\ given\ level= Destination\ folder=Destinasjonsmappe Same\ as\ source=Samme som kilde Choose\ a\ folder=Velg en mappe Destination\ output\ directory=Destiansjon for utmappe Use\ the\ same\ output\ folder\ as\ the\ input\ file\ or\ choose\ a\ folder.=Bruk den samme utmappen som innfilen eller velg en mappe. To\ choose\ a\ folder\ browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ directory.=For \u00e5 velge en mappe, bla igjennom eller angi fullstendig sti til destinasjonsmappen. Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ files\ if\ they\ already\ exist.=Merk av om du \u00f8nsker \u00e5 overskrive utfilene dersom de allerede eksisterer. Output\ options=Utgangsalternativer Output\ file\ names\ prefix\:=Prefiks for utgangsfilnavn\: Output\ files\ prefix=Prefiks for utfil !If\ it\ contains\ "[CURRENTPAGE]",\ "[TIMESTAMP]",\ "[FILENUMBER]"\ or\ "[BOOKMARK_NAME]"\ it\ performs\ variable\ substitution.= Ex.\ prefix_[BASENAME]_[CURRENTPAGE]\ generates\ prefix_FileName_005.pdf.=F.eks. prefiks_[BASENAME]_[CURRENTPAGE], vil dette generere prefiks_Filnavn_005.pdf. !If\ it\ doesn't\ contain\ "[CURRENTPAGE]",\ "[TIMESTAMP]"\ or\ "[FILENUMBER]"\ it\ generates\ oldstyle\ output\ file\ names.= !Available\ variables= Invalid\ split\ size=Ugyldig delst\u00f8rrelse The\ lowest\ available\ pdf\ version\ is\ =Den laveste versjonsnummer av pdf som er tilgjengelig er You\ selected\ a\ lower\ output\ pdf\ version,\ continue\ anyway\ ?=Du valgte en lavere pdf versjon for utfila. \u00d8nsker du \u00e5 fortsette? Pdf\ version\ conflict=Pdf versjonskonflikt Please\ select\ a\ pdf\ document.=Vennligst velg et pdf dokument. Split\ selected\ file=Del opp valgt fil Split=Del opp Split\ section\ loaded.=Oppdelt seksjon er lastet. Invalid\ unit\:\ =Ugyldig enhet\: Fill\ from\ document=Fyll ut dokumentskjema !Getting\ bookmarks\ max\ depth= !Frontpage\ pdf\ file= !Addendum\ pdf\ file= !Select\ at\ least\ one\ cover\ or\ one\ footer= !Frontpage\ and\ Addendum= !Cover\ And\ Footer\ section\ loaded.= !Encrypt\ options= Owner\ password\:=Eiers passord\: Owner\ password\ (Max\ 32\ chars\ long)=Eiers passord (maks 32 tegn langt) User\ password\:=Bruker passord\: User\ password\ (Max\ 32\ chars\ long)=Bruker passord (maks 32 tegn langt) !Encryption\ algorithm\:= Allow\ all=Tillat alt Print=Skriv ut Low\ quality\ print=Lav kvalitetsutskrift Copy\ or\ extract=Kopier eller pakk ut Modify=Rediger Add\ or\ modify\ text\ annotations=Legg til eller rediger tekskommentarer Fill\ form\ fields=Fyll ut feltene i skjemaet !Extract\ for\ use\ by\ accessibility\ dev.= Manipulate\ pages\ and\ add\ bookmarks=Endre sidenr og legg til bokmerker Check\ the\ box\ if\ you\ want\ compressed\ output\ files\ (Pdf\ version\ 1.5\ or\ higher).=Merk av hvis du \u00f8nsker komprimerte utfiler (Pdf versjon 1.5 eller h\u00f8yere). If\ it\ contains\ "[TIMESTAMP]"\ it\ performs\ variable\ substitution.=Hvis det inneholder "[TIMESTAMP]" vil det utf\u00f8re variable bytter. Ex.\ [BASENAME]_prefix_[TIMESTAMP]\ generates\ FileName_prefix_20070517_113423471.pdf.=Eks. [BASENAME]_prefix_[TIMESTAMP] genererer FileName_prefix_20070517_113423471.pdf. If\ it\ doesn't\ contain\ "[TIMESTAMP]"\ it\ generates\ oldstyle\ output\ file\ names.=Hvis det ikke inneholder "[TIMESTAMP]" vil det generere utfilnavn av eldre stil. Available\ variables\:\ [TIMESTAMP],\ [BASENAME].=Tilgjengelige variabler\: [TIMESTAMP], [BASENAME]. !Encrypt\ selected\ files= !Encrypt= !Encrypt\ section\ loaded.= !Decrypt\ selected\ files= !Decrypt= Decrypt\ section\ loaded.=Dekrypteringsdelen lastet. !Mix\ options= !Reverse\ first\ document= !Reverse\ second\ document= !Number\ of\ pages\ to\ switch\ document= !Tick\ the\ boxes\ if\ you\ want\ to\ reverse\ the\ first\ or\ the\ second\ document\ (or\ both).= !Set\ the\ number\ of\ pages\ to\ switch\ from\ a\ document\ to\ the\ other\ one\ (default\ is\ 1).= Found\ a\ password\ for\ first\ file.=Fant et passord for f\u00f8rste filen. Found\ a\ password\ for\ second\ file.=Fant et passord for andre filen. Please\ select\ two\ pdf\ documents.=Vennligst velg to dokumenter. !Execute\ pdf\ alternate\ mix= !Alternate\ Mix= AlternateMix\ section\ loaded.=Vekslende miks del lastet. Unpack\ selected\ files=Pakk ut valgte filer Unpack=Pakk ut Unpack\ section\ loaded.=Pakk ut valgt del. Set\ viewer\ options=Sett visningsvalg Hide\ the\ menubar=Skjul menylinjen Hide\ the\ toolbar=Skjul verkt\u00f8ylinjen Hide\ user\ interface\ elements=Skjul brukergrensesnitt elementer Rezise\ the\ window\ to\ fit\ the\ page\ size=Tilpass vinduene til \u00e5 passe sidest\u00f8rrelsen Center\ of\ the\ screen=Midten av skjermen Display\ document\ title\ as\ window\ title=Vis dokumenttittel som vindustittel Pdf\ version\ required\:=Pdf versjon kreves\: No\ page\ scaling\ in\ print\ dialog=Ingen sideskalering i skriverdialog !Viewer\ layout\:= !Viewer\ open\ mode\:= Non\ fullscreen\ mode\:=Ikke fullskjermsmodus\: Direction\:=Retning\: Set\ options=Sett valg Set\ viewer\ options\ for\ selected\ files=Sett visningsvalg for valgte filer Left\ to\ right=Venstre til h\u00f8yre Right\ to\ left=H\u00f8yre til venstre None=Ingen Fullscreen=Fullskjerm Attachments=Vedlegg !Optional\ content\ group\ panel= !Document\ outline= Thumbnail\ images=Miniatyrbilder One\ page\ at\ a\ time=En side om gangen Pages\ in\ one\ column=Sider i en kolonne Pages\ in\ two\ columns\ (odd\ on\ the\ left)=Sider i to kolonner (oddetallssider til venstre) Pages\ in\ two\ columns\ (odd\ on\ the\ right)=Sider i to kolonner (oddetallssider til h\u00f8yre) Two\ pages\ at\ a\ time\ (odd\ on\ the\ left)=To sider om gangen (oddetallssider til venstre) Two\ pages\ at\ a\ time\ (odd\ on\ the\ right)=To sider om gangen (oddetallssider til h\u00f8yre) Viewer\ options=Visningsalternativer !Viewer\ options\ section\ loaded.= !Save\ passwords\ informations\ (they\ will\ be\ readable\ opening\ the\ output\ file)?= !Confirm\ password\ saving= Unknown\ action.=Ukjent handling. Log\ saved.=Logg lagret. !\ node\ environment\ loaded.= !Environment\ saved.= !Error\ saving\ environment,\ output\ file\ is\ null.= !Error\ saving\ environment.= !Environment\ loaded.= !Error\ loading\ environment.= !Error\ loading\ environment\ from\ input\ file.\ = !Selection\ table\ is\ full,\ please\ remove\ some\ pdf\ document.= Table\ full=Tabell full !Please\ wait\ while\ reading= !Selected\ file\ is\ not\ a\ pdf\ document.= Error\ loading\ =Feil ved lasting !Command\ validation\ returned\ an\ empty\ value.= Command\ executed.=Kommando utf\u00f8rt. File\ name=Filnavn !Number\ of\ pages= !File\ size= !Pdf\ version= !Encryption= !Not\ encrypted= !Permissions= !Title= !Author= !Subject= !Producer= !Creator= !Creation\ date= !Modification\ date= !Keywords= !Document\ properties= File=Fil !Close= Copy=Kopier !Error\ creating\ properties\ panel.= Run=Kj\u00f8r Browse=Bla igjennom Add=Legg til Compress\ output\ file/files=Komprimer utfil(er) Overwrite\ if\ already\ exists=Overskriv dersom det allerede eksisterer !Don't\ preserve\ file\ order\ (fast\ load)= !Output\ document\ pdf\ version\:= !The\ cross\ reference\ table\ cantained\ some\ error\ and\ has\ been\ rebuilt= !The\ document\ has\ not\ been\ opened\ with\ the\ owner\ password.\ You\ must\ provide\ the\ owner\ password\ in\ order\ to\ manipulate\ the\ document= !An\ error\ occured\ while\ loading\ the\ document= !Same\ as\ input\ document= Path=Sti Pages=Sider Password=Passord Version=Versjon Page\ Selection=Sidevalg Total\ pages\ of\ the\ document=Totalt antall sider i dokumentet !Password\ to\ open\ the\ document\ (if\ needed)= !Pdf\ version\ of\ the\ document= !Double\ click\ to\ set\ pages\ you\ want\ to\ merge\ (ex\:\ 2\ or\ 5-23\ or\ 2,5-7,12-)= !Add\ a\ pdf\ to\ the\ list= Remove\ a\ pdf\ from\ the\ list=Fjern en pdf fra listen !(Canc)= Remove=Fjern Reload=Last p\u00e5 nytt !Error\:\ Unable\ to\ reload\ the\ selected\ file/s.= !Unable\ to\ remove\ JList\ text\ = File\ selected\:\ =Fil valgt\: !File\ reloaded\:\ = Move\ Up=Flytt opp !Move\ up\ selected\ pdf\ file= (Alt+ArrowUp)=(Alt+PilOpp) Move\ Down=Flytt ned !Move\ down\ selected\ pdf\ file= (Alt+ArrowDown)=(Alt+PilNed) Clear=T\u00f8m !Remove\ every\ pdf\ file\ from\ the\ merge\ list= !Set\ output\ file= !Error\:\ Unable\ to\ get\ the\ file\ path.= !Unable\ to\ get\ the\ default\ environment\ informations.= !Setting\ look\ and\ feel...= !Setting\ logging\ level...= !Unable\ to\ find\ log\ level,\ setting\ to\ default\ level\ (DEBUG).= !Logging\ level\ set\ to\ = !Unable\ to\ set\ logging\ level.= !Error\ getting\ plugins\ directory.= !Cannot\ read\ plugins\ directory\ = !Plugins\ directory\ is\ null.= !Found\ zero\ or\ many\ jars\ in\ plugin\ directory\ = !Exception\ loading\ plugins.= !Cannot\ read\ plugin\ directory\ = !\ plugin\ loaded.= !Unable\ to\ load\ a\ plugin\ that\ is\ not\ JPanel\ subclass.= !Error\ loading\ class\ = Select\ all=Merk alt !Save\ log= !Save\ environment= !Load\ environment= Exit=Avslutt !Unable\ to\ initialize\ menu\ bar.= !started\ in\ = !Loading\ plugins..= !Building\ menus..= !Building\ buttons\ bar..= !Building\ status\ bar..= !Building\ tree..= !Loading\ default\ environment.= Error\ starting\ pdfsam.=Feil ved oppstart av PDF SAM. Clear\ log=T\u00f8m logg !Unable\ to\ initialize\ button\ bar.= Version\:\ =Versjon\: Language\:\ =Spr\u00e5k\: !Developed\ by\:\ = !Build\ date\:\ = !Java\ home\:\ = Java\ version\:\ =Java versjon\: Max\ memory\:\ =Maksimalt minne\: Configuration\ file\:\ =Konfigurasjonsfil\: Website\:\ =Internettside\: Name=Navn About=Om !Unimplemented\ method\ for\ JInfoPanel= Contributes\:\ =Medvirkere\: !Log\ level\:= Settings=Instillinger !Look\ and\ feel\:= Theme\:=Tema\: Language\:=Spr\u00e5k\: Check\ for\ updates\:=Se etter oppdateringer\: !Load\ default\ environment\ at\ startup\:= Default\ working\ directory\:=Standard arbeidsmappe\: !Error\ getting\ default\ environment.= Check\ now=Sjekk n\u00e5 !Play\ alert\ sounds= Settings\ =Alternativer\: Language=Spr\u00e5k Set\ your\ preferred\ language\ (restart\ needed)=Velg ditt foretrekkende spr\u00e5k (krever omstart) !Look\ and\ feel= !Set\ your\ preferred\ look\ and\ feel\ and\ your\ preferred\ theme\ (restart\ needed)= Log\ level=Loggniv\u00e5 !Set\ a\ log\ detail\ level\ (restart\ needed)= Check\ for\ updates=Se etter oppdateringer !Set\ when\ new\ version\ availability\ should\ be\ checked\ (restart\ needed)= !Turn\ on\ or\ off\ alert\ sounds= !Default\ env.= !Select\ a\ previously\ saved\ env.\ file\ that\ will\ be\ automatically\ loaded\ at\ startup= !Default\ working\ directory= !Select\ a\ directory\ where\ documents\ will\ be\ saved\ and\ loaded\ by\ default= Save=Lagre !Configuration\ saved.= !Unimplemented\ method\ for\ JSettingsPanel= New\ version\ available\:\ =Ny versjon tilgjengelig\: !Plugins= !Error\ getting\ pdf\ version\ description.= Version\ 1.2\ (Acrobat\ 3)=Versjon 1.2 (Acrobat 3) Version\ 1.3\ (Acrobat\ 4)=Versjon 1.3 (Acrobat 4) Version\ 1.4\ (Acrobat\ 5)=Versjon 1.4 (Acrobat 5) Version\ 1.5\ (Acrobat\ 6)=Versjon 1.5 (Acrobat 6) Version\ 1.6\ (Acrobat\ 7)=Versjon 1.6 (Acrobat 7) Version\ 1.7\ (Acrobat\ 8)=Versjon 1.7 (Acrobat 8) Never=Aldri pdfsam\ start\ up=PDF SAM oppstart Output\ file\ location\ is\ not\ correct=Utfil-lagringssti er ikke korrekt !Would\ you\ like\ to\ change\ it\ to= !Output\ location\ error= !Selected\ output\ file\ already\ exists\ = !Would\ you\ like\ to\ overwrite\ it?= !Provided\ pages\ selection\ is\ not\ valid= !Limits\ must\ be\ a\ comma\ separated\ list\ of\ "page_number"\ or\ "page_number-page_number"= !Limits\ are\ not\ valid= Checking\ for\ a\ new\ version\ available.=S\u00f8ker etter nye versjoner. !Error\ checking\ for\ a\ new\ version\ available.= !Unable\ to\ get\ latest\ available\ version= New\ version\ available.=Ny versjon tilgjengelig. No\ new\ version\ available.=Ingen nye versjoner tilgjengelig. Cut=Klipp ut Paste=Lim inn pdfsam-1.1.4/pdfsam-langpack-br1/src/java/org/pdfsam/i18n/resources/Messages_vi.properties0000644000175000017500000003406711225342444031377 0ustar twernertwerner# Vietnamese translation for pdfsam # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the pdfsam package. # FIRST AUTHOR , 2008. # !=Project-Id-Version\: pdfsam\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2009-07-09 12\:23+0200\nPO-Revision-Date\: 2008-03-24 16\:15+0000\nLast-Translator\: Andrea Vacondio \nLanguage-Team\: Vietnamese \nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Launchpad-Export-Date\: 2008-06-21 08\:12+0000\nX-Generator\: Launchpad (build Unknown)\n #, fuzzy !Merge\ options=C\u00e1c t\u00f9y ch\u1ecdn c\u1eaft PDF\ documents\ contain\ forms=C\u00e1c t\u00e0i li\u1ec7u PDF c\u00f3 ch\u1ee9a c\u00e1c form Merge\ type=Lo\u1ea1i k\u1ebft h\u1ee3p Unchecked=Ch\u01b0a \u0111\u01b0\u1ee3c ch\u1ecdn Use\ this\ merge\ type\ for\ standard\ pdf\ documents=D\u00f9ng lo\u1ea1i k\u1ebft h\u1ee3p n\u00e0y cho c\u00e1c t\u00e0i li\u1ec7u PDF chu\u1ea9n Checked=\u0110\u00e3 ch\u1ecdn Use\ this\ merge\ type\ for\ pdf\ documents\ containing\ forms=D\u00f9ng lo\u1ea1i k\u1ebft h\u1ee3p n\u00e0y cho c\u00e1c t\u00e0i li\u1ec7u PDF c\u00f3 ch\u1ee9a c\u00e1c form Note=Ghi ch\u00fa #, fuzzy !Setting\ this\ option\ the\ documents\ will\ be\ completely\ loaded\ in\ memory=Thi\u1ebft l\u1eadp t\u00f9y ch\u1ecdn n\u00e0y c\u00e1c t\u00e0i li\u1ec7u s\u1ebd ho\u00e0n to\u00e0n \u0111\u01b0\u1ee3c n\u1ea1p v\u00e0o b\u1ed9 nh\u1edb Destination\ output\ file=\u0110\u00edch c\u1ee7a file xu\u1ea5t ra Error\:\ =L\u1ed7i\: Browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ file.=Duy\u1ec7t ho\u1eb7c \u0111i\u1ec1n \u0111\u01b0\u1eddng d\u1eabn \u0111\u1ea7y \u0111\u1ee7 t\u1edbi \u0111\u00edch xu\u1ea5t file ra #, fuzzy !Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ file\ if\ it\ already\ exists.=Ch\u1ecdn ch\u1ed7 n\u00e0y n\u1ebfu b\u1ea1n mu\u1ed1n ghi \u0111\u00e8 file xu\u1ea5t ra n\u1ebfu n\u00f3 \u0111\u00e3 t\u1ed3n t\u1ea1i Check\ the\ box\ if\ you\ want\ compressed\ output\ files.=Ch\u1ecdn ch\u1ed7 n\u00e0y n\u1ebfu b\u1ea1n mu\u1ed1n c\u00e1c file xu\u1ea5t ra \u0111\u00e3 \u0111\u01b0\u1ee3c n\u00e9n PDF\ version\ 1.5\ or\ above.=PDF phi\u00ean b\u1ea3n 1.5 ho\u1eb7c cao h\u01a1n Set\ the\ pdf\ version\ of\ the\ ouput\ document.=\u0110\u1eb7t phi\u00ean b\u1ea3n pdf c\u1ee7a t\u00e0i li\u1ec7u xu\u1ea5t ra Please\ wait\ while\ all\ files\ are\ processed..=H\u00e3y \u0111\u1ee3i trong khi t\u1ea5t c\u1ea3 c\u00e1c file \u0111ang \u0111\u01b0\u1ee3c x\u1eed l\u00fd Found\ a\ password\ for\ input\ file.=\u0110\u00e3 t\u00ecm th\u1ea5y m\u1ed9t m\u1eadt kh\u1ea9u cho file \u0111\u01b0a v\u00e0o !Please\ select\ at\ least\ one\ pdf\ document.= !Warning= Execute\ pdf\ merge=Th\u1ef1c thi vi\u1ec7c k\u1ebft h\u1ee3p pdf Merge/Extract=K\u1ebft h\u1ee3p/Xu\u1ea5t ra Merge\ section\ loaded.=Ph\u1ea7n k\u1ebft h\u1ee3p \u0111\u00e3 \u0111\u01b0\u1ee3c t\u1ea3i !Export\ as\ xml= !Unable\ to\ save\ xml\ file.= !Ok= !File\ xml\ saved.= !Error\ saving\ xml\ file,\ output\ file\ is\ null.= Split\ options=C\u00e1c t\u00f9y ch\u1ecdn c\u1eaft Burst\ (split\ into\ single\ pages)=T\u1eebng m\u1ea3nh (c\u1eaft th\u00e0nh t\u1eebng trang) Split\ every\ "n"\ pages=C\u1eaft theo t\u1eebng "n" trang Split\ even\ pages=C\u1eaft c\u00e1c trang ch\u1eb5n Split\ odd\ pages=C\u1eaft c\u00e1c trang l\u1ebb Split\ after\ these\ pages=C\u1eaft sau trang Split\ at\ this\ size=C\u1eaft theo k\u00edch c\u1ee1 !Split\ by\ bookmarks\ level= Burst=T\u1eebng m\u1ea3nh Explode\ the\ pdf\ document\ into\ single\ pages=C\u1eaft t\u00e0i li\u1ec7u PDF th\u00e0nh t\u1eebng trang m\u1ed9t Split\ the\ document\ every\ "n"\ pages=C\u1eaft t\u00e0i li\u1ec7u theo t\u1eebng "n" trang m\u1ed9t Split\ the\ document\ every\ even\ page=C\u1eaft t\u00e0i li\u1ec7u theo c\u00e1c trang ch\u1eb5n Split\ the\ document\ every\ odd\ page=C\u1eaft t\u00e0i li\u1ec7u theo c\u00e1c trang l\u1ebb Split\ the\ document\ after\ page\ numbers\ (num1-num2-num3..)=C\u1eaft t\u00e0i li\u1ec7u sau c\u00e1c s\u1ed1 trang (s\u1ed1 1 - s\u1ed1 2 - s\u1ed1 3...) #, fuzzy !Split\ the\ document\ in\ files\ of\ the\ given\ size\ (roughly)=C\u1eaft t\u00e0i li\u1ec7u theo c\u00e1c file c\u00f3 k\u00edch c\u1ee1 s\u1eb5n (\u01b0\u1edbc l\u01b0\u1ee3ng) #, fuzzy !Split\ the\ document\ at\ pages\ referred\ by\ bookmarks\ of\ the\ given\ level=C\u1eaft t\u00e0i li\u1ec7u theo c\u00e1c file c\u00f3 k\u00edch c\u1ee1 s\u1eb5n (\u01b0\u1edbc l\u01b0\u1ee3ng) #, fuzzy !Destination\ folder=Th\u01b0 m\u1ee5c \u0111\u00edch\: Same\ as\ source=C\u00f9ng th\u01b0 m\u1ee5c ngu\u1ed3n !Choose\ a\ folder= !Destination\ output\ directory= !Use\ the\ same\ output\ folder\ as\ the\ input\ file\ or\ choose\ a\ folder.= !To\ choose\ a\ folder\ browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ directory.= !Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ files\ if\ they\ already\ exist.= #, fuzzy !Output\ options=C\u00e1c t\u00f9y ch\u1ecdn c\u1eaft !Output\ file\ names\ prefix\:= !Output\ files\ prefix= !If\ it\ contains\ "[CURRENTPAGE]",\ "[TIMESTAMP]",\ "[FILENUMBER]"\ or\ "[BOOKMARK_NAME]"\ it\ performs\ variable\ substitution.= !Ex.\ prefix_[BASENAME]_[CURRENTPAGE]\ generates\ prefix_FileName_005.pdf.= !If\ it\ doesn't\ contain\ "[CURRENTPAGE]",\ "[TIMESTAMP]"\ or\ "[FILENUMBER]"\ it\ generates\ oldstyle\ output\ file\ names.= !Available\ variables= !Invalid\ split\ size= !The\ lowest\ available\ pdf\ version\ is\ = !You\ selected\ a\ lower\ output\ pdf\ version,\ continue\ anyway\ ?= !Pdf\ version\ conflict= !Please\ select\ a\ pdf\ document.= !Split\ selected\ file= !Split= !Split\ section\ loaded.= !Invalid\ unit\:\ = !Fill\ from\ document= !Getting\ bookmarks\ max\ depth= !Frontpage\ pdf\ file= !Addendum\ pdf\ file= !Select\ at\ least\ one\ cover\ or\ one\ footer= !Frontpage\ and\ Addendum= !Cover\ And\ Footer\ section\ loaded.= #, fuzzy !Encrypt\ options=C\u00e1c t\u00f9y ch\u1ecdn c\u1eaft !Owner\ password\:= !Owner\ password\ (Max\ 32\ chars\ long)= !User\ password\:= !User\ password\ (Max\ 32\ chars\ long)= !Encryption\ algorithm\:= !Allow\ all= !Print= !Low\ quality\ print= !Copy\ or\ extract= !Modify= !Add\ or\ modify\ text\ annotations= !Fill\ form\ fields= !Extract\ for\ use\ by\ accessibility\ dev.= !Manipulate\ pages\ and\ add\ bookmarks= !Check\ the\ box\ if\ you\ want\ compressed\ output\ files\ (Pdf\ version\ 1.5\ or\ higher).= !If\ it\ contains\ "[TIMESTAMP]"\ it\ performs\ variable\ substitution.= !Ex.\ [BASENAME]_prefix_[TIMESTAMP]\ generates\ FileName_prefix_20070517_113423471.pdf.= !If\ it\ doesn't\ contain\ "[TIMESTAMP]"\ it\ generates\ oldstyle\ output\ file\ names.= !Available\ variables\:\ [TIMESTAMP],\ [BASENAME].= !Encrypt\ selected\ files= !Encrypt= !Encrypt\ section\ loaded.= !Decrypt\ selected\ files= !Decrypt= #, fuzzy !Decrypt\ section\ loaded.=Ph\u1ea7n k\u1ebft h\u1ee3p \u0111\u00e3 \u0111\u01b0\u1ee3c t\u1ea3i #, fuzzy !Mix\ options=C\u00e1c t\u00f9y ch\u1ecdn c\u1eaft !Reverse\ first\ document= !Reverse\ second\ document= !Number\ of\ pages\ to\ switch\ document= !Tick\ the\ boxes\ if\ you\ want\ to\ reverse\ the\ first\ or\ the\ second\ document\ (or\ both).= !Set\ the\ number\ of\ pages\ to\ switch\ from\ a\ document\ to\ the\ other\ one\ (default\ is\ 1).= !Found\ a\ password\ for\ first\ file.= !Found\ a\ password\ for\ second\ file.= !Please\ select\ two\ pdf\ documents.= !Execute\ pdf\ alternate\ mix= !Alternate\ Mix= !AlternateMix\ section\ loaded.= !Unpack\ selected\ files= !Unpack= #, fuzzy !Unpack\ section\ loaded.=Ph\u1ea7n k\u1ebft h\u1ee3p \u0111\u00e3 \u0111\u01b0\u1ee3c t\u1ea3i #, fuzzy !Set\ viewer\ options=C\u00e1c t\u00f9y ch\u1ecdn c\u1eaft !Hide\ the\ menubar= !Hide\ the\ toolbar= !Hide\ user\ interface\ elements= !Rezise\ the\ window\ to\ fit\ the\ page\ size= !Center\ of\ the\ screen= !Display\ document\ title\ as\ window\ title= !Pdf\ version\ required\:= !No\ page\ scaling\ in\ print\ dialog= !Viewer\ layout\:= !Viewer\ open\ mode\:= !Non\ fullscreen\ mode\:= !Direction\:= #, fuzzy !Set\ options=C\u00e1c t\u00f9y ch\u1ecdn c\u1eaft !Set\ viewer\ options\ for\ selected\ files= !Left\ to\ right= !Right\ to\ left= #, fuzzy !None=Ghi ch\u00fa !Fullscreen= !Attachments= !Optional\ content\ group\ panel= #, fuzzy !Document\ outline=C\u00e1c t\u00e0i li\u1ec7u PDF c\u00f3 ch\u1ee9a c\u00e1c form !Thumbnail\ images= !One\ page\ at\ a\ time= !Pages\ in\ one\ column= !Pages\ in\ two\ columns\ (odd\ on\ the\ left)= !Pages\ in\ two\ columns\ (odd\ on\ the\ right)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ left)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ right)= #, fuzzy !Viewer\ options=C\u00e1c t\u00f9y ch\u1ecdn c\u1eaft #, fuzzy !Viewer\ options\ section\ loaded.=Ph\u1ea7n k\u1ebft h\u1ee3p \u0111\u00e3 \u0111\u01b0\u1ee3c t\u1ea3i !Save\ passwords\ informations\ (they\ will\ be\ readable\ opening\ the\ output\ file)?= !Confirm\ password\ saving= !Unknown\ action.= !Log\ saved.= !\ node\ environment\ loaded.= !Environment\ saved.= !Error\ saving\ environment,\ output\ file\ is\ null.= !Error\ saving\ environment.= !Environment\ loaded.= !Error\ loading\ environment.= !Error\ loading\ environment\ from\ input\ file.\ = !Selection\ table\ is\ full,\ please\ remove\ some\ pdf\ document.= !Table\ full= !Please\ wait\ while\ reading= !Selected\ file\ is\ not\ a\ pdf\ document.= !Error\ loading\ = !Command\ validation\ returned\ an\ empty\ value.= !Command\ executed.= !File\ name= !Number\ of\ pages= !File\ size= !Pdf\ version= !Encryption= !Not\ encrypted= !Permissions= !Title= !Author= !Subject= !Producer= !Creator= !Creation\ date= !Modification\ date= !Keywords= !Document\ properties= !File= !Close= !Copy= !Error\ creating\ properties\ panel.= !Run= !Browse= !Add= !Compress\ output\ file/files= Overwrite\ if\ already\ exists=Ghi \u0111\u00e8 n\u1ebfu \u0111\u00e3 c\u00f3 s\u1eb5n !Don't\ preserve\ file\ order\ (fast\ load)= !Output\ document\ pdf\ version\:= !The\ cross\ reference\ table\ cantained\ some\ error\ and\ has\ been\ rebuilt= !The\ document\ has\ not\ been\ opened\ with\ the\ owner\ password.\ You\ must\ provide\ the\ owner\ password\ in\ order\ to\ manipulate\ the\ document= !An\ error\ occured\ while\ loading\ the\ document= !Same\ as\ input\ document= !Path= !Pages= !Password= !Version= !Page\ Selection= !Total\ pages\ of\ the\ document= !Password\ to\ open\ the\ document\ (if\ needed)= !Pdf\ version\ of\ the\ document= !Double\ click\ to\ set\ pages\ you\ want\ to\ merge\ (ex\:\ 2\ or\ 5-23\ or\ 2,5-7,12-)= !Add\ a\ pdf\ to\ the\ list= !Remove\ a\ pdf\ from\ the\ list= !(Canc)= !Remove= !Reload= !Error\:\ Unable\ to\ reload\ the\ selected\ file/s.= !Unable\ to\ remove\ JList\ text\ = !File\ selected\:\ = !File\ reloaded\:\ = !Move\ Up= !Move\ up\ selected\ pdf\ file= !(Alt+ArrowUp)= !Move\ Down= !Move\ down\ selected\ pdf\ file= !(Alt+ArrowDown)= !Clear= !Remove\ every\ pdf\ file\ from\ the\ merge\ list= !Set\ output\ file= !Error\:\ Unable\ to\ get\ the\ file\ path.= !Unable\ to\ get\ the\ default\ environment\ informations.= !Setting\ look\ and\ feel...= !Setting\ logging\ level...= !Unable\ to\ find\ log\ level,\ setting\ to\ default\ level\ (DEBUG).= !Logging\ level\ set\ to\ = !Unable\ to\ set\ logging\ level.= !Error\ getting\ plugins\ directory.= !Cannot\ read\ plugins\ directory\ = !Plugins\ directory\ is\ null.= !Found\ zero\ or\ many\ jars\ in\ plugin\ directory\ = !Exception\ loading\ plugins.= !Cannot\ read\ plugin\ directory\ = !\ plugin\ loaded.= !Unable\ to\ load\ a\ plugin\ that\ is\ not\ JPanel\ subclass.= !Error\ loading\ class\ = !Select\ all= !Save\ log= !Save\ environment= !Load\ environment= !Exit= !Unable\ to\ initialize\ menu\ bar.= !started\ in\ = !Loading\ plugins..= !Building\ menus..= !Building\ buttons\ bar..= !Building\ status\ bar..= !Building\ tree..= !Loading\ default\ environment.= !Error\ starting\ pdfsam.= !Clear\ log= !Unable\ to\ initialize\ button\ bar.= !Version\:\ = !Language\:\ = !Developed\ by\:\ = !Build\ date\:\ = !Java\ home\:\ = !Java\ version\:\ = !Max\ memory\:\ = !Configuration\ file\:\ = !Website\:\ = !Name= !About= !Unimplemented\ method\ for\ JInfoPanel= !Contributes\:\ = !Log\ level\:= !Settings= !Look\ and\ feel\:= !Theme\:= !Language\:= !Check\ for\ updates\:= !Load\ default\ environment\ at\ startup\:= !Default\ working\ directory\:= !Error\ getting\ default\ environment.= #, fuzzy !Check\ now=\u0110\u00e3 ch\u1ecdn !Play\ alert\ sounds= !Settings\ = !Language= !Set\ your\ preferred\ language\ (restart\ needed)= !Look\ and\ feel= !Set\ your\ preferred\ look\ and\ feel\ and\ your\ preferred\ theme\ (restart\ needed)= !Log\ level= !Set\ a\ log\ detail\ level\ (restart\ needed)= !Check\ for\ updates= !Set\ when\ new\ version\ availability\ should\ be\ checked\ (restart\ needed)= !Turn\ on\ or\ off\ alert\ sounds= !Default\ env.= !Select\ a\ previously\ saved\ env.\ file\ that\ will\ be\ automatically\ loaded\ at\ startup= !Default\ working\ directory= !Select\ a\ directory\ where\ documents\ will\ be\ saved\ and\ loaded\ by\ default= !Save= !Configuration\ saved.= !Unimplemented\ method\ for\ JSettingsPanel= !New\ version\ available\:\ = !Plugins= !Error\ getting\ pdf\ version\ description.= !Version\ 1.2\ (Acrobat\ 3)= !Version\ 1.3\ (Acrobat\ 4)= !Version\ 1.4\ (Acrobat\ 5)= !Version\ 1.5\ (Acrobat\ 6)= !Version\ 1.6\ (Acrobat\ 7)= !Version\ 1.7\ (Acrobat\ 8)= !Never= !pdfsam\ start\ up= !Output\ file\ location\ is\ not\ correct= !Would\ you\ like\ to\ change\ it\ to= !Output\ location\ error= !Selected\ output\ file\ already\ exists\ = !Would\ you\ like\ to\ overwrite\ it?= !Provided\ pages\ selection\ is\ not\ valid= !Limits\ must\ be\ a\ comma\ separated\ list\ of\ "page_number"\ or\ "page_number-page_number"= !Limits\ are\ not\ valid= !Checking\ for\ a\ new\ version\ available.= !Error\ checking\ for\ a\ new\ version\ available.= !Unable\ to\ get\ latest\ available\ version= !New\ version\ available.= !No\ new\ version\ available.= !Cut= !Paste= pdfsam-1.1.4/pdfsam-langpack-br1/src/java/org/pdfsam/i18n/resources/Messages_id.properties0000644000175000017500000002753111225342444031353 0ustar twernertwerner# Indonesian translation for pdfsam # Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 # This file is distributed under the same license as the pdfsam package. # FIRST AUTHOR , 2007. # !=Project-Id-Version\: pdfsam\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2009-07-09 12\:23+0200\nPO-Revision-Date\: 2009-06-24 15\:59+0000\nLast-Translator\: pojokinfo.com \nLanguage-Team\: Indonesian \nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Launchpad-Export-Date\: 2009-07-09 10\:20+0000\nX-Generator\: Launchpad (build Unknown)\n Merge\ options=Pilihan Penggabungan !PDF\ documents\ contain\ forms= Merge\ type=Merge type Unchecked=Tidak dipilih Use\ this\ merge\ type\ for\ standard\ pdf\ documents=Gunakan jenis merge ini sebagai standar dokumen pdf Checked=Dipilih Use\ this\ merge\ type\ for\ pdf\ documents\ containing\ forms=Gunakan jenis merge ini sebagai dokumen pdf yang mengandung forms Note=Catatan !Setting\ this\ option\ the\ documents\ will\ be\ completely\ loaded\ in\ memory= Destination\ output\ file=Lokasi penyimpanan file output Error\:\ =Salah\: !Browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ file.= Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ file\ if\ it\ already\ exists.=Tandai kotak untuk mengganti hasil file yang sudah ada Check\ the\ box\ if\ you\ want\ compressed\ output\ files.=Tandai kotak untuk hasil file yang terkompresi !PDF\ version\ 1.5\ or\ above.= !Set\ the\ pdf\ version\ of\ the\ ouput\ document.= Please\ wait\ while\ all\ files\ are\ processed..=Mohon tunggu selama semua file sedang diproses Found\ a\ password\ for\ input\ file.=FIle sumber mengandung password Please\ select\ at\ least\ one\ pdf\ document.=Pilih minimal satu file pdf Warning=Peringatan Execute\ pdf\ merge=Lakukan penggabungan pdf !Merge/Extract= !Merge\ section\ loaded.= !Export\ as\ xml= !Unable\ to\ save\ xml\ file.= Ok=Ok !File\ xml\ saved.= !Error\ saving\ xml\ file,\ output\ file\ is\ null.= !Split\ options= !Burst\ (split\ into\ single\ pages)= !Split\ every\ "n"\ pages= Split\ even\ pages=Pisahkan halaman bernomor genap Split\ odd\ pages=Pisahkan halaman bernomor ganjil !Split\ after\ these\ pages= !Split\ at\ this\ size= !Split\ by\ bookmarks\ level= !Burst= !Explode\ the\ pdf\ document\ into\ single\ pages= !Split\ the\ document\ every\ "n"\ pages= !Split\ the\ document\ every\ even\ page= !Split\ the\ document\ every\ odd\ page= !Split\ the\ document\ after\ page\ numbers\ (num1-num2-num3..)= !Split\ the\ document\ in\ files\ of\ the\ given\ size\ (roughly)= !Split\ the\ document\ at\ pages\ referred\ by\ bookmarks\ of\ the\ given\ level= !Destination\ folder= !Same\ as\ source= !Choose\ a\ folder= Destination\ output\ directory=Direktori tujuan keluaran !Use\ the\ same\ output\ folder\ as\ the\ input\ file\ or\ choose\ a\ folder.= !To\ choose\ a\ folder\ browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ directory.= Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ files\ if\ they\ already\ exist.=Tandai kotak jika Anda ingin menimpa berkas keluaran jika sudah ada !Output\ options= !Output\ file\ names\ prefix\:= !Output\ files\ prefix= !If\ it\ contains\ "[CURRENTPAGE]",\ "[TIMESTAMP]",\ "[FILENUMBER]"\ or\ "[BOOKMARK_NAME]"\ it\ performs\ variable\ substitution.= !Ex.\ prefix_[BASENAME]_[CURRENTPAGE]\ generates\ prefix_FileName_005.pdf.= !If\ it\ doesn't\ contain\ "[CURRENTPAGE]",\ "[TIMESTAMP]"\ or\ "[FILENUMBER]"\ it\ generates\ oldstyle\ output\ file\ names.= !Available\ variables= !Invalid\ split\ size= !The\ lowest\ available\ pdf\ version\ is\ = !You\ selected\ a\ lower\ output\ pdf\ version,\ continue\ anyway\ ?= !Pdf\ version\ conflict= !Please\ select\ a\ pdf\ document.= !Split\ selected\ file= !Split= !Split\ section\ loaded.= !Invalid\ unit\:\ = !Fill\ from\ document= !Getting\ bookmarks\ max\ depth= !Frontpage\ pdf\ file= !Addendum\ pdf\ file= !Select\ at\ least\ one\ cover\ or\ one\ footer= !Frontpage\ and\ Addendum= !Cover\ And\ Footer\ section\ loaded.= !Encrypt\ options= !Owner\ password\:= !Owner\ password\ (Max\ 32\ chars\ long)= !User\ password\:= !User\ password\ (Max\ 32\ chars\ long)= !Encryption\ algorithm\:= !Allow\ all= !Print= !Low\ quality\ print= !Copy\ or\ extract= !Modify= !Add\ or\ modify\ text\ annotations= !Fill\ form\ fields= !Extract\ for\ use\ by\ accessibility\ dev.= !Manipulate\ pages\ and\ add\ bookmarks= !Check\ the\ box\ if\ you\ want\ compressed\ output\ files\ (Pdf\ version\ 1.5\ or\ higher).= !If\ it\ contains\ "[TIMESTAMP]"\ it\ performs\ variable\ substitution.= !Ex.\ [BASENAME]_prefix_[TIMESTAMP]\ generates\ FileName_prefix_20070517_113423471.pdf.= !If\ it\ doesn't\ contain\ "[TIMESTAMP]"\ it\ generates\ oldstyle\ output\ file\ names.= !Available\ variables\:\ [TIMESTAMP],\ [BASENAME].= !Encrypt\ selected\ files= !Encrypt= !Encrypt\ section\ loaded.= !Decrypt\ selected\ files= !Decrypt= !Decrypt\ section\ loaded.= !Mix\ options= !Reverse\ first\ document= !Reverse\ second\ document= !Number\ of\ pages\ to\ switch\ document= !Tick\ the\ boxes\ if\ you\ want\ to\ reverse\ the\ first\ or\ the\ second\ document\ (or\ both).= !Set\ the\ number\ of\ pages\ to\ switch\ from\ a\ document\ to\ the\ other\ one\ (default\ is\ 1).= !Found\ a\ password\ for\ first\ file.= !Found\ a\ password\ for\ second\ file.= !Please\ select\ two\ pdf\ documents.= !Execute\ pdf\ alternate\ mix= !Alternate\ Mix= !AlternateMix\ section\ loaded.= !Unpack\ selected\ files= !Unpack= !Unpack\ section\ loaded.= !Set\ viewer\ options= !Hide\ the\ menubar= !Hide\ the\ toolbar= !Hide\ user\ interface\ elements= !Rezise\ the\ window\ to\ fit\ the\ page\ size= !Center\ of\ the\ screen= !Display\ document\ title\ as\ window\ title= !Pdf\ version\ required\:= !No\ page\ scaling\ in\ print\ dialog= !Viewer\ layout\:= !Viewer\ open\ mode\:= !Non\ fullscreen\ mode\:= !Direction\:= !Set\ options= !Set\ viewer\ options\ for\ selected\ files= !Left\ to\ right= !Right\ to\ left= !None= !Fullscreen= !Attachments= !Optional\ content\ group\ panel= !Document\ outline= !Thumbnail\ images= !One\ page\ at\ a\ time= !Pages\ in\ one\ column= !Pages\ in\ two\ columns\ (odd\ on\ the\ left)= !Pages\ in\ two\ columns\ (odd\ on\ the\ right)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ left)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ right)= !Viewer\ options= !Viewer\ options\ section\ loaded.= !Save\ passwords\ informations\ (they\ will\ be\ readable\ opening\ the\ output\ file)?= !Confirm\ password\ saving= !Unknown\ action.= !Log\ saved.= !\ node\ environment\ loaded.= !Environment\ saved.= !Error\ saving\ environment,\ output\ file\ is\ null.= !Error\ saving\ environment.= !Environment\ loaded.= !Error\ loading\ environment.= !Error\ loading\ environment\ from\ input\ file.\ = !Selection\ table\ is\ full,\ please\ remove\ some\ pdf\ document.= !Table\ full= !Please\ wait\ while\ reading= !Selected\ file\ is\ not\ a\ pdf\ document.= !Error\ loading\ = !Command\ validation\ returned\ an\ empty\ value.= !Command\ executed.= File\ name=Nama berkas !Number\ of\ pages= !File\ size= !Pdf\ version= !Encryption= !Not\ encrypted= !Permissions= !Title= !Author= !Subject= !Producer= !Creator= !Creation\ date= !Modification\ date= !Keywords= !Document\ properties= !File= !Close= !Copy= !Error\ creating\ properties\ panel.= Run=Jalankan Browse=Rambah Add=Tambah !Compress\ output\ file/files= Overwrite\ if\ already\ exists=Ditimpa jika sudah ada !Don't\ preserve\ file\ order\ (fast\ load)= !Output\ document\ pdf\ version\:= !The\ cross\ reference\ table\ cantained\ some\ error\ and\ has\ been\ rebuilt= !The\ document\ has\ not\ been\ opened\ with\ the\ owner\ password.\ You\ must\ provide\ the\ owner\ password\ in\ order\ to\ manipulate\ the\ document= !An\ error\ occured\ while\ loading\ the\ document= !Same\ as\ input\ document= Path=Jalur Pages=Halaman-halaman !Password= !Version= Page\ Selection=Pemilihan halaman !Total\ pages\ of\ the\ document= !Password\ to\ open\ the\ document\ (if\ needed)= !Pdf\ version\ of\ the\ document= !Double\ click\ to\ set\ pages\ you\ want\ to\ merge\ (ex\:\ 2\ or\ 5-23\ or\ 2,5-7,12-)= Add\ a\ pdf\ to\ the\ list=Tambahkan sebuah pdf ke dalam daftar Remove\ a\ pdf\ from\ the\ list=Hapus sebuah pdf dari daftar !(Canc)= Remove=Hapus !Reload= !Error\:\ Unable\ to\ reload\ the\ selected\ file/s.= !Unable\ to\ remove\ JList\ text\ = File\ selected\:\ =File terpilih\: !File\ reloaded\:\ = !Move\ Up= !Move\ up\ selected\ pdf\ file= !(Alt+ArrowUp)= !Move\ Down= !Move\ down\ selected\ pdf\ file= !(Alt+ArrowDown)= Clear=Bersihkan !Remove\ every\ pdf\ file\ from\ the\ merge\ list= Set\ output\ file=Tentukan file keluaran Error\:\ Unable\ to\ get\ the\ file\ path.=Error\: tidak dapat memperoleh jalur file !Unable\ to\ get\ the\ default\ environment\ informations.= !Setting\ look\ and\ feel...= !Setting\ logging\ level...= !Unable\ to\ find\ log\ level,\ setting\ to\ default\ level\ (DEBUG).= !Logging\ level\ set\ to\ = !Unable\ to\ set\ logging\ level.= !Error\ getting\ plugins\ directory.= !Cannot\ read\ plugins\ directory\ = !Plugins\ directory\ is\ null.= !Found\ zero\ or\ many\ jars\ in\ plugin\ directory\ = !Exception\ loading\ plugins.= !Cannot\ read\ plugin\ directory\ = !\ plugin\ loaded.= !Unable\ to\ load\ a\ plugin\ that\ is\ not\ JPanel\ subclass.= !Error\ loading\ class\ = !Select\ all= !Save\ log= !Save\ environment= !Load\ environment= !Exit= !Unable\ to\ initialize\ menu\ bar.= !started\ in\ = !Loading\ plugins..= !Building\ menus..= !Building\ buttons\ bar..= !Building\ status\ bar..= !Building\ tree..= !Loading\ default\ environment.= !Error\ starting\ pdfsam.= !Clear\ log= !Unable\ to\ initialize\ button\ bar.= !Version\:\ = !Language\:\ = !Developed\ by\:\ = !Build\ date\:\ = !Java\ home\:\ = !Java\ version\:\ = !Max\ memory\:\ = !Configuration\ file\:\ = !Website\:\ = !Name= !About= !Unimplemented\ method\ for\ JInfoPanel= !Contributes\:\ = !Log\ level\:= !Settings= !Look\ and\ feel\:= !Theme\:= !Language\:= !Check\ for\ updates\:= !Load\ default\ environment\ at\ startup\:= !Default\ working\ directory\:= !Error\ getting\ default\ environment.= !Check\ now= !Play\ alert\ sounds= !Settings\ = !Language= !Set\ your\ preferred\ language\ (restart\ needed)= !Look\ and\ feel= !Set\ your\ preferred\ look\ and\ feel\ and\ your\ preferred\ theme\ (restart\ needed)= !Log\ level= !Set\ a\ log\ detail\ level\ (restart\ needed)= !Check\ for\ updates= !Set\ when\ new\ version\ availability\ should\ be\ checked\ (restart\ needed)= !Turn\ on\ or\ off\ alert\ sounds= !Default\ env.= !Select\ a\ previously\ saved\ env.\ file\ that\ will\ be\ automatically\ loaded\ at\ startup= !Default\ working\ directory= !Select\ a\ directory\ where\ documents\ will\ be\ saved\ and\ loaded\ by\ default= !Save= !Configuration\ saved.= !Unimplemented\ method\ for\ JSettingsPanel= !New\ version\ available\:\ = !Plugins= !Error\ getting\ pdf\ version\ description.= !Version\ 1.2\ (Acrobat\ 3)= !Version\ 1.3\ (Acrobat\ 4)= !Version\ 1.4\ (Acrobat\ 5)= !Version\ 1.5\ (Acrobat\ 6)= !Version\ 1.6\ (Acrobat\ 7)= !Version\ 1.7\ (Acrobat\ 8)= !Never= !pdfsam\ start\ up= !Output\ file\ location\ is\ not\ correct= !Would\ you\ like\ to\ change\ it\ to= !Output\ location\ error= !Selected\ output\ file\ already\ exists\ = !Would\ you\ like\ to\ overwrite\ it?= !Provided\ pages\ selection\ is\ not\ valid= !Limits\ must\ be\ a\ comma\ separated\ list\ of\ "page_number"\ or\ "page_number-page_number"= !Limits\ are\ not\ valid= !Checking\ for\ a\ new\ version\ available.= !Error\ checking\ for\ a\ new\ version\ available.= !Unable\ to\ get\ latest\ available\ version= !New\ version\ available.= !No\ new\ version\ available.= !Cut= !Paste= pdfsam-1.1.4/pdfsam-langpack-br1/src/java/org/pdfsam/i18n/resources/Messages_sl.properties0000644000175000017500000004235411225342444031375 0ustar twernertwerner# Slovenian translation for pdfsam # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the pdfsam package. # FIRST AUTHOR , 2008. # !=Project-Id-Version\: pdfsam\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2009-07-09 12\:23+0200\nPO-Revision-Date\: 2008-12-20 09\:13+0000\nLast-Translator\: jure \nLanguage-Team\: Slovenian \nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Launchpad-Export-Date\: 2009-01-18 15\:08+0000\nX-Generator\: Launchpad (build Unknown)\n Merge\ options=Mo\u017enosti zdru\u017eevanja PDF\ documents\ contain\ forms=PDF dokumenti vsebujejo forme Merge\ type=Tip spajanja Unchecked=Preklic Use\ this\ merge\ type\ for\ standard\ pdf\ documents=Uporabi ta tip spajanja za standarne pdf dokumente Checked=Ozna\u010deno Use\ this\ merge\ type\ for\ pdf\ documents\ containing\ forms=Uporabi ta tip spajanja za pdf dokumente, ki vsebujejo forme Note=Opomba Setting\ this\ option\ the\ documents\ will\ be\ completely\ loaded\ in\ memory=Z izbiro te mo\u017enosti bodo dokumenti shranjeni v spomin Destination\ output\ file=Mesto shranjevanja datoteke Error\:\ =Napaka Browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ file.=Poi\u0161\u010di ali vpi\u0161i celo pot do datoteke Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ file\ if\ it\ already\ exists.=Ozna\u010di, \u010de \u017eeli\u0161 prepisati \u017ee obstoje\u010do datoteko Check\ the\ box\ if\ you\ want\ compressed\ output\ files.=Ozna\u010di za stiskanje shranjene datoteke PDF\ version\ 1.5\ or\ above.=PDF verzija 1.5 in naprej Set\ the\ pdf\ version\ of\ the\ ouput\ document.=Izberi PDF verzijo shranjene datoteke Please\ wait\ while\ all\ files\ are\ processed..=Prosim, po\u010dakaj...procesiram Found\ a\ password\ for\ input\ file.=Najdeno geslo za izbrano datoteko Please\ select\ at\ least\ one\ pdf\ document.=Izberi vsaj en PDF dokument Warning=Opozorilo Execute\ pdf\ merge=Za\u010dni PDF spajanje Merge/Extract=Spajanje/razdru\u017eevanje Merge\ section\ loaded.=Sektor zdru\u017eevanja nalo\u017een Export\ as\ xml=Izvozi kot xml Unable\ to\ save\ xml\ file.=Ne morem shraniti xml datoteke Ok=V redu File\ xml\ saved.=xml datoteka shranjena Error\ saving\ xml\ file,\ output\ file\ is\ null.=Napaka pri shranjevanju xml datoteke, ni shranjene datoteke Split\ options=Opcije razdru\u017eevanja Burst\ (split\ into\ single\ pages)=Razdru\u017ei (na posamezne strani) Split\ every\ "n"\ pages=Razdru\u017ei vsako "n" stran Split\ even\ pages=Razdru\u017ei parne strani Split\ odd\ pages=Razdru\u017ei neparne strani Split\ after\ these\ pages=Razdru\u017ei po tej strani Split\ at\ this\ size=Razdeli na to velikost !Split\ by\ bookmarks\ level= Burst=Razdru\u017eevanje Explode\ the\ pdf\ document\ into\ single\ pages=PDF dokument na posmezne strani Split\ the\ document\ every\ "n"\ pages=Razdru\u017ei dokument na vsako "n" stran Split\ the\ document\ every\ even\ page=Razdru\u017ei dokument na parne strani Split\ the\ document\ every\ odd\ page=Razdru\u017ei dokument na neparne strani Split\ the\ document\ after\ page\ numbers\ (num1-num2-num3..)=Razdru\u017ei dokument po \u0161t. strani (\u0161t1-\u0161t2-\u0161t3...) !Split\ the\ document\ in\ files\ of\ the\ given\ size\ (roughly)= !Split\ the\ document\ at\ pages\ referred\ by\ bookmarks\ of\ the\ given\ level= Destination\ folder=Ciljna mapa Same\ as\ source=Enako izvoru Choose\ a\ folder=Izberi mapo Destination\ output\ directory=Izberi ciljni direktorij Use\ the\ same\ output\ folder\ as\ the\ input\ file\ or\ choose\ a\ folder.=Uporabi enako mapo kot izbrana datoteka ali jo izberi To\ choose\ a\ folder\ browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ directory.=Za izbiro mape poi\u0161\u010di ali vpi\u0161i polno pot do direktorija Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ files\ if\ they\ already\ exist.=Izberi za prepis obstoje\u010de datoteke Output\ options=Mo\u017enosti shranjevanja Output\ file\ names\ prefix\:=Predpona imena shranjene datoteke Output\ files\ prefix=Predpona shranjene datoteke !If\ it\ contains\ "[CURRENTPAGE]",\ "[TIMESTAMP]",\ "[FILENUMBER]"\ or\ "[BOOKMARK_NAME]"\ it\ performs\ variable\ substitution.= Ex.\ prefix_[BASENAME]_[CURRENTPAGE]\ generates\ prefix_FileName_005.pdf.=Ex. prefiks_[BASENAME]_[CURRENTPAGE] generira prefiks_FileName_005.pdf. If\ it\ doesn't\ contain\ "[CURRENTPAGE]",\ "[TIMESTAMP]"\ or\ "[FILENUMBER]"\ it\ generates\ oldstyle\ output\ file\ names.=\u010ce ne vsebuje "[CURRENTPAGE]", "[TIMESTAMP]" ali "[FILENUMBER]" generira starej\u0161i na\u010din imenovanja datotek. !Available\ variables= Invalid\ split\ size=Nepravilna velikost razdru\u017eene datoteke The\ lowest\ available\ pdf\ version\ is\ =Najstarej\u0161a verzija PDF datoteke je You\ selected\ a\ lower\ output\ pdf\ version,\ continue\ anyway\ ?=Izbrali ste najstarej\u0161o verzijo PDF, ali nadaljujem? Pdf\ version\ conflict=Konflikt PDF verzije Please\ select\ a\ pdf\ document.=Izberi PDF dokument Split\ selected\ file=Razdru\u017ei izbrano datoteko Split=Razdeli Split\ section\ loaded.=Razdru\u017eeni del nalo\u017een Invalid\ unit\:\ =Napaka, enota !Fill\ from\ document= !Getting\ bookmarks\ max\ depth= !Frontpage\ pdf\ file= !Addendum\ pdf\ file= Select\ at\ least\ one\ cover\ or\ one\ footer=Izberi vsaj eno platnico ali nogo !Frontpage\ and\ Addendum= Cover\ And\ Footer\ section\ loaded.=Naslovnica in noga nalo\u017eena Encrypt\ options=Mo\u017enosti \u0161ifriranja Owner\ password\:=Geslo lastnika Owner\ password\ (Max\ 32\ chars\ long)=Geslo lastnika 32 znakov maks. User\ password\:=Uporabni\u0161ko geslo User\ password\ (Max\ 32\ chars\ long)=Uporabni\u0161ko geslo 32 zankov maks. Encryption\ algorithm\:=Algoritem \u0161ifriranja Allow\ all=Dovoli vse Print=Natisni Low\ quality\ print=Nizka kvaliteta tiskanja Copy\ or\ extract=Kopiranje ali raz\u0161iritev Modify=Popravi Add\ or\ modify\ text\ annotations=Dodaj ali popravi tekst Fill\ form\ fields=Izpolni polja !Extract\ for\ use\ by\ accessibility\ dev.= Manipulate\ pages\ and\ add\ bookmarks=Obdelava strani in dodajanje zaznamkov Check\ the\ box\ if\ you\ want\ compressed\ output\ files\ (Pdf\ version\ 1.5\ or\ higher).=Izberi za stiskanje izhodne datoteke (PDF 1.5 ali novej\u0161i) If\ it\ contains\ "[TIMESTAMP]"\ it\ performs\ variable\ substitution.=\u010ce vsebuje "[TIMESTAMP]" it performs variable substitution. Ex.\ [BASENAME]_prefix_[TIMESTAMP]\ generates\ FileName_prefix_20070517_113423471.pdf.=Ex. [BASENAME]_prefiks_[TIMESTAMP] generira FileName_prefiks_20070517_113423471.pdf. If\ it\ doesn't\ contain\ "[TIMESTAMP]"\ it\ generates\ oldstyle\ output\ file\ names.=\u010ce ne vsebuje "[TIMESTAMP]" generira starej\u0161i na\u010din imenovanja datotek Available\ variables\:\ [TIMESTAMP],\ [BASENAME].=Razpolo\u017eljive spremenjljivke\: [TIMESTAMP], [BASENAME]. Encrypt\ selected\ files=\u0160ifriraj izbrane datoteke Encrypt=\u0160ifriraj Encrypt\ section\ loaded.=\u0160ifrirana datoteka nalo\u017eena Decrypt\ selected\ files=De\u0161ifriraj izbrane datoteke Decrypt=De\u0161ifriraj Decrypt\ section\ loaded.=De\u0161ifriana datoteka nalo\u017eena Mix\ options=Me\u0161ane mo\u017enosti Reverse\ first\ document=Prvi dokument obrnjeno Reverse\ second\ document=Drugi dokument obrnjeno !Number\ of\ pages\ to\ switch\ document= !Tick\ the\ boxes\ if\ you\ want\ to\ reverse\ the\ first\ or\ the\ second\ document\ (or\ both).= !Set\ the\ number\ of\ pages\ to\ switch\ from\ a\ document\ to\ the\ other\ one\ (default\ is\ 1).= Found\ a\ password\ for\ first\ file.=Najdeno geslo za prvo datoteko Found\ a\ password\ for\ second\ file.=Najdeno geslo za drugo datoteko Please\ select\ two\ pdf\ documents.=Izberi dva PDF dokumenta !Execute\ pdf\ alternate\ mix= !Alternate\ Mix= !AlternateMix\ section\ loaded.= Unpack\ selected\ files=Raz\u0161iri izbrane datoteke Unpack=Raz\u0161iri Unpack\ section\ loaded.=Raz\u0161irjeni del nalo\u017een Set\ viewer\ options=Nastavitve pregledovalnika Hide\ the\ menubar=Skrij vrstico menija Hide\ the\ toolbar=Skrij orodno vrstico Hide\ user\ interface\ elements=Skrij elemente uporabni\u0161kega vmesnika Rezise\ the\ window\ to\ fit\ the\ page\ size=Prilagodi okno na velikost strani Center\ of\ the\ screen=Center zaslona Display\ document\ title\ as\ window\ title=Prika\u017ei naslov dokumenta kot windows naslov Pdf\ version\ required\:=PDF verzija zahteva\: No\ page\ scaling\ in\ print\ dialog=Brez prikaza razmerja strani pri tiskanju !Viewer\ layout\:= Viewer\ open\ mode\:=Odpiralni na\u010din pregledovalnika Non\ fullscreen\ mode\:=Brez celozaslonskega na\u010dina Direction\:=Smer\: Set\ options=Opcije Set\ viewer\ options\ for\ selected\ files=Nastavitve pregledovalnika za izbrane datoteke Left\ to\ right=Z leve na desno Right\ to\ left=Z desne proti levi None=Brez Fullscreen=Celozaslonsko Attachments=Priponke !Optional\ content\ group\ panel= !Document\ outline= !Thumbnail\ images= One\ page\ at\ a\ time=1 stran naenkrat Pages\ in\ one\ column=Strani v eni vrstici Pages\ in\ two\ columns\ (odd\ on\ the\ left)=Strani v dveh vrsticah (neparne na levi) Pages\ in\ two\ columns\ (odd\ on\ the\ right)=Strani v dveh vrsticah (neparne na desni) Two\ pages\ at\ a\ time\ (odd\ on\ the\ left)=Dve strani naekrat (neparne na levi) Two\ pages\ at\ a\ time\ (odd\ on\ the\ right)=Dve strani naekrat (neparne na desni) Viewer\ options=Mo\u017enosti pregledovalnika Viewer\ options\ section\ loaded.=Mo\u017enosti pregledovalnika nalo\u017eene Save\ passwords\ informations\ (they\ will\ be\ readable\ opening\ the\ output\ file)?=Shrani podatke za geslo Confirm\ password\ saving=Potrdi shranjevanje gesla Unknown\ action.=Neznana operacija Log\ saved.=Zapis shranjen !\ node\ environment\ loaded.= Environment\ saved.=Okolje shranjeno Error\ saving\ environment,\ output\ file\ is\ null.=Napaka pri shranjevanju okolja, datoteka je prazna. Error\ saving\ environment.=Napaka pri shranjevanju okolja Environment\ loaded.=Okolje nalo\u017eeno Error\ loading\ environment.=Napaka pri nalaganju okolja Error\ loading\ environment\ from\ input\ file.\ =Napaka pri nalaganju okolja Selection\ table\ is\ full,\ please\ remove\ some\ pdf\ document.=Izbira PDF dokumentov je prevelika, odstrani nekaj dokumentov Table\ full=Tabela je polna Please\ wait\ while\ reading=Po\u010dakaj, berem Selected\ file\ is\ not\ a\ pdf\ document.=Izbran dokument ni PDF Error\ loading\ =Error nalganje Command\ validation\ returned\ an\ empty\ value.=Napaka ukaza, ni podatka Command\ executed.=Zahteva izvr\u0161ena File\ name=Ime datoteke !Number\ of\ pages= !File\ size= !Pdf\ version= !Encryption= !Not\ encrypted= !Permissions= !Title= Author=Avtor !Subject= !Producer= !Creator= !Creation\ date= !Modification\ date= !Keywords= !Document\ properties= File=Datoteka !Close= Copy=Kopiraj !Error\ creating\ properties\ panel.= Run=START Browse=I\u0161\u010di Add=Dodaj Compress\ output\ file/files=Stisni shranjene datoteke Overwrite\ if\ already\ exists=Prepi\u0161i obstoje\u010d zapis Don't\ preserve\ file\ order\ (fast\ load)=Brez izbire vrstnega reda (hitro) Output\ document\ pdf\ version\:=Verzija PDF !The\ cross\ reference\ table\ cantained\ some\ error\ and\ has\ been\ rebuilt= !The\ document\ has\ not\ been\ opened\ with\ the\ owner\ password.\ You\ must\ provide\ the\ owner\ password\ in\ order\ to\ manipulate\ the\ document= !An\ error\ occured\ while\ loading\ the\ document= Same\ as\ input\ document=Isto kot izbrana datoteka Path=Pot Pages=Strani Password=Geslo Version=Verzija Page\ Selection=Izbor strani Total\ pages\ of\ the\ document=\u0160tevilo strani skupaj Password\ to\ open\ the\ document\ (if\ needed)=Geslo za odpiranje (\u010de obstaja) Pdf\ version\ of\ the\ document=PDF verzija dokumenta !Double\ click\ to\ set\ pages\ you\ want\ to\ merge\ (ex\:\ 2\ or\ 5-23\ or\ 2,5-7,12-)= Add\ a\ pdf\ to\ the\ list=Dodaj PDF na listo Remove\ a\ pdf\ from\ the\ list=Izbri\u0161i PDF iz liste (Canc)=Prekli\u010di Remove=Odstrani Reload=Ponovno nalo\u017ei Error\:\ Unable\ to\ reload\ the\ selected\ file/s.=Napaka pri ponovnem nalaganju Unable\ to\ remove\ JList\ text\ =Napaka JList File\ selected\:\ =Dat. izbrane.\: File\ reloaded\:\ =Dat. nalo\u017eena\: Move\ Up=Premakni gor Move\ up\ selected\ pdf\ file=Premakni izbrani PDF navzgor (Alt+ArrowUp)=Alt+ArrowUp) Move\ Down=Premakni dol Move\ down\ selected\ pdf\ file=Premakni izbrani PDF navzdol (Alt+ArrowDown)=(Alt+ArrowDown) Clear=Izbri\u0161i Remove\ every\ pdf\ file\ from\ the\ merge\ list=Izbri\u0161i vse PDF datoteke iz liste Set\ output\ file=Nastavi datoteko za shranjevanje Error\:\ Unable\ to\ get\ the\ file\ path.=Napaka. Ni poti do datoteke. Unable\ to\ get\ the\ default\ environment\ informations.=Napaka privzetih informacij pri odpiranju Setting\ look\ and\ feel...=Nastavi izgled Setting\ logging\ level...=Nastavi nivo logiranja Unable\ to\ find\ log\ level,\ setting\ to\ default\ level\ (DEBUG).=Ni nivoja logiranaj, uporabljen privzeti nivo Logging\ level\ set\ to\ =Nastavi nivo logiranja Unable\ to\ set\ logging\ level.=Napaka nastavitve nivoja logiranja Error\ getting\ plugins\ directory.=Napaka nalaganja vti\u010dnikov Cannot\ read\ plugins\ directory\ =Napaka vti\u010dnikov, direktorij Plugins\ directory\ is\ null.=Direktorij vti\u010dnikov je prazen !Found\ zero\ or\ many\ jars\ in\ plugin\ directory\ = !Exception\ loading\ plugins.= !Cannot\ read\ plugin\ directory\ = !\ plugin\ loaded.= !Unable\ to\ load\ a\ plugin\ that\ is\ not\ JPanel\ subclass.= !Error\ loading\ class\ = Select\ all=Izberi vse Save\ log=Shrani dnevnik Save\ environment=Shrani okolje Load\ environment=Nalo\u017ei okolje Exit=Izhod !Unable\ to\ initialize\ menu\ bar.= started\ in\ =start v Loading\ plugins..=Nalagam vti\u010dnike Building\ menus..=Izdelava menija Building\ buttons\ bar..=Izdelava vrstice gumbov Building\ status\ bar..=Izdelava vrstice stanja Building\ tree..=Izdelava drevesa Loading\ default\ environment.=Nalagam okolje Error\ starting\ pdfsam.=Napaka pri startu pdfsam Clear\ log=Izbri\u0161i dnevnik !Unable\ to\ initialize\ button\ bar.= Version\:\ =Verzija Language\:\ =Jezik\: !Developed\ by\:\ = Build\ date\:\ =Datum izd\: Java\ home\:\ =Java home\: Java\ version\:\ =Java verzija\: Max\ memory\:\ =Max spomin\: Configuration\ file\:\ =Datoteka Website\:\ =Spletna stran\: Name=Ime About=O programu !Unimplemented\ method\ for\ JInfoPanel= Contributes\:\ =Prispevki\: Log\ level\:=Nivo logiranja Settings=Nastavitve Look\ and\ feel\:=Izgled\: Theme\:=Tema\: Language\:=Jezik\: Check\ for\ updates\:=Preveri posodobitve\: Load\ default\ environment\ at\ startup\:=Nalo\u017ei izbrano okolje pri startu\: Default\ working\ directory\:=Izbran delovni direktorij\: Error\ getting\ default\ environment.=Napaka pri nalaganju privzetega okolja Check\ now=Preveri zdaj Play\ alert\ sounds=Opozorilni ton Settings\ =Nastavitve Language=Jezik Set\ your\ preferred\ language\ (restart\ needed)=Izberi priljubljeni jezik (ponovni zagon) Look\ and\ feel=Poglej Set\ your\ preferred\ look\ and\ feel\ and\ your\ preferred\ theme\ (restart\ needed)=Izberi priljubljen izgled in temo Log\ level=Nivo logiranja Set\ a\ log\ detail\ level\ (restart\ needed)=Nastavi nivo logiranja Check\ for\ updates=Preverjanje posodobitev Set\ when\ new\ version\ availability\ should\ be\ checked\ (restart\ needed)=Nastavi na\u010din posodobitev Turn\ on\ or\ off\ alert\ sounds=Vklop/izklop alarma Default\ env.=Privzeto okloje Select\ a\ previously\ saved\ env.\ file\ that\ will\ be\ automatically\ loaded\ at\ startup=Zadnje shranjeno okolje se nalo\u017ei pri zagonu Default\ working\ directory=Izbrani delovni direktorij Select\ a\ directory\ where\ documents\ will\ be\ saved\ and\ loaded\ by\ default=Izberi direktorij kjer bodo dokumenti shranjeni iz nalo\u017eeni Save=Shrani Configuration\ saved.=Nastavitve shranjene !Unimplemented\ method\ for\ JSettingsPanel= !New\ version\ available\:\ = Plugins=Vti\u010dniki Error\ getting\ pdf\ version\ description.=Napaka pdf verzije Version\ 1.2\ (Acrobat\ 3)=Verzija 1.2 (Acrobat 3) Version\ 1.3\ (Acrobat\ 4)=Verzija 1.3 (Acrobat 4) Version\ 1.4\ (Acrobat\ 5)=Verzija 1.4 (Acrobat 5) Version\ 1.5\ (Acrobat\ 6)=Verzija 1.5 (Acrobat 6) Version\ 1.6\ (Acrobat\ 7)=Verzija 1.6 (Acrobat 7) Version\ 1.7\ (Acrobat\ 8)=Verzija 1.7 (Acrobat 8) Never=Nikoli pdfsam\ start\ up=pdfsam zagon Output\ file\ location\ is\ not\ correct=Napaka mesta shranjevanja Would\ you\ like\ to\ change\ it\ to=Ali \u017eeli\u0161 spremeniti v Output\ location\ error=Izhodna napaka !Selected\ output\ file\ already\ exists\ = !Would\ you\ like\ to\ overwrite\ it?= !Provided\ pages\ selection\ is\ not\ valid= !Limits\ must\ be\ a\ comma\ separated\ list\ of\ "page_number"\ or\ "page_number-page_number"= !Limits\ are\ not\ valid= Checking\ for\ a\ new\ version\ available.=Preveri posodobitve Error\ checking\ for\ a\ new\ version\ available.=Napaka pri preverjanju posodobitve Unable\ to\ get\ latest\ available\ version=Napaka pri nalaganju posodobitve New\ version\ available.=Nova verzija na voljo No\ new\ version\ available.=Ni posodobitev -Laservis d.o.o. Cut=Izre\u017ei Paste=Prilepi pdfsam-1.1.4/pdfsam-langpack-br1/src/java/org/pdfsam/i18n/resources/Messages_es.properties0000644000175000017500000011562511225342444031370 0ustar twernertwerner# Spanish translation for pdfsam # Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 # This file is distributed under the same license as the pdfsam package. # FIRST AUTHOR , 2006. # !=Project-Id-Version\: pdfsam\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2009-07-09 12\:23+0200\nPO-Revision-Date\: 2009-05-27 20\:42+0000\nLast-Translator\: DiegoJ \nLanguage-Team\: Spanish \nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Launchpad-Export-Date\: 2009-05-29 14\:40+0000\nX-Generator\: Launchpad (build Unknown)\n Merge\ options=Opciones de uni\u00f3n # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:389 PDF\ documents\ contain\ forms=El documento PDF contiene formularios # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:394 Merge\ type=Tipo de uni\u00f3n Unchecked=Deseleccionado Use\ this\ merge\ type\ for\ standard\ pdf\ documents=Usar este tipo de uni\u00f3n para documentos pdf est\u00e1ndar Checked=Seleccionado Use\ this\ merge\ type\ for\ pdf\ documents\ containing\ forms=Use este tipo de uni\u00f3n para documentos pdf que contengan formularios Note=Anotaci\u00f3n Setting\ this\ option\ the\ documents\ will\ be\ completely\ loaded\ in\ memory=Seleccionando esta opci\u00f3n los documentos ser\u00e1n cargados en memoria Destination\ output\ file=Destino del archivo de salida Error\:\ =Error Browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ file.=Busque o ingrese la ruta completa al archivo de salida de destino. # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:442 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:257 Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ file\ if\ it\ already\ exists.=Seleccione aqu\u00ed si desea sobreescribir el archivo si este existe. Check\ the\ box\ if\ you\ want\ compressed\ output\ files.=Chequea la caja si tu quieres comprimir archivos de salida. PDF\ version\ 1.5\ or\ above.=PDF versi\u00f3n 1.5 o superior Set\ the\ pdf\ version\ of\ the\ ouput\ document.=Configura la versi\u00f3n pdf del documento de salida. # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:407 # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:451 # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:453 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:469 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:408 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:451 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:509 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:511 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:350 Please\ wait\ while\ all\ files\ are\ processed..=Espere mientras se procesan todos los archivos... Found\ a\ password\ for\ input\ file.=Encuentra una contrase\u00f1a para el archivo de salida Please\ select\ at\ least\ one\ pdf\ document.=Por favor, seleccione al menos un documento pdf Warning=Advertencia # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:464 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:524 Execute\ pdf\ merge=Une los PDF Merge/Extract=Unir/Extraer Merge\ section\ loaded.=Secci\u00f3n de combinaci\u00f3n cargada. Export\ as\ xml=Exportar como xml Unable\ to\ save\ xml\ file.=Imposible guardar archivo .xml Ok=Ok File\ xml\ saved.=Archivo .xml guardado Error\ saving\ xml\ file,\ output\ file\ is\ null.=Error salvando el archivo xml, la salida es nula Split\ options=Opciones de divisi\u00f3n. # G:\Documents\eclipse_workspace\PDFSAMsplit\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:181 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:195 Burst\ (split\ into\ single\ pages)=Romper (dividir en p\u00e1ginas individuales) # G:\Documents\eclipse_workspace\PDFSAMsplit\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:184 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:198 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:222 Split\ every\ "n"\ pages=Dividir cada "n" p\u00e1ginas # G:\Documents\eclipse_workspace\PDFSAMsplit\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:193 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:206 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:223 Split\ even\ pages=Dividir p\u00e1ginas equitativamente # G:\Documents\eclipse_workspace\PDFSAMsplit\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:196 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:209 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:224 Split\ odd\ pages=Dividir p\u00e1ginas desigualmente # G:\Documents\eclipse_workspace\PDFSAMsplit\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:199 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:212 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:225 Split\ after\ these\ pages=Dividir estas p\u00e1ginas Split\ at\ this\ size=Dividir en esta medida Split\ by\ bookmarks\ level=Dividir por nivel de marcador Burst=R\u00e1faga Explode\ the\ pdf\ document\ into\ single\ pages=Dividir el documento pdf en p\u00e1ginas individuales Split\ the\ document\ every\ "n"\ pages=Dividir el documento cada "n" p\u00e1ginas Split\ the\ document\ every\ even\ page=Dividir el documento por p\u00e1ginas pares Split\ the\ document\ every\ odd\ page=Dividir el documento por p\u00e1ginas impares # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:225 Split\ the\ document\ after\ page\ numbers\ (num1-num2-num3..)=Dividir el documento despu\u00e9s de n\u00fameros de p\u00e1gina (num1-num2-num3...) Split\ the\ document\ in\ files\ of\ the\ given\ size\ (roughly)=Dividir el documento en archivos del tama\u00f1o dado (aproximadamente) Split\ the\ document\ at\ pages\ referred\ by\ bookmarks\ of\ the\ given\ level=Dividir el documento en p\u00e1ginas referidas por marcadores del nivel dado Destination\ folder=Carpeta de destino # G:\Documents\eclipse_workspace\PDFSAMsplit\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:234 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:297 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:256 Same\ as\ source=Carpeta original # G:\Documents\eclipse_workspace\PDFSAMsplit\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:238 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:301 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:260 Choose\ a\ folder=Elegir carpeta Destination\ output\ directory=Directorio de salida de destino Use\ the\ same\ output\ folder\ as\ the\ input\ file\ or\ choose\ a\ folder.=Usa la misma carpeta de salida como archivo de entrada o elije una carpeta To\ choose\ a\ folder\ browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ directory.=Para seleccionar una carpeta navega o introduce la ruta completa hacia el directorio destino. Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ files\ if\ they\ already\ exist.=Chequea la caja si quieres sobreescribir el archivo de salida si ya existe. Output\ options=Opciones de salida # G:\Documents\eclipse_workspace\PDFSAMsplit\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:291 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:384 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:326 Output\ file\ names\ prefix\:=Prefijo para archivos de destino\: Output\ files\ prefix=Prefijo de los archivos de salida If\ it\ contains\ "[CURRENTPAGE]",\ "[TIMESTAMP]",\ "[FILENUMBER]"\ or\ "[BOOKMARK_NAME]"\ it\ performs\ variable\ substitution.=Sustituir variables si contiene "[CURRENTPAGE]", "[TIMESTAMP]", "[FILENUMBER]" o "[BOOKMARK_NAME]". Ex.\ prefix_[BASENAME]_[CURRENTPAGE]\ generates\ prefix_FileName_005.pdf.=Ej. prefix_[BASENAME]_[CURRENTPAGE] genera prefix_NombreArvchivo_005.pdf. If\ it\ doesn't\ contain\ "[CURRENTPAGE]",\ "[TIMESTAMP]"\ or\ "[FILENUMBER]"\ it\ generates\ oldstyle\ output\ file\ names.=Si no contiene "[CURRENTPAGE]", "[TIMESTAMP]" o "[FILENUMBER]" genera nombre de archivo antiguos. Available\ variables=Variables disponibles Invalid\ split\ size=Tama\u00f1o de divisi\u00f3n inv\u00e1lida The\ lowest\ available\ pdf\ version\ is\ =La menor versi\u00f3n pdf disponible es You\ selected\ a\ lower\ output\ pdf\ version,\ continue\ anyway\ ?=Ha seleccionada una versi\u00f3n de salida PDF menor, \u00bfcontinuar? Pdf\ version\ conflict=Conflicto con la versi\u00f3n Pdf Please\ select\ a\ pdf\ document.=Por favor, seleccion un documento pdf # G:\Documents\eclipse_workspace\PDFSAMsplit\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:369 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:411 Split\ selected\ file=Divide el archivo seleccionado Split=Dividir # G:\Documents\eclipse_workspace\PDFSAMsplit\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:369 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:536 Split\ section\ loaded.=Secci\u00f3n de divisi\u00f3n cargada. Invalid\ unit\:\ =Unidad inv\u00e1lida\: Fill\ from\ document=Rellenar desde documento Getting\ bookmarks\ max\ depth=Obtener profundid m\u00e1xima de marcadores Frontpage\ pdf\ file=Portada del archivo pdf Addendum\ pdf\ file=Anexo al archivo pdf Select\ at\ least\ one\ cover\ or\ one\ footer=Seleccione al menos una portada o un pi\u00e9 de p\u00e1gina Frontpage\ and\ Addendum=Primera p\u00e1gina y ap\u00e9ndice Cover\ And\ Footer\ section\ loaded.=Secciones Portada y Pi\u00e9 de P\u00e1gina cargadas. Encrypt\ options=Opciones de encriptaci\u00f3n # F:\workspace_pdfsame_enanched\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:202 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:206 Owner\ password\:=Password del propietario\: # F:\workspace_pdfsame_enanched\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:206 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:210 Owner\ password\ (Max\ 32\ chars\ long)=Password del propietario (32 caracteres m\u00e1x) # F:\workspace_pdfsame_enanched\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:210 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:214 User\ password\:=Contrase\u00f1a de usuario\: # F:\workspace_pdfsame_enanched\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:214 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:218 User\ password\ (Max\ 32\ chars\ long)=Contrase\u00f1a de usuario (Max 32 caracteres) Encryption\ algorithm\:=Algoritmo de encriptaci\u00f3n\: Allow\ all=Permitir todo # F:\workspace_pdfsame_enanched\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:225 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:229 Print=Imprimir # F:\workspace_pdfsame_enanched\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:228 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:232 Low\ quality\ print=Impresi\u00f3n de baja calidad # F:\workspace_pdfsame_enanched\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:231 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:235 Copy\ or\ extract=Copiar o extraer # F:\workspace_pdfsame_enanched\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:234 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:238 Modify=Modificar # F:\workspace_pdfsame_enanched\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:237 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:241 Add\ or\ modify\ text\ annotations=A\u00f1adir o modificar anotaciones # F:\workspace_pdfsame_enanched\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:240 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:244 Fill\ form\ fields=Rellenar campos del formulario Extract\ for\ use\ by\ accessibility\ dev.=Extraer para ser usado por accessibility dev. Manipulate\ pages\ and\ add\ bookmarks=Manipular p\u00e1ginas y a\u00f1adir marcadores Check\ the\ box\ if\ you\ want\ compressed\ output\ files\ (Pdf\ version\ 1.5\ or\ higher).=Seleccione la caja si desea archivos de salida comprimidos (versi\u00f3n pdf 1.5 o mayor). If\ it\ contains\ "[TIMESTAMP]"\ it\ performs\ variable\ substitution.=Si contiene "[TIMESTAMP]" realiza sustituci\u00f3n de variable. Ex.\ [BASENAME]_prefix_[TIMESTAMP]\ generates\ FileName_prefix_20070517_113423471.pdf.=Ej. [NOMBREBASE]_prefijo_[TIMESTAMP] genera NombreArchivo_prefijo_20070517_113423471.pdf. If\ it\ doesn't\ contain\ "[TIMESTAMP]"\ it\ generates\ oldstyle\ output\ file\ names.=Si no contiene "[TIMESTAMP]" genera nombres de archivos con estilo antiguo Available\ variables\:\ [TIMESTAMP],\ [BASENAME].=Variables disponibles\: [TIMESTAMP], [BASENAME]. Encrypt\ selected\ files=Encriptar archivos seleccionados Encrypt=Encriptar # F:\workspace_pdfsame_enanched\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:546 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:613 Encrypt\ section\ loaded.=Encriptar secci\u00f3n cargada. Decrypt\ selected\ files=Desencriptar ficheros seleccionados Decrypt=Desencriptar Decrypt\ section\ loaded.=Descifrar secci\u00f3n cargada. Mix\ options=Opciones de mezcla Reverse\ first\ document=Reverso del primer documento. Reverse\ second\ document=Reverso del segundo documento Number\ of\ pages\ to\ switch\ document=N\u00famero de p\u00e1ginas a cambiar de documento Tick\ the\ boxes\ if\ you\ want\ to\ reverse\ the\ first\ or\ the\ second\ document\ (or\ both).=Marque las opciones si quiere invertir el primer o el segundo documento (o ambos). Set\ the\ number\ of\ pages\ to\ switch\ from\ a\ document\ to\ the\ other\ one\ (default\ is\ 1).=Seleccione el n\u00famero de p\u00e1ginas para cambiar de un documento a otro (por defecto es 1). Found\ a\ password\ for\ first\ file.=Buscar una contrase\u00f1a para el primer archivo. Found\ a\ password\ for\ second\ file.=Buscar una contrase\u00f1a para el segundo archivo. Please\ select\ two\ pdf\ documents.=Seleccione dos documentos pdf Execute\ pdf\ alternate\ mix=Ejecuatar mezcla alterna de pdf Alternate\ Mix=Mezcla alterna AlternateMix\ section\ loaded.=Secci\u00f3n de AlternateMix cargada. Unpack\ selected\ files=Desempaquetar archivos seleccionados Unpack=Desempaquetar Unpack\ section\ loaded.=Secci\u00f3n de descompactar cargada. Set\ viewer\ options=Establecer opciones del visor Hide\ the\ menubar=Ocultar barra de men\u00fas Hide\ the\ toolbar=Ocultar barra de herramientas Hide\ user\ interface\ elements=Ocultar elementos de interfaz de usuario Rezise\ the\ window\ to\ fit\ the\ page\ size=Redimensionar ventana para ajustarse al tama\u00f1o de p\u00e1gina Center\ of\ the\ screen=Centro de la pantalla Display\ document\ title\ as\ window\ title=Mostrar t\u00edtulo del documento como t\u00edtulo de la ventana Pdf\ version\ required\:=Version de PDF requerida\: No\ page\ scaling\ in\ print\ dialog=Sin escalado de p\u00e1gina en el di\u00e1logo de impresi\u00f3n Viewer\ layout\:=Disposici\u00f3n del visor\: Viewer\ open\ mode\:=Modo de apertura del visor\: Non\ fullscreen\ mode\:=Sin modo pantalla completa Direction\:=Direcci\u00f3n\: Set\ options=Establecer opciones Set\ viewer\ options\ for\ selected\ files=Establecer opciones del visor para los archivos seleccionados Left\ to\ right=De izquierda a derecha Right\ to\ left=De derecha a izquierda None=Ninguno Fullscreen=Pantalla completa Attachments=Adjuntos Optional\ content\ group\ panel=Grupo de paneles de contenido opcional Document\ outline=Resumen del documento Thumbnail\ images=Miniaturas de im\u00e1genes One\ page\ at\ a\ time=P\u00e1ginas de una en una Pages\ in\ one\ column=P\u00e1ginas en una columna Pages\ in\ two\ columns\ (odd\ on\ the\ left)=P\u00e1ginas en dos columnas (impares a la izquierda) Pages\ in\ two\ columns\ (odd\ on\ the\ right)=P\u00e1ginas en dos columnas (impares a la derecha) Two\ pages\ at\ a\ time\ (odd\ on\ the\ left)=Dos p\u00e1ginas a la vez (impares a la izquierda) Two\ pages\ at\ a\ time\ (odd\ on\ the\ right)=Dos p\u00e1ginas a la vez (impares a la derecha) Viewer\ options=Opciones del visor Viewer\ options\ section\ loaded.=Secci\u00f3n de opciones del visor cargada. Save\ passwords\ informations\ (they\ will\ be\ readable\ opening\ the\ output\ file)?=\u00bfGuardar las informaciones de contrase\u00f1as (ser\u00e1n leibles al abrir el archivo de salida)? Confirm\ password\ saving=Confirmar la contrase\u00f1a guardada # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\LogPanel.java:231 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:233 Unknown\ action.=Acci\u00f3n desconocida. Log\ saved.=Registro guardado. \ node\ environment\ loaded.=\ ambiente de nodo cargado. Environment\ saved.=Entorno guardado. Error\ saving\ environment,\ output\ file\ is\ null.=Error al guardar el entorno, el archivo de salida es nulo. Error\ saving\ environment.=Error al guardar el ambiente Environment\ loaded.=Ambiente cargado. Error\ loading\ environment.=Error al cargar el entorno. Error\ loading\ environment\ from\ input\ file.\ =Error al cargar el ambiente desde el archivo de entrada. Selection\ table\ is\ full,\ please\ remove\ some\ pdf\ document.=Tabla de selecci\u00f3n est\u00e1 llena, por favor, remueva algunos documentos pdf. Table\ full=Tabla llena Please\ wait\ while\ reading=Por favor, espere mientras se lee Selected\ file\ is\ not\ a\ pdf\ document.=Archivo seleccionado no es un documento pdf. Error\ loading\ =Error al cargar Command\ validation\ returned\ an\ empty\ value.=Validaci\u00f3n de comando regres\u00f3 un valor vac\u00edo. Command\ executed.=Comando ejecutado. # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:164 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:180 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:178 File\ name=Nombre de archivo Number\ of\ pages=N\u00famero de p\u00e1ginas File\ size=Tama\u00f1o de archivo Pdf\ version=Versi\u00f3n PDF Encryption=Cifrado Not\ encrypted=Sin cifrar Permissions=Permisos Title=T\u00edtulo # G:\Documents\eclipse_workspace\PDF # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:118 Author=Autor Subject=Tema Producer=Producido por Creator=Creador Creation\ date=Fecha de creaci\u00f3n Modification\ date=Fecha de modificaci\u00f3n Keywords=Palabras clave Document\ properties=Propiedades del documento # G:\Documents\eclipse_workspace\PDF # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:55 File=Archivo Close=Cerrar # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\LogPanel.java:99 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:99 Copy=copiar Error\ creating\ properties\ panel.=Error creando panel de propiedades. # G:\Documents\eclipse_workspace\PDFSAMsplit\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:368 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:542 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:462 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:526 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:320 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:410 Run=Ejecutar # F:\workspace_pdfsame_enanched\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:393 # F:\workspace_pdfsame_enanched\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:420 # F:\workspace_pdfsame_enanched\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:447 # F:\workspace_pdfsame_enanched\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:171 # F:\workspace_pdfsame_enanched\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:323 # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:401 # F:\workspace_pdfsame_enanched\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:148 # F:\workspace_pdfsame_enanched\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:175 # F:\workspace_pdfsame_enanched\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:243 # F:\workspace_pdfsame_enanched\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:157 # F:\workspace_pdfsame_enanched\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:285 # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:225 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:394 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:421 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:448 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:175 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:340 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:430 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:150 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:177 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:244 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:164 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:304 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:233 Browse=Buscar # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:243 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:264 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:257 Add=A\u00f1adir Compress\ output\ file/files=Comprimir archivo/archivos de salida # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:399 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:452 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:315 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:434 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:249 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:279 Overwrite\ if\ already\ exists=Sobreescribir si ya existe Don't\ preserve\ file\ order\ (fast\ load)=No conservar el orden de archivos (carga r\u00e1pida) Output\ document\ pdf\ version\:=Versi\u00f3n pdf del documento de salida !The\ cross\ reference\ table\ cantained\ some\ error\ and\ has\ been\ rebuilt= !The\ document\ has\ not\ been\ opened\ with\ the\ owner\ password.\ You\ must\ provide\ the\ owner\ password\ in\ order\ to\ manipulate\ the\ document= !An\ error\ occured\ while\ loading\ the\ document= Same\ as\ input\ document=Igual al documento de entrada # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:165 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:181 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:179 Path=Ruta # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:166 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:182 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:180 Pages=P\u00e1ginas Password=Contrase\u00f1a\: # G:\Documents\eclipse_workspace\PDF # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:118 Version=Versi\u00f3n # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:167 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:183 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:181 Page\ Selection=Selecci\u00f3n de p\u00e1gina Total\ pages\ of\ the\ document=Paginas totales del documento Password\ to\ open\ the\ document\ (if\ needed)=Contrase\u00f1a para abrir el documento(si es necesaria) Pdf\ version\ of\ the\ document=Version pdf del documento Double\ click\ to\ set\ pages\ you\ want\ to\ merge\ (ex\:\ 2\ or\ 5-23\ or\ 2,5-7,12-)=Pulse dos veces para asignar las p\u00e1ginas que desea mezclar (ex\: 2 o 5-23 o 2,5-7,12-) # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:211 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:232 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:225 Add\ a\ pdf\ to\ the\ list=A\u00f1ade un PDF a la lista # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:248 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:269 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:262 Remove\ a\ pdf\ from\ the\ list=Elimina un PDF de la lista (Canc)=(Canc) # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:252 # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:297 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:273 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:317 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:266 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:311 Remove=Eliminar Reload=Recargar Error\:\ Unable\ to\ reload\ the\ selected\ file/s.=Error\: incapaz de cargar el (los) archivo(s) seleccionados. Unable\ to\ remove\ JList\ text\ =Incapaz de remover el texto de JList # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:532 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:596 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:646 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:585 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:635 File\ selected\:\ =Archivo seleccionado\: File\ reloaded\:\ =Archivo recargado\: # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:259 # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:306 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:273 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:320 Move\ Up=Subir # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:260 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:274 Move\ up\ selected\ pdf\ file=Mueve hacia arriba un PDF seleccionado (Alt+ArrowUp)=(Alt+FlechaArriba) # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:268 # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:315 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:282 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:329 Move\ Down=Bajar # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:269 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:283 Move\ down\ selected\ pdf\ file=Mueve hacia abajo un PDF seleccionado (Alt+ArrowDown)=(Alt+FlechaAbajo) # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:280 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:284 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:294 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:105 Clear=Limpiar # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:281 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:295 Remove\ every\ pdf\ file\ from\ the\ merge\ list=Elimina todos los PDF de la lista # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:324 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:326 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:338 Set\ output\ file=Definir archivo de destino # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:336 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:338 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:350 Error\:\ Unable\ to\ get\ the\ file\ path.=Error\: no se puede hallar la ruta del archivo. Unable\ to\ get\ the\ default\ environment\ informations.=Incapaz de obtener las informaciones del ambiente predefinido. Setting\ look\ and\ feel...=Estableciendo apariencia... Setting\ logging\ level...=Estableciendo nivel de ingreso... Unable\ to\ find\ log\ level,\ setting\ to\ default\ level\ (DEBUG).=Incapaz de encontrar nivel de registro, estableciendo el nivel predeterminado (DEBUG). Logging\ level\ set\ to\ =Nivel de registro establecido a Unable\ to\ set\ logging\ level.=Incapaz de establecer nivel de registro. Error\ getting\ plugins\ directory.=Error al obtener el directorio de plugins Cannot\ read\ plugins\ directory\ =No se puede leer el directorio de plugins Plugins\ directory\ is\ null.=Directorio de plugins est\u00e1 nulo. Found\ zero\ or\ many\ jars\ in\ plugin\ directory\ =Se encontraron cero o muchos jars en el directorio de plugins Exception\ loading\ plugins.=Plugins de carga de excepciones. Cannot\ read\ plugin\ directory\ =No se puede leer el directorio de plugins \ plugin\ loaded.=\ plugin cargado. Unable\ to\ load\ a\ plugin\ that\ is\ not\ JPanel\ subclass.=Incapaz de cargar un plugin que no es una subclase de JPanel Error\ loading\ class\ =Error al cargar clase # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\LogPanel.java:112 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:112 Select\ all=Seleccionar Todo Save\ log=Guardar registro Save\ environment=Guardar ambiente Load\ environment=Cargar ambiente # G:\Documents\eclipse_workspace\PDF # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:125 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:70 Exit=Salir Unable\ to\ initialize\ menu\ bar.=Incapaz de inicializar la barra de menu. started\ in\ =comenzado en # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:190 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:188 Loading\ plugins..=Cargando complementos... # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:169 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:167 Building\ menus..=Creando men\u00fas... Building\ buttons\ bar..=Construyendo barra de botones.. # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:259 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:259 Building\ status\ bar..=Creando barra de estado... # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:231 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:231 Building\ tree..=Creando \u00e1rbol... Loading\ default\ environment.=Cargando ambiente predeterminado. Error\ starting\ pdfsam.=Error al iniciar pdfsam # G:\Documents\eclipse_workspace\PDF # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:121 Clear\ log=Limpiar registro Unable\ to\ initialize\ button\ bar.=Incapaz de inicializar la barra de botones. # G:\Documents\eclipse_workspace\PDF # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 Version\:\ =Versi\u00f3n\: # G:\Documents\eclipse_workspace\PDF # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 Language\:\ =Lenguaje\: Developed\ by\:\ =Desarrollado por\: # G:\Documents\eclipse_workspace\PDF # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 Build\ date\:\ =Creado el\: Java\ home\:\ =Java home\: Java\ version\:\ =Versi\u00f3n java\: Max\ memory\:\ =Memoria m\u00e1xima\: Configuration\ file\:\ =Archivo de configuraci\u00f3n\: # G:\Documents\eclipse_workspace\PDF # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 Website\:\ =Sitio web\: # G:\Documents\eclipse_workspace\PDF # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:118 Name=Nombre # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\GUI\MainGUI.java:222 About=Acerca de Unimplemented\ method\ for\ JInfoPanel=M\u00e9todo no implementado de JInfoPanel # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:167 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:167 Contributes\:\ =Colaboradores\: # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:126 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:128 Log\ level\:=Nivel de registro\: Settings=Preferencias Look\ and\ feel\:=Apariencia\: # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:120 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:122 Theme\:=Tema\: # G:\Documents\eclipse_workspace\PDF # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:125 Language\:=Lenguaje\: Check\ for\ updates\:=Buscar actualizaciones\: Load\ default\ environment\ at\ startup\:=Cargar ambiente predeterminado al inicio\: Default\ working\ directory\:=Direectorio de trabajo predeterminado\: Error\ getting\ default\ environment.=Error al obtener el ambiente predeterminado. Check\ now=Revisar ahora Play\ alert\ sounds=Reproducir los sonidos de alerta # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:223 Settings\ =Preferencias Language=Idioma # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:224 Set\ your\ preferred\ language\ (restart\ needed)=Selecciona tu idioma preferido (necesita reiniciar) Look\ and\ feel=Apariencia Set\ your\ preferred\ look\ and\ feel\ and\ your\ preferred\ theme\ (restart\ needed)=Establezca su apariencia preferido y su tema preferido (necesario reiniciar) Log\ level=Nivel de registro Set\ a\ log\ detail\ level\ (restart\ needed)=Establezca un nivel de detalle de registro (necesario reiniciar) Check\ for\ updates=Comprobar actualizaciones Set\ when\ new\ version\ availability\ should\ be\ checked\ (restart\ needed)=Establezca cuando la disponibilidad de una nueva versi\u00f3n deber\u00eda ser revisada (necesita reiniciar) Turn\ on\ or\ off\ alert\ sounds=Encender o apagar los sonidos de alerta Default\ env.=Ambiente predeterminado Select\ a\ previously\ saved\ env.\ file\ that\ will\ be\ automatically\ loaded\ at\ startup=Seleccione un archivo de ambiente previamente guardado que ser\u00e1 cargado autom\u00e1ticamente en el inicio Default\ working\ directory=Direectorio de trabajo predeterminado Select\ a\ directory\ where\ documents\ will\ be\ saved\ and\ loaded\ by\ default=Selecciones un directorio donde los documentos ser\u00e1n guardados y cargados de forma predeterminada Save=Guardar Configuration\ saved.=Configuraci\u00f3n guardada. Unimplemented\ method\ for\ JSettingsPanel=M\u00e9todo no implementado de JSettingsPanel New\ version\ available\:\ =Nueva versi\u00f3n disponible\: Plugins=Complementos Error\ getting\ pdf\ version\ description.=Error al obtener la descripci\u00f3n de versi\u00f3n pdf. Version\ 1.2\ (Acrobat\ 3)=Versi\u00f3n 1.2 (Acrobat 3) Version\ 1.3\ (Acrobat\ 4)=Versi\u00f3n 1.3 (Acrobat 4) Version\ 1.4\ (Acrobat\ 5)=Versi\u00f3n 1.4 (Acrobat 5) Version\ 1.5\ (Acrobat\ 6)=Versi\u00f3n 1.5 (Acrobat 6) Version\ 1.6\ (Acrobat\ 7)=Versi\u00f3n 1.6 (Acrobat 7) Version\ 1.7\ (Acrobat\ 8)=Versi\u00f3n 1.7 (Acrobat 8) Never=Nunca pdfsam\ start\ up=Inicio de pdfsam Output\ file\ location\ is\ not\ correct=La ubicaci\u00f3n del archivo no es correcta Would\ you\ like\ to\ change\ it\ to=Quisiera cambiarlo a Output\ location\ error=Error de ubicaci\u00f3n de salida Selected\ output\ file\ already\ exists\ =El archivo de salida seleccionado ya existe Would\ you\ like\ to\ overwrite\ it?=\u00bfQuiere sobreescribirlo? Provided\ pages\ selection\ is\ not\ valid=El orden de la selecci\u00f3n de p\u00e1ginas no es v\u00e1lido Limits\ must\ be\ a\ comma\ separated\ list\ of\ "page_number"\ or\ "page_number-page_number"=Los l\u00edmites han de ser una lista separada por comas de "n\u00fameros_de_p\u00e1gina" o "n\u00famero_de_p\u00e1gina-n\u00famero_de_p\u00e1gina" Limits\ are\ not\ valid=Los l\u00edmites no son v\u00e1lidos Checking\ for\ a\ new\ version\ available.=Revisando si existe una nueva versi\u00f3n disponible Error\ checking\ for\ a\ new\ version\ available.=Error al buscar una nueva version disponible. Unable\ to\ get\ latest\ available\ version=Incapaz de conesguir la \u00faltima versi\u00f3n disponible New\ version\ available.=Nueva versi\u00f3n disponible. No\ new\ version\ available.=No hay nueva versi\u00f3n disponible. Cut=Cortar Paste=Pegar pdfsam-1.1.4/pdfsam-langpack-br1/src/java/org/pdfsam/i18n/resources/Messages_gl.properties0000644000175000017500000004622211225342444031357 0ustar twernertwerner# Galician translation for pdfsam # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the pdfsam package. # FIRST AUTHOR , 2008. # !=Project-Id-Version\: pdfsam\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2009-07-09 12\:23+0200\nPO-Revision-Date\: 2008-06-25 23\:29+0000\nLast-Translator\: Susana Sotelo Doc\u00edo \nLanguage-Team\: Galician \nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Launchpad-Export-Date\: 2008-08-17 09\:24+0000\nX-Generator\: Launchpad (build Unknown)\n #, fuzzy !Merge\ options=Opci\u00f3ns de uni\u00f3n\: PDF\ documents\ contain\ forms=Os documentos PDF conte\u00f1en formularios Merge\ type=Tipo de uni\u00f3n Unchecked=Non seleccionada Use\ this\ merge\ type\ for\ standard\ pdf\ documents=Use este tipo de uni\u00f3n para documentos PDF est\u00e1ndar Checked=Seleccionada Use\ this\ merge\ type\ for\ pdf\ documents\ containing\ forms=Use este tipo de uni\u00f3n para documentos PDF que conte\u00f1an formularios Note=Nota Setting\ this\ option\ the\ documents\ will\ be\ completely\ loaded\ in\ memory=Se escolle esta opci\u00f3n os documentos cargaranse enteiramente en memoria Destination\ output\ file=Ficheiro de sa\u00edda Error\:\ =Erro\: Browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ file.=Explore o sistema de arquivos ou introduza a ruta completa ao ficheiro de sa\u00edda. Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ file\ if\ it\ already\ exists.=Escolla esta opci\u00f3n se desexa sobreescribir o ficheiro de sa\u00edda no caso de que xa exista. Check\ the\ box\ if\ you\ want\ compressed\ output\ files.=Escolla esta opci\u00f3n se desexa ficheiros de sa\u00edda comprimidos. PDF\ version\ 1.5\ or\ above.=PDF versi\u00f3n 1.5 ou posterior. Set\ the\ pdf\ version\ of\ the\ ouput\ document.=Estableza a versi\u00f3n de PDF do documento de sa\u00edda. Please\ wait\ while\ all\ files\ are\ processed..=Por favor, agarde mentras os ficheiros son procesados.. Found\ a\ password\ for\ input\ file.=Atopouse un contrasinal para o ficheiro de entrada. #, fuzzy !Please\ select\ at\ least\ one\ pdf\ document.=Por favor, escolla dous documentos PDF. !Warning= Execute\ pdf\ merge=Executar a uni\u00f3n de PDF Merge/Extract=Unir/Extraer Merge\ section\ loaded.=Cargada a secci\u00f3n de uni\u00f3n Export\ as\ xml=Exportar como xml Unable\ to\ save\ xml\ file.=Non foi pos\u00edbel gardar o ficheiro xml. Ok=Ok File\ xml\ saved.=O ficheiro xml foi gardado. Error\ saving\ xml\ file,\ output\ file\ is\ null.=Erro ao gardar o ficheiro xml, o ficheiro de sa\u00edda est\u00e1 baleiro. Split\ options=Opci\u00f3ns da divisi\u00f3n Burst\ (split\ into\ single\ pages)=Dividir en p\u00e1xinas individuais Split\ every\ "n"\ pages=Dividir cada "n" p\u00e1xinas Split\ even\ pages=Dividir p\u00e1xinas pares Split\ odd\ pages=Dividir p\u00e1xinas impares Split\ after\ these\ pages=Dividir despois destas p\u00e1xinas Split\ at\ this\ size=Divisi\u00f3n a este tama\u00f1o !Split\ by\ bookmarks\ level= !Burst= Explode\ the\ pdf\ document\ into\ single\ pages=Separar o documento PDF en p\u00e1xinas simples Split\ the\ document\ every\ "n"\ pages=Dividir o documento cada "n" p\u00e1xinas Split\ the\ document\ every\ even\ page=Dividir o documento cada p\u00e1xina par Split\ the\ document\ every\ odd\ page=Dividir o documento cada p\u00e1xina impar Split\ the\ document\ after\ page\ numbers\ (num1-num2-num3..)=Dividir o documento logo dos n\u00fameros de p\u00e1xina (n\u00fam1-n\u00fam2-n\u00fam3..) #, fuzzy !Split\ the\ document\ in\ files\ of\ the\ given\ size\ (roughly)=Dividir o documento en ficheiros co tama\u00f1o especificado (aproximadamente). #, fuzzy !Split\ the\ document\ at\ pages\ referred\ by\ bookmarks\ of\ the\ given\ level=Dividir o documento en ficheiros co tama\u00f1o especificado (aproximadamente). #, fuzzy !Destination\ folder=Cartafol de destino\: Same\ as\ source=Id\u00e9ntico ao orixinal Choose\ a\ folder=Escolla un cartafol Destination\ output\ directory=Directorio de sa\u00edda Use\ the\ same\ output\ folder\ as\ the\ input\ file\ or\ choose\ a\ folder.=Utilizar o mesmo cartafol de sa\u00edda que o ficheiro de entrada ou escoller un cartafol. To\ choose\ a\ folder\ browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ directory.=Para escoller un cartafol explore o sistema de arquivos ou introduza a ruta completa ao directorio de destino de sa\u00edda. Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ files\ if\ they\ already\ exist.=Escolla esta opci\u00f3n se desexa sobreescribir os ficheiros de sa\u00edda no caso de que xa existan. #, fuzzy !Output\ options=Opci\u00f3ns de sa\u00edda\: Output\ file\ names\ prefix\:=Prefixo dos nomes de ficheiro de sa\u00edda\: Output\ files\ prefix=Prefixo dos ficheiros de sa\u00edda !If\ it\ contains\ "[CURRENTPAGE]",\ "[TIMESTAMP]",\ "[FILENUMBER]"\ or\ "[BOOKMARK_NAME]"\ it\ performs\ variable\ substitution.= Ex.\ prefix_[BASENAME]_[CURRENTPAGE]\ generates\ prefix_FileName_005.pdf.=Exemplo\: prefixo_[BASENAME]_[CURRENTPAGE] xera prefixo_NomeFicheiro_005.pdf. #, fuzzy !If\ it\ doesn't\ contain\ "[CURRENTPAGE]",\ "[TIMESTAMP]"\ or\ "[FILENUMBER]"\ it\ generates\ oldstyle\ output\ file\ names.=Se non cont\u00e9n "[CURRENTPAGE]" ou "[TIMESTAMP]", xera ficheiros de sa\u00edda con nomes co estilo vello. !Available\ variables= Invalid\ split\ size=Tama\u00f1o de divisi\u00f3n non v\u00e1lido The\ lowest\ available\ pdf\ version\ is\ =A versi\u00f3n de PDF m\u00e1is antiga dispo\u00f1\u00edbel \u00e9\: You\ selected\ a\ lower\ output\ pdf\ version,\ continue\ anyway\ ?=Escolleu unha versi\u00f3n anterior para o PDF de sa\u00edda, desexa continuar de t\u00f3dolos xeitos? Pdf\ version\ conflict=Conflito na versi\u00f3n de PDF #, fuzzy !Please\ select\ a\ pdf\ document.=Por favor, escolla dous documentos PDF. Split\ selected\ file=Dividir o ficheiro seleccionado Split=Dividir Split\ section\ loaded.=A secci\u00f3n de divisi\u00f3n foi cargada. Invalid\ unit\:\ =Unidade non v\u00e1lida\: #, fuzzy !Fill\ from\ document=Invertir o primeiro documento !Getting\ bookmarks\ max\ depth= !Frontpage\ pdf\ file= !Addendum\ pdf\ file= !Select\ at\ least\ one\ cover\ or\ one\ footer= !Frontpage\ and\ Addendum= !Cover\ And\ Footer\ section\ loaded.= #, fuzzy !Encrypt\ options=Opci\u00f3ns de cifrado\: Owner\ password\:=Contrasinal de propietario\: Owner\ password\ (Max\ 32\ chars\ long)=Contrasinal de propietario (32 caracteres como m\u00e1ximo) User\ password\:=Contrasinal de usuario\: User\ password\ (Max\ 32\ chars\ long)=Contrasinal de usuario (32 caracteres como m\u00e1ximo) #, fuzzy !Encryption\ algorithm\:=Algoritmo de cifrado\: Allow\ all=Permitir todo Print=Imprimir Low\ quality\ print=Impresi\u00f3n de baixa calidade Copy\ or\ extract=Copiar ou extraer Modify=Modificar Add\ or\ modify\ text\ annotations=Engadir ou modificar anotaci\u00f3ns textuais Fill\ form\ fields=Encher campos de formulario !Extract\ for\ use\ by\ accessibility\ dev.= !Manipulate\ pages\ and\ add\ bookmarks= Check\ the\ box\ if\ you\ want\ compressed\ output\ files\ (Pdf\ version\ 1.5\ or\ higher).=Escolla esta opci\u00f3n se desexa ficheiros de sa\u00edda comprimidos (PDF versi\u00f3n 1.5 ou posterior). If\ it\ contains\ "[TIMESTAMP]"\ it\ performs\ variable\ substitution.=Se cont\u00e9n "[TIMESTAMP]" realiza substituci\u00f3n de vari\u00e1beis. Ex.\ [BASENAME]_prefix_[TIMESTAMP]\ generates\ FileName_prefix_20070517_113423471.pdf.=Exemplo\: [BASENAME]_prefixo_[TIMESTAMP] xera NomeFicheiro_prefixo_20070517_113423471.pdf. If\ it\ doesn't\ contain\ "[TIMESTAMP]"\ it\ generates\ oldstyle\ output\ file\ names.=Se non cont\u00e9n "[TIMESTAMP]" xera ficheiros de sa\u00edda con nomes co estilo vello. Available\ variables\:\ [TIMESTAMP],\ [BASENAME].=Vari\u00e1beis dispo\u00f1\u00edbeis\: [TIMESTAMP], [BASENAME]. Encrypt\ selected\ files=Cifrar os ficheiros seleccionados Encrypt=Cifrar Encrypt\ section\ loaded.=A secci\u00f3n de cifrado foi cargada. #, fuzzy !Decrypt\ selected\ files=Cifrar os ficheiros seleccionados #, fuzzy !Decrypt=Cifrar #, fuzzy !Decrypt\ section\ loaded.=A secci\u00f3n de cifrado foi cargada. #, fuzzy !Mix\ options=Opci\u00f3ns da divisi\u00f3n Reverse\ first\ document=Invertir o primeiro documento Reverse\ second\ document=Invertir o segundo documento !Number\ of\ pages\ to\ switch\ document= !Tick\ the\ boxes\ if\ you\ want\ to\ reverse\ the\ first\ or\ the\ second\ document\ (or\ both).= !Set\ the\ number\ of\ pages\ to\ switch\ from\ a\ document\ to\ the\ other\ one\ (default\ is\ 1).= Found\ a\ password\ for\ first\ file.=Atopouse un contrasinal para o primeiro ficheiro. Found\ a\ password\ for\ second\ file.=Atopouse un contrasinal para o segundo ficheiro. Please\ select\ two\ pdf\ documents.=Por favor, escolla dous documentos PDF. !Execute\ pdf\ alternate\ mix= !Alternate\ Mix= !AlternateMix\ section\ loaded.= Unpack\ selected\ files=Desempaquetar ficheiros seleccionados Unpack=Desempaquetar !Unpack\ section\ loaded.= #, fuzzy !Set\ viewer\ options=Opci\u00f3ns da divisi\u00f3n !Hide\ the\ menubar= !Hide\ the\ toolbar= !Hide\ user\ interface\ elements= !Rezise\ the\ window\ to\ fit\ the\ page\ size= !Center\ of\ the\ screen= !Display\ document\ title\ as\ window\ title= #, fuzzy !Pdf\ version\ required\:=Conflito na versi\u00f3n de PDF !No\ page\ scaling\ in\ print\ dialog= !Viewer\ layout\:= !Viewer\ open\ mode\:= !Non\ fullscreen\ mode\:= !Direction\:= #, fuzzy !Set\ options=Opci\u00f3ns da divisi\u00f3n #, fuzzy !Set\ viewer\ options\ for\ selected\ files=Cifrar os ficheiros seleccionados !Left\ to\ right= !Right\ to\ left= #, fuzzy !None=Nota !Fullscreen= !Attachments= !Optional\ content\ group\ panel= #, fuzzy !Document\ outline=Os documentos PDF conte\u00f1en formularios !Thumbnail\ images= !One\ page\ at\ a\ time= !Pages\ in\ one\ column= !Pages\ in\ two\ columns\ (odd\ on\ the\ left)= !Pages\ in\ two\ columns\ (odd\ on\ the\ right)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ left)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ right)= #, fuzzy !Viewer\ options=Opci\u00f3ns de uni\u00f3n\: #, fuzzy !Viewer\ options\ section\ loaded.=A secci\u00f3n de cifrado foi cargada. !Save\ passwords\ informations\ (they\ will\ be\ readable\ opening\ the\ output\ file)?= Confirm\ password\ saving=Conformar o almacenamento de contrasinais Unknown\ action.=Acci\u00f3n desco\u00f1ecida. Log\ saved.=Rexistro gardado. !\ node\ environment\ loaded.= Environment\ saved.=Contorno gardado. Error\ saving\ environment,\ output\ file\ is\ null.=Erro ao gardar o contorno, o ficheiro de sa\u00edda est\u00e1 baleiro. Error\ saving\ environment.=Erro ao salvar o contorno. Environment\ loaded.=O contorno foi cargado. Error\ loading\ environment.=Erro ao cargar o contorno. Error\ loading\ environment\ from\ input\ file.\ =Erro ao cargar o contorno dende o ficheiro de entrada. Selection\ table\ is\ full,\ please\ remove\ some\ pdf\ document.=A t\u00e1boa de selecci\u00f3n est\u00e1 chea. Por favor, elimine alg\u00fans documentos PDF. Table\ full=T\u00e1boa chea Please\ wait\ while\ reading=Por favor, agarde durante a lectura Selected\ file\ is\ not\ a\ pdf\ document.=O ficheiro seleccionado non \u00e9 un documento PDF. Error\ loading\ =Erro de carga Command\ validation\ returned\ an\ empty\ value.=A validaci\u00f3n da orde devolveu un valor baleiro. Command\ executed.=A orde foi executada. File\ name=Nome de ficheiro !Number\ of\ pages= !File\ size= !Pdf\ version= !Encryption= !Not\ encrypted= !Permissions= !Title= Author=Autor !Subject= !Producer= !Creator= !Creation\ date= !Modification\ date= !Keywords= !Document\ properties= File=Ficheiro !Close= Copy=Copiar !Error\ creating\ properties\ panel.= Run=Executar Browse=Explorar Add=Engadir Compress\ output\ file/files=Comprimir ficheiro(s) de sa\u00edda Overwrite\ if\ already\ exists=Sobreescribir se xa existe Don't\ preserve\ file\ order\ (fast\ load)=Non preservar a orde dos ficheiros (maior velocidade de carga) Output\ document\ pdf\ version\:=Versi\u00f3n de PDF do documento de sa\u00edda\: !The\ cross\ reference\ table\ cantained\ some\ error\ and\ has\ been\ rebuilt= !The\ document\ has\ not\ been\ opened\ with\ the\ owner\ password.\ You\ must\ provide\ the\ owner\ password\ in\ order\ to\ manipulate\ the\ document= !An\ error\ occured\ while\ loading\ the\ document= Same\ as\ input\ document=Igual que o documento de entrada Path=Ruta Pages=P\u00e1xinas Password=Contrasinal Version=Versi\u00f3n Page\ Selection=Selecci\u00f3n de p\u00e1xinas Total\ pages\ of\ the\ document=P\u00e1xinas totais do documento Password\ to\ open\ the\ document\ (if\ needed)=Contrasinal para abrir o documento (de ser necesaria) Pdf\ version\ of\ the\ document=Versi\u00f3n do PDF do documento !Double\ click\ to\ set\ pages\ you\ want\ to\ merge\ (ex\:\ 2\ or\ 5-23\ or\ 2,5-7,12-)= Add\ a\ pdf\ to\ the\ list=Engador un PDF \u00e1 lista Remove\ a\ pdf\ from\ the\ list=Suprimir un PDF da lista (Canc)=(Canc) Remove=Suprimir Reload=Cargar de novo Error\:\ Unable\ to\ reload\ the\ selected\ file/s.=Erro\: foi impos\u00edbel volver cargar o(s) ficheiro(s) seleccionado(s). Unable\ to\ remove\ JList\ text\ =Foi impos\u00edbel suprimir o texto JList File\ selected\:\ =Ficheiro seleccionado\: File\ reloaded\:\ =Volveuse cargar o ficheiro\: Move\ Up=Subir Move\ up\ selected\ pdf\ file=Mover para enriba o ficheiro PDF seleccionado (Alt+ArrowUp)=(Alt+FrechaArriba) Move\ Down=Baixar Move\ down\ selected\ pdf\ file=Mover para abaixo o ficheiro PDF seleccionado (Alt+ArrowDown)=(Alt+FrechaAbaixo) Clear=Limpar Remove\ every\ pdf\ file\ from\ the\ merge\ list=Eliminar t\u00f3dolos ficheiros PDF da lista para unir Set\ output\ file=Establecer o ficheiro de sa\u00edda Error\:\ Unable\ to\ get\ the\ file\ path.=Erro\: foi impos\u00edbel obter a ruta do ficheiro. Unable\ to\ get\ the\ default\ environment\ informations.=Foi impos\u00edbel obter informaci\u00f3n sobre o contorno por defecto. Setting\ look\ and\ feel...=Establecemos o aspecto... Setting\ logging\ level...=Establecemos o nivel de rexistro... Unable\ to\ find\ log\ level,\ setting\ to\ default\ level\ (DEBUG).=Foi impos\u00edbel atopar o nivel de rexistro, establ\u00e9cese ao nivel por defecto (DEBUG). Logging\ level\ set\ to\ =Nivel de rexistro establecido a Unable\ to\ set\ logging\ level.=Foi impos\u00edbel establecer o nivel de rexistro. !Error\ getting\ plugins\ directory.= Cannot\ read\ plugins\ directory\ =Non foi pos\u00edbel acceder ao directorio de plugins !Plugins\ directory\ is\ null.= Found\ zero\ or\ many\ jars\ in\ plugin\ directory\ =Atop\u00e1ronse cero ou demasiados jars no directorio de plugin !Exception\ loading\ plugins.= Cannot\ read\ plugin\ directory\ =Non se puido ler o directorio de plugins \ plugin\ loaded.=\ Cargouse o plugin Unable\ to\ load\ a\ plugin\ that\ is\ not\ JPanel\ subclass.=Non se pode cargar un plugin que non estea na subclase JPanel. Error\ loading\ class\ =Erro ao cargar a clase Select\ all=Seleccionar todo Save\ log=Gardar o rexistro Save\ environment=Gardar contorno Load\ environment=Cargar contorno. Exit=Sa\u00edr Unable\ to\ initialize\ menu\ bar.=Foi impos\u00edbel iniciar a barra do men\u00fa. !started\ in\ = Loading\ plugins..=Cargamos plugins.. Building\ menus..=Xeramos men\u00fas.. Building\ buttons\ bar..=Xeramos a barra de bot\u00f3ns.. Building\ status\ bar..=Xeramos a barra de estado.. Building\ tree..=Xeramos \u00e1rbore.. Loading\ default\ environment.=Cargamos contorno por defecto. Error\ starting\ pdfsam.=Erro ao iniciar pdfsam Clear\ log=Limpar rexistro Unable\ to\ initialize\ button\ bar.=Non se puido iniciar a barra de bot\u00f3ns. Version\:\ =Versi\u00f3n\: Language\:\ =Lingua\: !Developed\ by\:\ = Build\ date\:\ =Data de compilaci\u00f3n\: !Java\ home\:\ = Java\ version\:\ =Versi\u00f3n de Java\: !Max\ memory\:\ = Configuration\ file\:\ =Ficheiro de configuraci\u00f3n\: Website\:\ =Sitio web\: Name=Nome !About= Unimplemented\ method\ for\ JInfoPanel=M\u00e9todo non implementado para JInfoPanel !Contributes\:\ = Log\ level\:=Nivel de rexistro\: !Settings= Look\ and\ feel\:=Apariencia\: Theme\:=Tema\: Language\:=Lingua\: Check\ for\ updates\:=Comprobaci\u00f3n de actualizaci\u00f3ns\: Load\ default\ environment\ at\ startup\:=Cargar contorno por defecto ao inicio\: Default\ working\ directory\:=Directorio de traballo por defecto\: Error\ getting\ default\ environment.=Erro ao obter o contorno por defecto. Check\ now=Verificar agora !Play\ alert\ sounds= !Settings\ = Language=Lingua Set\ your\ preferred\ language\ (restart\ needed)=Estableza a s\u00faa lingua preferida (\u00e9 preciso que reinicie) Look\ and\ feel=Apariencia Set\ your\ preferred\ look\ and\ feel\ and\ your\ preferred\ theme\ (restart\ needed)=Estableza a apariencia e tema favoritos (\u00e9 preciso reiniciar) Log\ level=Nivel de rexistro Set\ a\ log\ detail\ level\ (restart\ needed)=Establecer un nivel detallado de rexistro (\u00e9 preciso reiniciar) Check\ for\ updates=Buscar actualizaci\u00f3ns !Set\ when\ new\ version\ availability\ should\ be\ checked\ (restart\ needed)= !Turn\ on\ or\ off\ alert\ sounds= !Default\ env.= !Select\ a\ previously\ saved\ env.\ file\ that\ will\ be\ automatically\ loaded\ at\ startup= Default\ working\ directory=Directorio de traballo por defecto Select\ a\ directory\ where\ documents\ will\ be\ saved\ and\ loaded\ by\ default=Escoller o directorio onde se gardar\u00e1n e de onde se cargar\u00e1n por defecto os documentos. Save=Gardar Configuration\ saved.=A configuraci\u00f3n foi gardada. Unimplemented\ method\ for\ JSettingsPanel=M\u00e9todo non implementado para JSettingsPanel New\ version\ available\:\ =Nova versi\u00f3n dispo\u00f1\u00edbel\: !Plugins= !Error\ getting\ pdf\ version\ description.= Version\ 1.2\ (Acrobat\ 3)=Versi\u00f3n 1.2 (Acrobat 3) Version\ 1.3\ (Acrobat\ 4)=Versi\u00f3n 1.3 (Acrobat 4) Version\ 1.4\ (Acrobat\ 5)=Versi\u00f3n 1.4 (Acrobat 5) Version\ 1.5\ (Acrobat\ 6)=Versi\u00f3n 1.5 (Acrobat 6) Version\ 1.6\ (Acrobat\ 7)=Versi\u00f3n 1.6 (Acrobat 7) Version\ 1.7\ (Acrobat\ 8)=Versi\u00f3n 1.7 (Acrobat 8) Never=Nunca pdfsam\ start\ up=inicio de pdfsam Output\ file\ location\ is\ not\ correct=A ubicaci\u00f3n do ficheiro de sa\u00edda non \u00e9 correcta Would\ you\ like\ to\ change\ it\ to=Desexar\u00eda cambialo a Output\ location\ error=Erro na ubicaci\u00f3n de sa\u00edda !Selected\ output\ file\ already\ exists\ = !Would\ you\ like\ to\ overwrite\ it?= !Provided\ pages\ selection\ is\ not\ valid= !Limits\ must\ be\ a\ comma\ separated\ list\ of\ "page_number"\ or\ "page_number-page_number"= !Limits\ are\ not\ valid= Checking\ for\ a\ new\ version\ available.=Combrobamos se hai dispo\u00f1\u00edbel unha versi\u00f3n m\u00e1is recente. Error\ checking\ for\ a\ new\ version\ available.=Erro ao comprobar a dispo\u00f1ibilidade dunha versi\u00f3n nova. Unable\ to\ get\ latest\ available\ version=Foi impos\u00edbel obter a \u00faltima versi\u00f3n dispo\u00f1\u00edbel New\ version\ available.=Nova versi\u00f3n dispo\u00f1\u00edbel No\ new\ version\ available.=Non hai novas versi\u00f3ns dispo\u00f1\u00edbeis. !Cut= #, fuzzy !Paste=Ruta pdfsam-1.1.4/pdfsam-langpack-br1/src/java/org/pdfsam/i18n/resources/Messages_el.properties0000644000175000017500000012522311225342444031354 0ustar twernertwerner# Greek translation for pdfsam # Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 # This file is distributed under the same license as the pdfsam package. # FIRST AUTHOR , 2007. # !=Project-Id-Version\: pdfsam\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2009-07-09 12\:23+0200\nPO-Revision-Date\: 2008-03-24 16\:10+0000\nLast-Translator\: dizzyk \nLanguage-Team\: Greek \nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Launchpad-Export-Date\: 2008-06-21 08\:12+0000\nX-Generator\: Launchpad (build Unknown)\n # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:256 #, fuzzy !Merge\ options=\u0395\u03c0\u03b9\u03bb\u03bf\u03b3\u03ad\u03c2 \u03ba\u03c1\u03c5\u03c0\u03c4\u03bf\u03b3\u03c1\u03ac\u03c6\u03b7\u03c3\u03b7\u03c2\: !PDF\ documents\ contain\ forms= !Merge\ type= !Unchecked= !Use\ this\ merge\ type\ for\ standard\ pdf\ documents= # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:396 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:399 Checked=\u0395\u03c0\u03b9\u03bb\u03b5\u03b3\u03bc\u03ad\u03bd\u03bf !Use\ this\ merge\ type\ for\ pdf\ documents\ containing\ forms= # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:397 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:400 Note=\u03a3\u03b7\u03bc\u03b5\u03af\u03c9\u03c3\u03b7 !Setting\ this\ option\ the\ documents\ will\ be\ completely\ loaded\ in\ memory= # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:440 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:255 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:444 Destination\ output\ file=\u0391\u03c1\u03c7\u03b5\u03af\u03bf \u03c0\u03c1\u03bf\u03bf\u03c1\u03b9\u03c3\u03bc\u03bf\u03cd \u03b5\u03be\u03cc\u03b4\u03bf\u03c5 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:387 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:414 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:441 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:599 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:619 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:649 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:879 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:983 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:616 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:423 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:588 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:608 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:638 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:861 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:977 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:143 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:170 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:237 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:498 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:539 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:256 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:427 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:599 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:907 Error\:\ =\u03a3\u03c6\u03ac\u03bb\u03bc\u03b1\: !Browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ file.= !Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ file\ if\ it\ already\ exists.= !Check\ the\ box\ if\ you\ want\ compressed\ output\ files.= !PDF\ version\ 1.5\ or\ above.= !Set\ the\ pdf\ version\ of\ the\ ouput\ document.= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:469 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:408 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:451 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:509 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:511 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:350 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:455 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:514 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:516 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:346 Please\ wait\ while\ all\ files\ are\ processed..=\u03a0\u03b1\u03c1\u03b1\u03ba\u03b1\u03bb\u03ce \u03c0\u03b5\u03c1\u03b9\u03bc\u03ad\u03bd\u03b5\u03c4\u03b5 \u03cc\u03c3\u03bf \u03b5\u03c0\u03b5\u03be\u03b5\u03c1\u03b3\u03ac\u03b6\u03bf\u03bd\u03c4\u03b1\u03b9 \u03cc\u03bb\u03b1 \u03c4\u03b1 \u03b1\u03c1\u03c7\u03b5\u03af\u03b1.. !Found\ a\ password\ for\ input\ file.= # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:187 #, fuzzy !Please\ select\ at\ least\ one\ pdf\ document.=\u0394\u03b5\u03cd\u03c4\u03b5\u03c1\u03bf pdf \u03ba\u03b5\u03af\u03bc\u03b5\u03bd\u03bf\: !Warning= !Execute\ pdf\ merge= !Merge/Extract= !Merge\ section\ loaded.= !Export\ as\ xml= !Unable\ to\ save\ xml\ file.= !Ok= !File\ xml\ saved.= !Error\ saving\ xml\ file,\ output\ file\ is\ null.= !Split\ options= !Burst\ (split\ into\ single\ pages)= !Split\ every\ "n"\ pages= !Split\ even\ pages= !Split\ odd\ pages= !Split\ after\ these\ pages= !Split\ at\ this\ size= !Split\ by\ bookmarks\ level= !Burst= !Explode\ the\ pdf\ document\ into\ single\ pages= !Split\ the\ document\ every\ "n"\ pages= !Split\ the\ document\ every\ even\ page= !Split\ the\ document\ every\ odd\ page= !Split\ the\ document\ after\ page\ numbers\ (num1-num2-num3..)= !Split\ the\ document\ in\ files\ of\ the\ given\ size\ (roughly)= !Split\ the\ document\ at\ pages\ referred\ by\ bookmarks\ of\ the\ given\ level= # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:294 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:253 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:253 #, fuzzy !Destination\ folder=\u03a6\u03ac\u03ba\u03b5\u03bb\u03bf\u03c2 \u03c0\u03c1\u03bf\u03bf\u03c1\u03b9\u03c3\u03bc\u03bf\u03cd\: # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:297 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:256 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:256 Same\ as\ source=\u038a\u03b4\u03b9\u03b1 \u03cc\u03c0\u03c9\u03c2 \u03b7 \u03c0\u03b7\u03b3\u03ae # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:301 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:260 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:260 Choose\ a\ folder=\u0395\u03c0\u03b9\u03bb\u03bf\u03b3\u03ae \u03c6\u03b1\u03ba\u03ad\u03bb\u03bf\u03c5 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:458 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:345 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:309 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:305 Destination\ output\ directory=\u03a6\u03ac\u03ba\u03b5\u03bb\u03bf\u03c2 \u03c0\u03c1\u03bf\u03bf\u03c1\u03b9\u03c3\u03bc\u03bf\u03cd \u03b5\u03be\u03cc\u03b4\u03bf\u03c5 !Use\ the\ same\ output\ folder\ as\ the\ input\ file\ or\ choose\ a\ folder.= !To\ choose\ a\ folder\ browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ directory.= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:460 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:348 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:312 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:308 Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ files\ if\ they\ already\ exist.=\u0395\u03c0\u03b9\u03bb\u03ad\u03be\u03c4\u03b5 \u03c4\u03bf \u03ba\u03bf\u03c5\u03c4\u03af \u03b1\u03bd \u03b8\u03ad\u03bb\u03b5\u03c4\u03b5 \u03bd\u03b1 \u03b4\u03b9\u03b1\u03b3\u03c1\u03b1\u03c6\u03bf\u03cd\u03bd \u03c4\u03b1 \u03b1\u03c1\u03c7\u03b5\u03af\u03b1 \u03b5\u03be\u03cc\u03b4\u03bf\u03c5 \u03b1\u03bd \u03c0\u03c1\u03bf\u03cb\u03c0\u03ac\u03c1\u03c7\u03bf\u03c5\u03bd. # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:353 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:318 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:314 #, fuzzy !Output\ options=\u0395\u03c0\u03b9\u03bb\u03bf\u03b3\u03ad\u03c2 \u03b5\u03be\u03cc\u03b4\u03bf\u03c5\: !Output\ file\ names\ prefix\:= !Output\ files\ prefix= !If\ it\ contains\ "[CURRENTPAGE]",\ "[TIMESTAMP]",\ "[FILENUMBER]"\ or\ "[BOOKMARK_NAME]"\ it\ performs\ variable\ substitution.= !Ex.\ prefix_[BASENAME]_[CURRENTPAGE]\ generates\ prefix_FileName_005.pdf.= !If\ it\ doesn't\ contain\ "[CURRENTPAGE]",\ "[TIMESTAMP]"\ or\ "[FILENUMBER]"\ it\ generates\ oldstyle\ output\ file\ names.= !Available\ variables= !Invalid\ split\ size= !The\ lowest\ available\ pdf\ version\ is\ = !You\ selected\ a\ lower\ output\ pdf\ version,\ continue\ anyway\ ?= # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:184 #, fuzzy !Pdf\ version\ conflict=\u03a0\u03c1\u03ce\u03c4\u03bf pdf \u03ba\u03b5\u03af\u03bc\u03b5\u03bd\u03bf\: # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:187 #, fuzzy !Please\ select\ a\ pdf\ document.=\u0394\u03b5\u03cd\u03c4\u03b5\u03c1\u03bf pdf \u03ba\u03b5\u03af\u03bc\u03b5\u03bd\u03bf\: !Split\ selected\ file= !Split= !Split\ section\ loaded.= !Invalid\ unit\:\ = # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:184 #, fuzzy !Fill\ from\ document=\u03a0\u03c1\u03ce\u03c4\u03bf pdf \u03ba\u03b5\u03af\u03bc\u03b5\u03bd\u03bf\: !Getting\ bookmarks\ max\ depth= !Frontpage\ pdf\ file= !Addendum\ pdf\ file= !Select\ at\ least\ one\ cover\ or\ one\ footer= !Frontpage\ and\ Addendum= !Cover\ And\ Footer\ section\ loaded.= # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:256 #, fuzzy !Encrypt\ options=\u0395\u03c0\u03b9\u03bb\u03bf\u03b3\u03ad\u03c2 \u03ba\u03c1\u03c5\u03c0\u03c4\u03bf\u03b3\u03c1\u03ac\u03c6\u03b7\u03c3\u03b7\u03c2\: !Owner\ password\:= !Owner\ password\ (Max\ 32\ chars\ long)= # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:214 User\ password\:=\u039a\u03c9\u03b4\u03b9\u03ba\u03cc\u03c2 \u03c7\u03c1\u03ae\u03c3\u03c4\u03b7\: !User\ password\ (Max\ 32\ chars\ long)= # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:222 #, fuzzy !Encryption\ algorithm\:=\u0391\u03bb\u03b3\u03cc\u03c1\u03b9\u03b8\u03bc\u03bf\u03c2 \u03ba\u03c1\u03c5\u03c0\u03c4\u03bf\u03b3\u03c1\u03ac\u03c6\u03b7\u03c3\u03b7\u03c2\: !Allow\ all= # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:229 Print=\u0395\u03ba\u03c4\u03cd\u03c0\u03c9\u03c3\u03b7 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:232 Low\ quality\ print=\u0395\u03ba\u03c4\u03cd\u03c0\u03c9\u03c3\u03b7 \u03c7\u03b1\u03bc\u03b7\u03bb\u03ae\u03c2 \u03c0\u03bf\u03b9\u03cc\u03c4\u03b7\u03c4\u03b1\u03c2 !Copy\ or\ extract= # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:238 Modify=\u03a4\u03c1\u03bf\u03c0\u03bf\u03c0\u03bf\u03af\u03b7\u03c3\u03b7 !Add\ or\ modify\ text\ annotations= !Fill\ form\ fields= !Extract\ for\ use\ by\ accessibility\ dev.= !Manipulate\ pages\ and\ add\ bookmarks= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:460 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:348 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:312 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:308 #, fuzzy !Check\ the\ box\ if\ you\ want\ compressed\ output\ files\ (Pdf\ version\ 1.5\ or\ higher).=\u0395\u03c0\u03b9\u03bb\u03ad\u03be\u03c4\u03b5 \u03c4\u03bf \u03ba\u03bf\u03c5\u03c4\u03af \u03b1\u03bd \u03b8\u03ad\u03bb\u03b5\u03c4\u03b5 \u03bd\u03b1 \u03b4\u03b9\u03b1\u03b3\u03c1\u03b1\u03c6\u03bf\u03cd\u03bd \u03c4\u03b1 \u03b1\u03c1\u03c7\u03b5\u03af\u03b1 \u03b5\u03be\u03cc\u03b4\u03bf\u03c5 \u03b1\u03bd \u03c0\u03c1\u03bf\u03cb\u03c0\u03ac\u03c1\u03c7\u03bf\u03c5\u03bd. !If\ it\ contains\ "[TIMESTAMP]"\ it\ performs\ variable\ substitution.= !Ex.\ [BASENAME]_prefix_[TIMESTAMP]\ generates\ FileName_prefix_20070517_113423471.pdf.= !If\ it\ doesn't\ contain\ "[TIMESTAMP]"\ it\ generates\ oldstyle\ output\ file\ names.= !Available\ variables\:\ [TIMESTAMP],\ [BASENAME].= # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:463 #, fuzzy !Encrypt\ selected\ files=\u039a\u03c1\u03c5\u03c0\u03c4\u03bf\u03b3\u03c1\u03ac\u03c6\u03b7\u03c3\u03b7 \u03b5\u03c0\u03b9\u03bb\u03b5\u03b3\u03bc\u03ad\u03bd\u03bf\u03c5 \u03b1\u03c1\u03c7\u03b5\u03af\u03bf\u03c5 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:256 #, fuzzy !Encrypt=\u0395\u03c0\u03b9\u03bb\u03bf\u03b3\u03ad\u03c2 \u03ba\u03c1\u03c5\u03c0\u03c4\u03bf\u03b3\u03c1\u03ac\u03c6\u03b7\u03c3\u03b7\u03c2\: !Encrypt\ section\ loaded.= # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:463 #, fuzzy !Decrypt\ selected\ files=\u039a\u03c1\u03c5\u03c0\u03c4\u03bf\u03b3\u03c1\u03ac\u03c6\u03b7\u03c3\u03b7 \u03b5\u03c0\u03b9\u03bb\u03b5\u03b3\u03bc\u03ad\u03bd\u03bf\u03c5 \u03b1\u03c1\u03c7\u03b5\u03af\u03bf\u03c5 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:256 #, fuzzy !Decrypt=\u0395\u03c0\u03b9\u03bb\u03bf\u03b3\u03ad\u03c2 \u03ba\u03c1\u03c5\u03c0\u03c4\u03bf\u03b3\u03c1\u03ac\u03c6\u03b7\u03c3\u03b7\u03c2\: !Decrypt\ section\ loaded.= # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:353 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:318 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:314 #, fuzzy !Mix\ options=\u0395\u03c0\u03b9\u03bb\u03bf\u03b3\u03ad\u03c2 \u03b5\u03be\u03cc\u03b4\u03bf\u03c5\: # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:184 #, fuzzy !Reverse\ first\ document=\u03a0\u03c1\u03ce\u03c4\u03bf pdf \u03ba\u03b5\u03af\u03bc\u03b5\u03bd\u03bf\: # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:187 #, fuzzy !Reverse\ second\ document=\u0394\u03b5\u03cd\u03c4\u03b5\u03c1\u03bf pdf \u03ba\u03b5\u03af\u03bc\u03b5\u03bd\u03bf\: !Number\ of\ pages\ to\ switch\ document= !Tick\ the\ boxes\ if\ you\ want\ to\ reverse\ the\ first\ or\ the\ second\ document\ (or\ both).= !Set\ the\ number\ of\ pages\ to\ switch\ from\ a\ document\ to\ the\ other\ one\ (default\ is\ 1).= !Found\ a\ password\ for\ first\ file.= !Found\ a\ password\ for\ second\ file.= # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:187 #, fuzzy !Please\ select\ two\ pdf\ documents.=\u0394\u03b5\u03cd\u03c4\u03b5\u03c1\u03bf pdf \u03ba\u03b5\u03af\u03bc\u03b5\u03bd\u03bf\: !Execute\ pdf\ alternate\ mix= !Alternate\ Mix= !AlternateMix\ section\ loaded.= !Unpack\ selected\ files= !Unpack= !Unpack\ section\ loaded.= !Set\ viewer\ options= !Hide\ the\ menubar= !Hide\ the\ toolbar= !Hide\ user\ interface\ elements= !Rezise\ the\ window\ to\ fit\ the\ page\ size= !Center\ of\ the\ screen= !Display\ document\ title\ as\ window\ title= # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:184 #, fuzzy !Pdf\ version\ required\:=\u03a0\u03c1\u03ce\u03c4\u03bf pdf \u03ba\u03b5\u03af\u03bc\u03b5\u03bd\u03bf\: !No\ page\ scaling\ in\ print\ dialog= !Viewer\ layout\:= !Viewer\ open\ mode\:= !Non\ fullscreen\ mode\:= !Direction\:= # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:353 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:318 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:314 #, fuzzy !Set\ options=\u0395\u03c0\u03b9\u03bb\u03bf\u03b3\u03ad\u03c2 \u03b5\u03be\u03cc\u03b4\u03bf\u03c5\: # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:463 #, fuzzy !Set\ viewer\ options\ for\ selected\ files=\u039a\u03c1\u03c5\u03c0\u03c4\u03bf\u03b3\u03c1\u03ac\u03c6\u03b7\u03c3\u03b7 \u03b5\u03c0\u03b9\u03bb\u03b5\u03b3\u03bc\u03ad\u03bd\u03bf\u03c5 \u03b1\u03c1\u03c7\u03b5\u03af\u03bf\u03c5 !Left\ to\ right= !Right\ to\ left= # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:397 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:400 #, fuzzy !None=\u03a3\u03b7\u03bc\u03b5\u03af\u03c9\u03c3\u03b7 !Fullscreen= !Attachments= !Optional\ content\ group\ panel= !Document\ outline= !Thumbnail\ images= !One\ page\ at\ a\ time= !Pages\ in\ one\ column= !Pages\ in\ two\ columns\ (odd\ on\ the\ left)= !Pages\ in\ two\ columns\ (odd\ on\ the\ right)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ left)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ right)= # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:256 #, fuzzy !Viewer\ options=\u0395\u03c0\u03b9\u03bb\u03bf\u03b3\u03ad\u03c2 \u03ba\u03c1\u03c5\u03c0\u03c4\u03bf\u03b3\u03c1\u03ac\u03c6\u03b7\u03c3\u03b7\u03c2\: !Viewer\ options\ section\ loaded.= !Save\ passwords\ informations\ (they\ will\ be\ readable\ opening\ the\ output\ file)?= !Confirm\ password\ saving= !Unknown\ action.= !Log\ saved.= !\ node\ environment\ loaded.= !Environment\ saved.= !Error\ saving\ environment,\ output\ file\ is\ null.= !Error\ saving\ environment.= !Environment\ loaded.= !Error\ loading\ environment.= !Error\ loading\ environment\ from\ input\ file.\ = !Selection\ table\ is\ full,\ please\ remove\ some\ pdf\ document.= !Table\ full= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:252 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:869 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:245 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:851 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:248 #, fuzzy !Please\ wait\ while\ reading=\u03a0\u03b1\u03c1\u03b1\u03ba\u03b1\u03bb\u03ce \u03c0\u03b5\u03c1\u03b9\u03bc\u03ad\u03bd\u03b5\u03c4\u03b5, \u03b3\u03af\u03bd\u03b5\u03c4\u03b1\u03b9 \u03b7 \u03b1\u03bd\u03ac\u03b3\u03bd\u03c9\u03c3\u03b7 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:187 #, fuzzy !Selected\ file\ is\ not\ a\ pdf\ document.=\u0394\u03b5\u03cd\u03c4\u03b5\u03c1\u03bf pdf \u03ba\u03b5\u03af\u03bc\u03b5\u03bd\u03bf\: !Error\ loading\ = !Command\ validation\ returned\ an\ empty\ value.= !Command\ executed.= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:180 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:178 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:181 File\ name=\u038c\u03bd\u03bf\u03bc\u03b1 \u03b1\u03c1\u03c7\u03b5\u03af\u03bf\u03c5 !Number\ of\ pages= !File\ size= !Pdf\ version= !Encryption= !Not\ encrypted= !Permissions= !Title= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:118 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\GUI\InfoGUI.java:128 Author=\u0394\u03b7\u03bc\u03b9\u03bf\u03c5\u03c1\u03b3\u03cc\u03c2 !Subject= !Producer= !Creator= !Creation\ date= !Modification\ date= !Keywords= !Document\ properties= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:55 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\GUI\MainGUI.java:217 File=\u0391\u03c1\u03c7\u03b5\u03af\u03bf # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\GUI\InfoGUI.java:150 Close=\u039a\u03bb\u03b5\u03af\u03c3\u03b9\u03bc\u03bf # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:99 Copy=\u0391\u03bd\u03c4\u03b9\u03b3\u03c1\u03b1\u03c6\u03ae !Error\ creating\ properties\ panel.= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:542 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:462 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:526 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:320 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:410 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:530 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:408 Run=\u0395\u03ba\u03c4\u03ad\u03bb\u03b5\u03c3\u03b7 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:394 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:421 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:448 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:175 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:340 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:430 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:150 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:177 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:244 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:164 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:304 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:233 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:434 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:163 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:300 Browse=\u0391\u03bd\u03b1\u03b6\u03ae\u03c4\u03b7\u03c3\u03b7 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:264 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:257 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:260 Add=\u03a0\u03c1\u03bf\u03c3\u03b8\u03ae\u03ba\u03b7 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:326 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:338 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:341 #, fuzzy !Compress\ output\ file/files=\u039f\u03c1\u03b9\u03c3\u03bc\u03cc\u03c2 \u03b1\u03c1\u03c7\u03b5\u03af\u03bf\u03c5 \u03b5\u03be\u03cc\u03b4\u03bf\u03c5 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:452 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:315 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:434 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:249 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:279 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:438 Overwrite\ if\ already\ exists=\u0391\u03bd\u03c4\u03b9\u03ba\u03b1\u03c4\u03ac\u03c3\u03c4\u03b1\u03c3\u03b7 \u03b1\u03bd \u03ae\u03b4\u03b7 \u03c5\u03c0\u03ac\u03c1\u03c7\u03b5\u03b9 !Don't\ preserve\ file\ order\ (fast\ load)= # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:353 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:318 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:314 #, fuzzy !Output\ document\ pdf\ version\:=\u0395\u03c0\u03b9\u03bb\u03bf\u03b3\u03ad\u03c2 \u03b5\u03be\u03cc\u03b4\u03bf\u03c5\: !The\ cross\ reference\ table\ cantained\ some\ error\ and\ has\ been\ rebuilt= !The\ document\ has\ not\ been\ opened\ with\ the\ owner\ password.\ You\ must\ provide\ the\ owner\ password\ in\ order\ to\ manipulate\ the\ document= !An\ error\ occured\ while\ loading\ the\ document= # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:187 #, fuzzy !Same\ as\ input\ document=\u0394\u03b5\u03cd\u03c4\u03b5\u03c1\u03bf pdf \u03ba\u03b5\u03af\u03bc\u03b5\u03bd\u03bf\: # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:181 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:179 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:182 Path=\u0398\u03ad\u03c3\u03b7 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:182 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:180 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:183 Pages=\u03a3\u03b5\u03bb\u03af\u03b4\u03b5\u03c2 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:214 #, fuzzy !Password=\u039a\u03c9\u03b4\u03b9\u03ba\u03cc\u03c2 \u03c7\u03c1\u03ae\u03c3\u03c4\u03b7\: # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:118 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\GUI\InfoGUI.java:128 Version=\u0388\u03ba\u03b4\u03bf\u03c3\u03b7 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:183 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:181 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:184 Page\ Selection=\u0395\u03c0\u03b9\u03bb\u03bf\u03b3\u03ae \u03c3\u03b5\u03bb\u03af\u03b4\u03c9\u03bd !Total\ pages\ of\ the\ document= !Password\ to\ open\ the\ document\ (if\ needed)= # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:184 #, fuzzy !Pdf\ version\ of\ the\ document=\u03a0\u03c1\u03ce\u03c4\u03bf pdf \u03ba\u03b5\u03af\u03bc\u03b5\u03bd\u03bf\: !Double\ click\ to\ set\ pages\ you\ want\ to\ merge\ (ex\:\ 2\ or\ 5-23\ or\ 2,5-7,12-)= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:232 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:225 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:228 Add\ a\ pdf\ to\ the\ list=\u03a0\u03c1\u03bf\u03c3\u03b8\u03ae\u03ba\u03b7 pdf \u03b1\u03c1\u03c7\u03b5\u03af\u03bf\u03c5 \u03c3\u03c4\u03b7 \u03bb\u03af\u03c3\u03c4\u03b1 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:269 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:262 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:265 Remove\ a\ pdf\ from\ the\ list=\u0391\u03c0\u03bf\u03bc\u03ac\u03ba\u03c1\u03c5\u03bd\u03c3\u03b7 pdf \u03b1\u03c1\u03c7\u03b5\u03af\u03bf\u03c5 \u03b1\u03c0\u03cc \u03c4\u03b7 \u03bb\u03af\u03c3\u03c4\u03b1 !(Canc)= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:273 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:317 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:266 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:311 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:269 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:314 Remove=\u0391\u03c0\u03bf\u03bc\u03ac\u03ba\u03c1\u03c5\u03bd\u03c3\u03b7 !Reload= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:338 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:350 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:353 #, fuzzy !Error\:\ Unable\ to\ reload\ the\ selected\ file/s.=\u03a3\u03c6\u03ac\u03bb\u03bc\u03b1\: \u0394\u03b5\u03bd \u03b2\u03c1\u03ad\u03b8\u03b7\u03ba\u03b5 \u03b7 \u03b8\u03ad\u03c3\u03b7 \u03c4\u03bf\u03c5 \u03b1\u03c1\u03c7\u03b5\u03af\u03bf\u03c5 !Unable\ to\ remove\ JList\ text\ = # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:596 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:646 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:585 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:635 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:596 File\ selected\:\ =\u0395\u03c0\u03b9\u03bb\u03b5\u03b3\u03bc\u03ad\u03bd\u03bf \u03b1\u03c1\u03c7\u03b5\u03af\u03bf\: # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:596 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:646 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:585 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:635 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:596 #, fuzzy !File\ reloaded\:\ =\u0395\u03c0\u03b9\u03bb\u03b5\u03b3\u03bc\u03ad\u03bd\u03bf \u03b1\u03c1\u03c7\u03b5\u03af\u03bf\: # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:273 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:320 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:276 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:323 Move\ Up=\u039c\u03b5\u03c4\u03b1\u03ba\u03af\u03bd\u03b7\u03c3\u03b7 \u03c0\u03c1\u03bf\u03c2 \u03c4\u03b1 \u03c0\u03ac\u03bd\u03c9 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:274 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:277 Move\ up\ selected\ pdf\ file=\u039c\u03b5\u03c4\u03b1\u03ba\u03af\u03bd\u03b7\u03c3\u03b7 \u03c4\u03bf\u03c5 \u03b5\u03c0\u03b9\u03bb\u03b5\u03b3\u03bc\u03ad\u03bd\u03bf\u03c5 \u03b1\u03c1\u03c7\u03b5\u03af\u03bf\u03c5 pdf \u03c0\u03c1\u03bf\u03c2 \u03c4\u03b1 \u03c0\u03ac\u03bd\u03c9 !(Alt+ArrowUp)= # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:282 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:329 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:285 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:332 Move\ Down=\u039c\u03b5\u03c4\u03b1\u03ba\u03af\u03bd\u03b7\u03c3\u03b7 \u03c0\u03c1\u03bf\u03c2 \u03c4\u03b1 \u03ba\u03ac\u03c4\u03c9 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:283 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:286 Move\ down\ selected\ pdf\ file=\u039c\u03b5\u03c4\u03b1\u03ba\u03af\u03bd\u03b7\u03c3\u03b7 \u03c4\u03bf\u03c5 \u03b5\u03c0\u03b9\u03bb\u03b5\u03b3\u03bc\u03ad\u03bd\u03bf\u03c5 \u03b1\u03c1\u03c7\u03b5\u03af\u03bf\u03c5 pdf \u03c0\u03c1\u03bf\u03c2 \u03c4\u03b1 \u03ba\u03ac\u03c4\u03c9 !(Alt+ArrowDown)= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:284 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:294 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:105 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:297 Clear=\u039a\u03b1\u03b8\u03b1\u03c1\u03b9\u03c3\u03bc\u03cc\u03c2 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:295 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:298 Remove\ every\ pdf\ file\ from\ the\ merge\ list=\u0394\u03b9\u03b1\u03b3\u03c1\u03b1\u03c6\u03ae \u03cc\u03bb\u03c9\u03bd \u03c4\u03c9\u03bd \u03b1\u03c1\u03c7\u03b5\u03af\u03c9\u03bd pdf \u03b1\u03c0\u03cc \u03c4\u03b7 \u03bb\u03af\u03c3\u03c4\u03b1 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:326 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:338 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:341 Set\ output\ file=\u039f\u03c1\u03b9\u03c3\u03bc\u03cc\u03c2 \u03b1\u03c1\u03c7\u03b5\u03af\u03bf\u03c5 \u03b5\u03be\u03cc\u03b4\u03bf\u03c5 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:338 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:350 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:353 Error\:\ Unable\ to\ get\ the\ file\ path.=\u03a3\u03c6\u03ac\u03bb\u03bc\u03b1\: \u0394\u03b5\u03bd \u03b2\u03c1\u03ad\u03b8\u03b7\u03ba\u03b5 \u03b7 \u03b8\u03ad\u03c3\u03b7 \u03c4\u03bf\u03c5 \u03b1\u03c1\u03c7\u03b5\u03af\u03bf\u03c5 !Unable\ to\ get\ the\ default\ environment\ informations.= !Setting\ look\ and\ feel...= !Setting\ logging\ level...= !Unable\ to\ find\ log\ level,\ setting\ to\ default\ level\ (DEBUG).= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:143 #, fuzzy !Logging\ level\ set\ to\ =\u0395\u03c0\u03af\u03c0\u03b5\u03b4\u03bf \u03ba\u03b1\u03c4\u03b1\u03b3\u03c1\u03b1\u03c6\u03ae\u03c2\: !Unable\ to\ set\ logging\ level.= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:458 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:345 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:309 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:305 #, fuzzy !Error\ getting\ plugins\ directory.=\u03a6\u03ac\u03ba\u03b5\u03bb\u03bf\u03c2 \u03c0\u03c1\u03bf\u03bf\u03c1\u03b9\u03c3\u03bc\u03bf\u03cd \u03b5\u03be\u03cc\u03b4\u03bf\u03c5 !Cannot\ read\ plugins\ directory\ = !Plugins\ directory\ is\ null.= !Found\ zero\ or\ many\ jars\ in\ plugin\ directory\ = !Exception\ loading\ plugins.= !Cannot\ read\ plugin\ directory\ = !\ plugin\ loaded.= !Unable\ to\ load\ a\ plugin\ that\ is\ not\ JPanel\ subclass.= !Error\ loading\ class\ = # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:112 Select\ all=\u0395\u03c0\u03b9\u03bb\u03bf\u03b3\u03ae \u03cc\u03bb\u03c9\u03bd !Save\ log= !Save\ environment= !Load\ environment= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:125 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:70 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\GUI\MainGUI.java:237 Exit=\u0388\u03be\u03bf\u03b4\u03bf\u03c2 !Unable\ to\ initialize\ menu\ bar.= !started\ in\ = !Loading\ plugins..= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:167 Building\ menus..=\u0394\u03b7\u03bc\u03b9\u03bf\u03c5\u03c1\u03b3\u03af\u03b1 \u03bc\u03b5\u03bd\u03bf\u03cd... !Building\ buttons\ bar..= !Building\ status\ bar..= !Building\ tree..= !Loading\ default\ environment.= !Error\ starting\ pdfsam.= !Clear\ log= !Unable\ to\ initialize\ button\ bar.= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 Version\:\ =\u0388\u03ba\u03b4\u03bf\u03c3\u03b7\: # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\GUI\InfoGUI.java:118 Language\:\ =\u0393\u03bb\u03ce\u03c3\u03c3\u03b1\: !Developed\ by\:\ = !Build\ date\:\ = !Java\ home\:\ = # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 #, fuzzy !Java\ version\:\ =\u0388\u03ba\u03b4\u03bf\u03c3\u03b7\: !Max\ memory\:\ = !Configuration\ file\:\ = !Website\:\ = # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:118 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\GUI\InfoGUI.java:128 Name='\u038c\u03bd\u03bf\u03bc\u03b1 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\GUI\MainGUI.java:222 About=\u03a3\u03c7\u03b5\u03c4\u03b9\u03ba\u03ac !Unimplemented\ method\ for\ JInfoPanel= !Contributes\:\ = # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:128 Log\ level\:=\u0395\u03c0\u03af\u03c0\u03b5\u03b4\u03bf \u03ba\u03b1\u03c4\u03b1\u03b3\u03c1\u03b1\u03c6\u03ae\u03c2\: !Settings= !Look\ and\ feel\:= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:122 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\panels\JSettingsPanel.java:113 Theme\:=\u0398\u03ad\u03bc\u03b1\: # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:125 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\panels\JSettingsPanel.java:116 Language\:=\u0393\u03bb\u03ce\u03c3\u03c3\u03b1\: !Check\ for\ updates\:= !Load\ default\ environment\ at\ startup\:= !Default\ working\ directory\:= !Error\ getting\ default\ environment.= # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:396 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:399 #, fuzzy !Check\ now=\u0395\u03c0\u03b9\u03bb\u03b5\u03b3\u03bc\u03ad\u03bd\u03bf !Play\ alert\ sounds= !Settings\ = # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:224 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\panels\JSettingsPanel.java:182 Language=\u0393\u03bb\u03ce\u03c3\u03c3\u03b1 !Set\ your\ preferred\ language\ (restart\ needed)= !Look\ and\ feel= !Set\ your\ preferred\ look\ and\ feel\ and\ your\ preferred\ theme\ (restart\ needed)= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:226 Log\ level=\u0395\u03c0\u03af\u03c0\u03b5\u03b4\u03bf \u03ba\u03b1\u03c4\u03b1\u03b3\u03c1\u03b1\u03c6\u03ae\u03c2 !Set\ a\ log\ detail\ level\ (restart\ needed)= !Check\ for\ updates= !Set\ when\ new\ version\ availability\ should\ be\ checked\ (restart\ needed)= !Turn\ on\ or\ off\ alert\ sounds= !Default\ env.= !Select\ a\ previously\ saved\ env.\ file\ that\ will\ be\ automatically\ loaded\ at\ startup= !Default\ working\ directory= !Select\ a\ directory\ where\ documents\ will\ be\ saved\ and\ loaded\ by\ default= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:257 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:241 # F:\workspace_pdfsam_basic\pdfsam-main\it\pdfsam\panels\JSettingsPanel.java:190 Save=\u0391\u03c0\u03bf\u03b8\u03ae\u03ba\u03b5\u03c5\u03c3\u03b7 !Configuration\ saved.= !Unimplemented\ method\ for\ JSettingsPanel= !New\ version\ available\:\ = !Plugins= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:458 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:345 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:309 # F:\workspace_pdfsam_basic\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:305 #, fuzzy !Error\ getting\ pdf\ version\ description.=\u03a6\u03ac\u03ba\u03b5\u03bb\u03bf\u03c2 \u03c0\u03c1\u03bf\u03bf\u03c1\u03b9\u03c3\u03bc\u03bf\u03cd \u03b5\u03be\u03cc\u03b4\u03bf\u03c5 !Version\ 1.2\ (Acrobat\ 3)= !Version\ 1.3\ (Acrobat\ 4)= !Version\ 1.4\ (Acrobat\ 5)= !Version\ 1.5\ (Acrobat\ 6)= !Version\ 1.6\ (Acrobat\ 7)= !Version\ 1.7\ (Acrobat\ 8)= !Never= !pdfsam\ start\ up= !Output\ file\ location\ is\ not\ correct= !Would\ you\ like\ to\ change\ it\ to= !Output\ location\ error= !Selected\ output\ file\ already\ exists\ = !Would\ you\ like\ to\ overwrite\ it?= !Provided\ pages\ selection\ is\ not\ valid= !Limits\ must\ be\ a\ comma\ separated\ list\ of\ "page_number"\ or\ "page_number-page_number"= !Limits\ are\ not\ valid= !Checking\ for\ a\ new\ version\ available.= !Error\ checking\ for\ a\ new\ version\ available.= !Unable\ to\ get\ latest\ available\ version= !New\ version\ available.= !No\ new\ version\ available.= !Cut= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:181 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:179 # F:\workspace_pdfsam_basic\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:182 #, fuzzy !Paste=\u0398\u03ad\u03c3\u03b7 pdfsam-1.1.4/pdfsam-langpack-br1/src/java/org/pdfsam/i18n/resources/Messages_th.properties0000644000175000017500000012454711225342444031377 0ustar twernertwerner# Thai translation for pdfsam # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the pdfsam package. # FIRST AUTHOR , 2008. # !=Project-Id-Version\: pdfsam\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2009-07-09 12\:23+0200\nPO-Revision-Date\: 2009-04-06 21\:48+0000\nLast-Translator\: SojiratPrueprak \nLanguage-Team\: Thai \nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Launchpad-Export-Date\: 2009-05-29 14\:40+0000\nX-Generator\: Launchpad (build Unknown)\n Merge\ options=\u0e15\u0e31\u0e27\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e02\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e23\u0e27\u0e21 !PDF\ documents\ contain\ forms= Merge\ type=\u0e0a\u0e19\u0e34\u0e14\u0e02\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e23\u0e27\u0e21\u0e44\u0e1f\u0e25\u0e4c !Unchecked= !Use\ this\ merge\ type\ for\ standard\ pdf\ documents= !Checked= Use\ this\ merge\ type\ for\ pdf\ documents\ containing\ forms=\u0e43\u0e0a\u0e49\u0e0a\u0e19\u0e34\u0e14\u0e02\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e23\u0e27\u0e21\u0e44\u0e1f\u0e25\u0e4c\u0e19\u0e35\u0e49\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23 pfd \u0e17\u0e35\u0e48\u0e40\u0e1b\u0e47\u0e19\u0e41\u0e1a\u0e1a\u0e1f\u0e2d\u0e23\u0e4c\u0e21 Note=\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e22\u0e48\u0e2d Setting\ this\ option\ the\ documents\ will\ be\ completely\ loaded\ in\ memory=\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e15\u0e31\u0e27\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e19\u0e35\u0e49\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23\u0e08\u0e30\u0e16\u0e39\u0e01\u0e42\u0e2b\u0e25\u0e14\u0e40\u0e02\u0e49\u0e32\u0e2a\u0e39\u0e48\u0e2b\u0e19\u0e48\u0e27\u0e22\u0e04\u0e27\u0e32\u0e21\u0e08\u0e33\u0e42\u0e14\u0e22\u0e2a\u0e21\u0e1a\u0e39\u0e23\u0e13\u0e4c Destination\ output\ file=\u0e17\u0e35\u0e48\u0e40\u0e01\u0e47\u0e1a\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e17\u0e33\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e41\u0e25\u0e49\u0e27 Error\:\ =\u0e02\u0e49\u0e2d\u0e1c\u0e34\u0e14\u0e1e\u0e25\u0e32\u0e14\: Browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ file.=\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e2b\u0e23\u0e37\u0e2d\u0e1b\u0e49\u0e2d\u0e19\u0e17\u0e35\u0e48\u0e40\u0e01\u0e47\u0e1a\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e17\u0e33\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e41\u0e25\u0e49\u0e27 Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ file\ if\ it\ already\ exists.=\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e02\u0e49\u0e2d\u0e19\u0e35\u0e49\u0e2b\u0e32\u0e01\u0e04\u0e38\u0e13\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e43\u0e2b\u0e49\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e17\u0e33\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e41\u0e25\u0e49\u0e27\u0e40\u0e02\u0e35\u0e22\u0e19\u0e17\u0e31\u0e1a\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e21\u0e35\u0e2d\u0e22\u0e39\u0e48\u0e41\u0e25\u0e49\u0e27 Check\ the\ box\ if\ you\ want\ compressed\ output\ files.=\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e02\u0e49\u0e2d\u0e19\u0e35\u0e49\u0e2b\u0e32\u0e01\u0e04\u0e38\u0e13\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e43\u0e2b\u0e49\u0e17\u0e33\u0e01\u0e32\u0e23\u0e1a\u0e35\u0e1a\u0e2d\u0e31\u0e14\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e17\u0e33\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e41\u0e25\u0e49\u0e27 PDF\ version\ 1.5\ or\ above.=\u0e40\u0e27\u0e2d\u0e23\u0e4c\u0e0a\u0e31\u0e48\u0e19 1.5 \u0e2b\u0e23\u0e37\u0e2d\u0e43\u0e2b\u0e21\u0e48\u0e01\u0e27\u0e48\u0e32 Set\ the\ pdf\ version\ of\ the\ ouput\ document.=\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e40\u0e27\u0e2d\u0e23\u0e4c\u0e0a\u0e31\u0e48\u0e19\u0e02\u0e2d\u0e07\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e17\u0e33\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e41\u0e25\u0e49\u0e27 Please\ wait\ while\ all\ files\ are\ processed..=\u0e01\u0e23\u0e38\u0e13\u0e32\u0e23\u0e2d\u0e02\u0e13\u0e30\u0e01\u0e33\u0e25\u0e31\u0e07\u0e1b\u0e23\u0e30\u0e21\u0e27\u0e13\u0e1c\u0e25 Found\ a\ password\ for\ input\ file.=\u0e1e\u0e1a\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e23\u0e2b\u0e31\u0e2a\u0e1c\u0e48\u0e32\u0e19\u0e02\u0e2d\u0e07\u0e44\u0e1f\u0e25\u0e4c\u0e19\u0e33\u0e40\u0e02\u0e49\u0e32 Please\ select\ at\ least\ one\ pdf\ document.=\u0e42\u0e1b\u0e23\u0e14\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23 PDF \u0e2d\u0e22\u0e48\u0e32\u0e07\u0e19\u0e49\u0e2d\u0e22 1 \u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23 Warning=\u0e04\u0e33\u0e40\u0e15\u0e37\u0e2d\u0e19 Execute\ pdf\ merge=\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e07\u0e32\u0e19\u0e23\u0e27\u0e21 pdf Merge/Extract=\u0e23\u0e27\u0e21/\u0e41\u0e15\u0e01 Merge\ section\ loaded.=\u0e2b\u0e21\u0e27\u0e14\u0e01\u0e32\u0e23\u0e23\u0e27\u0e21\u0e44\u0e1f\u0e25\u0e4c\u0e16\u0e39\u0e01\u0e40\u0e23\u0e35\u0e22\u0e01\u0e43\u0e0a\u0e49\u0e41\u0e25\u0e49\u0e27 Export\ as\ xml=\u0e2a\u0e48\u0e07\u0e2d\u0e2d\u0e01\u0e40\u0e1b\u0e47\u0e19\u0e44\u0e1f\u0e25\u0e4c xml Unable\ to\ save\ xml\ file.=\u0e44\u0e21\u0e48\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e40\u0e1b\u0e47\u0e19\u0e44\u0e1f\u0e25\u0e4c xml \u0e44\u0e14\u0e49 Ok=\u0e15\u0e01\u0e25\u0e07 File\ xml\ saved.=\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e40\u0e1b\u0e47\u0e19\u0e44\u0e1f\u0e25\u0e4c xml \u0e41\u0e25\u0e49\u0e27 Error\ saving\ xml\ file,\ output\ file\ is\ null.=\u0e40\u0e01\u0e34\u0e14\u0e02\u0e49\u0e2d\u0e1c\u0e34\u0e14\u0e1e\u0e25\u0e32\u0e14\u0e43\u0e19\u0e02\u0e13\u0e30\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e40\u0e1b\u0e47\u0e19\u0e44\u0e1f\u0e25\u0e4c xml, \u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e2a\u0e48\u0e07\u0e2d\u0e2d\u0e01\u0e44\u0e21\u0e48\u0e21\u0e35\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25 Split\ options=\u0e15\u0e31\u0e27\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e01\u0e32\u0e23\u0e41\u0e22\u0e01\u0e44\u0e1f\u0e25\u0e4c Burst\ (split\ into\ single\ pages)=\u0e41\u0e15\u0e01 (\u0e41\u0e22\u0e01\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e2b\u0e19\u0e49\u0e32\u0e15\u0e48\u0e2d\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e44\u0e1f\u0e25\u0e4c) Split\ every\ "n"\ pages=\u0e41\u0e22\u0e01\u0e17\u0e38\u0e01\u0e46 " " \u0e2b\u0e19\u0e49\u0e32\u0e40\u0e1b\u0e47\u0e19\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e44\u0e1f\u0e25\u0e4c Split\ even\ pages=\u0e41\u0e22\u0e01\u0e17\u0e38\u0e01\u0e2a\u0e2d\u0e07\u0e2b\u0e19\u0e49\u0e32\u0e40\u0e1b\u0e47\u0e19\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e44\u0e1f\u0e25\u0e4c Split\ odd\ pages=\u0e41\u0e22\u0e01\u0e17\u0e38\u0e01\u0e2b\u0e19\u0e49\u0e32\u0e04\u0e35\u0e48\u0e40\u0e1b\u0e47\u0e19\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e44\u0e1f\u0e25\u0e4c Split\ after\ these\ pages=\u0e41\u0e22\u0e01\u0e44\u0e1f\u0e25\u0e4c\u0e16\u0e31\u0e14\u0e08\u0e32\u0e01\u0e2b\u0e19\u0e49\u0e32\u0e17\u0e35\u0e48 Split\ at\ this\ size=\u0e41\u0e22\u0e01\u0e44\u0e1f\u0e25\u0e4c\u0e15\u0e32\u0e21\u0e02\u0e19\u0e32\u0e14\u0e44\u0e1f\u0e25\u0e4c !Split\ by\ bookmarks\ level= Burst=\u0e41\u0e15\u0e01 Explode\ the\ pdf\ document\ into\ single\ pages=\u0e41\u0e15\u0e01\u0e44\u0e1f\u0e25\u0e4c pdf \u0e2b\u0e19\u0e36\u0e48\u0e07\u0e2b\u0e19\u0e49\u0e32\u0e15\u0e48\u0e2d\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e44\u0e1f\u0e25\u0e4c Split\ the\ document\ every\ "n"\ pages=\u0e41\u0e22\u0e01\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23\u0e17\u0e38\u0e01\u0e46 " " \u0e2b\u0e19\u0e49\u0e32\u0e40\u0e1b\u0e47\u0e19\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e44\u0e1f\u0e25\u0e4c Split\ the\ document\ every\ even\ page=\u0e41\u0e22\u0e01\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23\u0e17\u0e38\u0e01\u0e2a\u0e2d\u0e07\u0e2b\u0e19\u0e49\u0e32\u0e40\u0e1b\u0e47\u0e19\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e44\u0e1f\u0e25\u0e4c !Split\ the\ document\ every\ odd\ page= !Split\ the\ document\ after\ page\ numbers\ (num1-num2-num3..)= !Split\ the\ document\ in\ files\ of\ the\ given\ size\ (roughly)= !Split\ the\ document\ at\ pages\ referred\ by\ bookmarks\ of\ the\ given\ level= Destination\ folder=\u0e42\u0e1f\u0e25\u0e40\u0e14\u0e2d\u0e23\u0e4c\u0e40\u0e1b\u0e49\u0e32\u0e2b\u0e21\u0e32\u0e22 Same\ as\ source=\u0e17\u0e35\u0e48\u0e2d\u0e22\u0e39\u0e48\u0e40\u0e14\u0e35\u0e22\u0e27\u0e01\u0e31\u0e19\u0e01\u0e31\u0e1a\u0e44\u0e1f\u0e25\u0e4c\u0e19\u0e33\u0e40\u0e02\u0e49\u0e32 Choose\ a\ folder=\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e42\u0e1f\u0e25\u0e40\u0e14\u0e2d\u0e23\u0e4c Destination\ output\ directory=\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e01\u0e47\u0e1a\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e17\u0e33\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e41\u0e25\u0e49\u0e27 Use\ the\ same\ output\ folder\ as\ the\ input\ file\ or\ choose\ a\ folder.=\u0e43\u0e0a\u0e49\u0e17\u0e35\u0e48\u0e40\u0e01\u0e47\u0e1a\u0e40\u0e14\u0e35\u0e22\u0e27\u0e01\u0e31\u0e1a\u0e44\u0e1f\u0e25\u0e4c\u0e19\u0e33\u0e40\u0e02\u0e49\u0e32\u0e2b\u0e23\u0e37\u0e2d\u0e08\u0e30\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e17\u0e35\u0e48\u0e40\u0e01\u0e47\u0e1a\u0e40\u0e2d\u0e07 To\ choose\ a\ folder\ browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ directory.=\u0e17\u0e33\u0e01\u0e32\u0e23\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e17\u0e35\u0e48\u0e40\u0e01\u0e47\u0e1a\u0e2b\u0e23\u0e37\u0e2d\u0e17\u0e33\u0e01\u0e32\u0e23\u0e1b\u0e49\u0e2d\u0e19\u0e17\u0e35\u0e48\u0e40\u0e01\u0e47\u0e1a\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e17\u0e33\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e41\u0e25\u0e49\u0e27 Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ files\ if\ they\ already\ exist.=\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e02\u0e49\u0e2d\u0e19\u0e35\u0e49\u0e2b\u0e32\u0e01\u0e04\u0e38\u0e13\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e43\u0e2b\u0e49\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e17\u0e33\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e41\u0e25\u0e49\u0e27\u0e40\u0e02\u0e35\u0e22\u0e19\u0e17\u0e31\u0e1a\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e21\u0e35\u0e2d\u0e22\u0e39\u0e48\u0e41\u0e25\u0e49\u0e27 Output\ options=\u0e15\u0e31\u0e27\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e02\u0e2d\u0e07\u0e1c\u0e25\u0e25\u0e31\u0e1e\u0e18\u0e4c Output\ file\ names\ prefix\:=\u0e04\u0e33\u0e19\u0e33\u0e2b\u0e19\u0e49\u0e32\u0e0a\u0e37\u0e48\u0e2d\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e41\u0e22\u0e01 Output\ files\ prefix=\u0e04\u0e33\u0e19\u0e33\u0e2b\u0e19\u0e49\u0e32\u0e0a\u0e37\u0e48\u0e2d\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e41\u0e22\u0e01 !If\ it\ contains\ "[CURRENTPAGE]",\ "[TIMESTAMP]",\ "[FILENUMBER]"\ or\ "[BOOKMARK_NAME]"\ it\ performs\ variable\ substitution.= !Ex.\ prefix_[BASENAME]_[CURRENTPAGE]\ generates\ prefix_FileName_005.pdf.= If\ it\ doesn't\ contain\ "[CURRENTPAGE]",\ "[TIMESTAMP]"\ or\ "[FILENUMBER]"\ it\ generates\ oldstyle\ output\ file\ names.=\u0e16\u0e49\u0e32\u0e21\u0e31\u0e19\u0e44\u0e21\u0e48\u0e1b\u0e23\u0e30\u0e01\u0e2d\u0e1a\u0e14\u0e49\u0e27\u0e22 "[CURRENTPAGE]", "[TIMESTAMP]" \u0e2b\u0e23\u0e37\u0e2d "[FILENUMBER]" \u0e21\u0e31\u0e19\u0e08\u0e30\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e0a\u0e37\u0e48\u0e2d\u0e41\u0e1f\u0e49\u0e21\u0e1c\u0e25\u0e25\u0e31\u0e1e\u0e18\u0e4c\u0e43\u0e19\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a\u0e40\u0e14\u0e34\u0e21 !Available\ variables= Invalid\ split\ size=\u0e02\u0e19\u0e32\u0e14\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e41\u0e22\u0e01\u0e1c\u0e34\u0e14\u0e1e\u0e25\u0e32\u0e14 The\ lowest\ available\ pdf\ version\ is\ =pdf \u0e23\u0e38\u0e48\u0e19\u0e15\u0e48\u0e33\u0e2a\u0e38\u0e14\u0e17\u0e35\u0e48\u0e21\u0e35\u0e2d\u0e22\u0e39\u0e48\u0e04\u0e37\u0e2d You\ selected\ a\ lower\ output\ pdf\ version,\ continue\ anyway\ ?=\u0e04\u0e38\u0e13\u0e44\u0e14\u0e49\u0e40\u0e25\u0e37\u0e2d\u0e01 pdf \u0e23\u0e38\u0e48\u0e19\u0e15\u0e48\u0e33\u0e01\u0e27\u0e48\u0e32, \u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e17\u0e33\u0e15\u0e48\u0e2d\u0e2b\u0e23\u0e37\u0e2d\u0e44\u0e21\u0e48 Pdf\ version\ conflict=\u0e23\u0e38\u0e48\u0e19\u0e02\u0e2d\u0e07 pdf \u0e02\u0e31\u0e14\u0e41\u0e22\u0e49\u0e07\u0e01\u0e31\u0e19 Please\ select\ a\ pdf\ document.=\u0e42\u0e1b\u0e23\u0e14\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23 pdf Split\ selected\ file=\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e41\u0e22\u0e01\u0e41\u0e25\u0e49\u0e27 Split=\u0e41\u0e22\u0e01 Split\ section\ loaded.=\u0e2b\u0e21\u0e27\u0e14\u0e01\u0e32\u0e23\u0e41\u0e22\u0e01\u0e44\u0e1f\u0e25\u0e4c\u0e16\u0e39\u0e01\u0e40\u0e23\u0e35\u0e22\u0e01\u0e43\u0e0a\u0e49\u0e41\u0e25\u0e49\u0e27 Invalid\ unit\:\ =\u0e2b\u0e19\u0e48\u0e27\u0e22\u0e44\u0e21\u0e48\u0e16\u0e39\u0e01\u0e15\u0e49\u0e2d\u0e07 !Fill\ from\ document= !Getting\ bookmarks\ max\ depth= !Frontpage\ pdf\ file= !Addendum\ pdf\ file= Select\ at\ least\ one\ cover\ or\ one\ footer=\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e19\u0e49\u0e2d\u0e22\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e1b\u0e01\u0e2b\u0e23\u0e37\u0e2d\u0e2b\u0e19\u0e36\u0e48\u0e07\u0e17\u0e49\u0e32\u0e22\u0e01\u0e23\u0e30\u0e14\u0e32\u0e29 !Frontpage\ and\ Addendum= Cover\ And\ Footer\ section\ loaded.=\u0e2b\u0e21\u0e27\u0e14\u0e1b\u0e01\u0e41\u0e25\u0e30\u0e17\u0e49\u0e32\u0e22\u0e01\u0e23\u0e30\u0e14\u0e32\u0e29\u0e16\u0e39\u0e01\u0e40\u0e23\u0e35\u0e22\u0e01\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e41\u0e25\u0e49\u0e27 Encrypt\ options=\u0e15\u0e31\u0e27\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e01\u0e32\u0e23\u0e40\u0e02\u0e49\u0e32\u0e23\u0e2b\u0e31\u0e2a Owner\ password\:=\u0e23\u0e2b\u0e31\u0e2a\u0e1c\u0e48\u0e32\u0e19\u0e02\u0e2d\u0e07\u0e40\u0e08\u0e49\u0e32\u0e02\u0e2d\u0e07 Owner\ password\ (Max\ 32\ chars\ long)=\u0e23\u0e2b\u0e31\u0e2a\u0e1c\u0e48\u0e32\u0e19\u0e02\u0e2d\u0e07\u0e40\u0e08\u0e49\u0e32\u0e02\u0e2d\u0e07 (\u0e44\u0e14\u0e49\u0e21\u0e32\u0e01\u0e2a\u0e38\u0e14 32 \u0e15\u0e31\u0e27\u0e2d\u0e31\u0e01\u0e29\u0e23) User\ password\:=\u0e23\u0e2b\u0e31\u0e2a\u0e1c\u0e48\u0e32\u0e19\u0e1c\u0e39\u0e49\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 User\ password\ (Max\ 32\ chars\ long)=\u0e23\u0e2b\u0e31\u0e2a\u0e1c\u0e48\u0e32\u0e19\u0e1c\u0e39\u0e49\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 (\u0e44\u0e14\u0e49\u0e21\u0e32\u0e01\u0e2a\u0e38\u0e14 32 \u0e15\u0e31\u0e27\u0e2d\u0e31\u0e01\u0e29\u0e23) !Encryption\ algorithm\:= Allow\ all=\u0e2d\u0e19\u0e38\u0e0d\u0e32\u0e15\u0e34\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14 Print=\u0e1e\u0e34\u0e21\u0e1e\u0e4c Low\ quality\ print=\u0e01\u0e32\u0e23\u0e1e\u0e34\u0e21\u0e1e\u0e4c\u0e41\u0e1a\u0e1a\u0e04\u0e38\u0e13\u0e20\u0e32\u0e1e\u0e15\u0e48\u0e33 Copy\ or\ extract=\u0e04\u0e31\u0e14\u0e25\u0e2d\u0e07\u0e2b\u0e23\u0e37\u0e2d\u0e15\u0e31\u0e14\u0e17\u0e2d\u0e19 Modify=\u0e1b\u0e23\u0e31\u0e1a\u0e41\u0e01\u0e49 Add\ or\ modify\ text\ annotations=\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e2b\u0e23\u0e37\u0e2d\u0e1b\u0e23\u0e31\u0e1a\u0e41\u0e01\u0e49\u0e04\u0e33\u0e2d\u0e18\u0e34\u0e1a\u0e32\u0e22\u0e1b\u0e23\u0e30\u0e01\u0e2d\u0e1a Fill\ form\ fields=\u0e1b\u0e49\u0e2d\u0e19\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e43\u0e19\u0e0a\u0e48\u0e2d\u0e07\u0e02\u0e2d\u0e07\u0e41\u0e1a\u0e1a\u0e1f\u0e2d\u0e23\u0e4c\u0e21 !Extract\ for\ use\ by\ accessibility\ dev.= Manipulate\ pages\ and\ add\ bookmarks=\u0e1b\u0e23\u0e31\u0e1a\u0e2b\u0e19\u0e49\u0e32\u0e2b\u0e23\u0e37\u0e2d\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e17\u0e35\u0e48\u0e04\u0e31\u0e48\u0e19\u0e2b\u0e19\u0e49\u0e32 Check\ the\ box\ if\ you\ want\ compressed\ output\ files\ (Pdf\ version\ 1.5\ or\ higher).=\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e02\u0e49\u0e2d\u0e19\u0e35\u0e49\u0e2b\u0e32\u0e01\u0e04\u0e38\u0e13\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e43\u0e2b\u0e49\u0e17\u0e33\u0e01\u0e32\u0e23\u0e1a\u0e35\u0e1a\u0e2d\u0e31\u0e14\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e17\u0e33\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e41\u0e25\u0e49\u0e27 (pdf \u0e23\u0e38\u0e48\u0e19 1.5 \u0e2b\u0e23\u0e37\u0e2d\u0e43\u0e2b\u0e21\u0e48\u0e01\u0e27\u0e48\u0e32) If\ it\ contains\ "[TIMESTAMP]"\ it\ performs\ variable\ substitution.=\u0e16\u0e49\u0e32\u0e21\u0e31\u0e19\u0e1b\u0e23\u0e30\u0e01\u0e2d\u0e1a\u0e14\u0e49\u0e27\u0e22 "[TIMESTAMP]" \u0e21\u0e31\u0e19\u0e08\u0e30\u0e17\u0e33\u0e01\u0e32\u0e23\u0e41\u0e17\u0e19\u0e17\u0e35\u0e48\u0e15\u0e31\u0e27\u0e41\u0e1b\u0e23 !Ex.\ [BASENAME]_prefix_[TIMESTAMP]\ generates\ FileName_prefix_20070517_113423471.pdf.= If\ it\ doesn't\ contain\ "[TIMESTAMP]"\ it\ generates\ oldstyle\ output\ file\ names.=\u0e16\u0e49\u0e32\u0e21\u0e31\u0e19\u0e44\u0e21\u0e48\u0e1b\u0e23\u0e30\u0e01\u0e2d\u0e1a\u0e14\u0e49\u0e27\u0e22 "[TIMESTAMP]" \u0e21\u0e31\u0e19\u0e08\u0e30\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e41\u0e1f\u0e49\u0e21\u0e1c\u0e25\u0e25\u0e31\u0e1e\u0e18\u0e4c\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a\u0e40\u0e14\u0e34\u0e21 Available\ variables\:\ [TIMESTAMP],\ [BASENAME].=\u0e15\u0e31\u0e27\u0e41\u0e1b\u0e23\u0e17\u0e35\u0e48\u0e21\u0e35\u0e2d\u0e22\u0e39\u0e48\: [TIMESTAMP], [BASENAME] Encrypt\ selected\ files=\u0e40\u0e02\u0e49\u0e32\u0e23\u0e2b\u0e31\u0e2a\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e16\u0e39\u0e01\u0e40\u0e25\u0e37\u0e2d\u0e01 Encrypt=\u0e01\u0e32\u0e23\u0e40\u0e02\u0e49\u0e32\u0e23\u0e2b\u0e31\u0e2a Encrypt\ section\ loaded.=\u0e2b\u0e21\u0e27\u0e14\u0e40\u0e02\u0e49\u0e32\u0e23\u0e2b\u0e31\u0e2a\u0e16\u0e39\u0e01\u0e40\u0e40\u0e23\u0e35\u0e22\u0e01\u0e43\u0e0a\u0e49\u0e41\u0e25\u0e49\u0e27 Decrypt\ selected\ files=\u0e16\u0e2d\u0e14\u0e23\u0e2b\u0e31\u0e2a\u0e41\u0e1f\u0e49\u0e21\u0e17\u0e35\u0e48\u0e40\u0e25\u0e37\u0e2d\u0e01 Decrypt=\u0e16\u0e2d\u0e14\u0e23\u0e2b\u0e31\u0e2a !Decrypt\ section\ loaded.= !Mix\ options= !Reverse\ first\ document= !Reverse\ second\ document= !Number\ of\ pages\ to\ switch\ document= !Tick\ the\ boxes\ if\ you\ want\ to\ reverse\ the\ first\ or\ the\ second\ document\ (or\ both).= !Set\ the\ number\ of\ pages\ to\ switch\ from\ a\ document\ to\ the\ other\ one\ (default\ is\ 1).= Found\ a\ password\ for\ first\ file.=\u0e1e\u0e1a\u0e23\u0e2b\u0e31\u0e2a\u0e1c\u0e48\u0e32\u0e19\u0e02\u0e2d\u0e07\u0e44\u0e1f\u0e25\u0e4c\u0e41\u0e23\u0e01 Found\ a\ password\ for\ second\ file.=\u0e1e\u0e1a\u0e23\u0e2b\u0e31\u0e2a\u0e1c\u0e48\u0e32\u0e19\u0e02\u0e2d\u0e07\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e2a\u0e2d\u0e07 Please\ select\ two\ pdf\ documents.=\u0e01\u0e23\u0e38\u0e13\u0e32\u0e40\u0e25\u0e37\u0e2d\u0e01 pdf \u0e2a\u0e2d\u0e07\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23 Execute\ pdf\ alternate\ mix=\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e07\u0e32\u0e19 pdf alternate mix Alternate\ Mix=Alternate Mix AlternateMix\ section\ loaded.=\u0e42\u0e2b\u0e25\u0e14\u0e2b\u0e21\u0e27\u0e14 AlternateMix Unpack\ selected\ files=\u0e41\u0e22\u0e01\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e2d\u0e2d\u0e01 Unpack=\u0e41\u0e22\u0e01\u0e2d\u0e2d\u0e01 Unpack\ section\ loaded.=\u0e2b\u0e21\u0e27\u0e14\u0e41\u0e22\u0e01\u0e2d\u0e2d\u0e01\u0e16\u0e39\u0e01\u0e40\u0e23\u0e35\u0e22\u0e01\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e41\u0e25\u0e49\u0e27 !Set\ viewer\ options= Hide\ the\ menubar=\u0e0b\u0e48\u0e2d\u0e19\u0e41\u0e16\u0e1a\u0e40\u0e21\u0e19\u0e39\u0e48 Hide\ the\ toolbar=\u0e0b\u0e48\u0e2d\u0e19\u0e41\u0e16\u0e1a\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e21\u0e37\u0e2d !Hide\ user\ interface\ elements= Rezise\ the\ window\ to\ fit\ the\ page\ size=\u0e1b\u0e23\u0e31\u0e1a\u0e02\u0e19\u0e32\u0e14\u0e2b\u0e19\u0e49\u0e32\u0e15\u0e48\u0e32\u0e07\u0e43\u0e2b\u0e49\u0e1e\u0e2d\u0e14\u0e35\u0e01\u0e31\u0e1a\u0e02\u0e19\u0e32\u0e14\u0e2b\u0e19\u0e49\u0e32 Center\ of\ the\ screen=\u0e08\u0e31\u0e14\u0e40\u0e02\u0e49\u0e32\u0e01\u0e36\u0e48\u0e07\u0e01\u0e25\u0e32\u0e07\u0e08\u0e2d !Display\ document\ title\ as\ window\ title= !Pdf\ version\ required\:= !No\ page\ scaling\ in\ print\ dialog= !Viewer\ layout\:= !Viewer\ open\ mode\:= !Non\ fullscreen\ mode\:= !Direction\:= Set\ options=\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e15\u0e31\u0e27\u0e40\u0e25\u0e37\u0e2d\u0e01 !Set\ viewer\ options\ for\ selected\ files= Left\ to\ right=\u0e0b\u0e49\u0e32\u0e22\u0e44\u0e1b\u0e02\u0e27\u0e32 Right\ to\ left=\u0e02\u0e27\u0e32\u0e44\u0e1b\u0e0b\u0e49\u0e32\u0e22 None=\u0e44\u0e21\u0e48\u0e21\u0e35 Fullscreen=\u0e40\u0e15\u0e47\u0e21\u0e08\u0e2d !Attachments= !Optional\ content\ group\ panel= !Document\ outline= Thumbnail\ images=\u0e23\u0e39\u0e1b\u0e22\u0e48\u0e2d !One\ page\ at\ a\ time= Pages\ in\ one\ column=\u0e2b\u0e19\u0e49\u0e32\u0e43\u0e19 1 \u0e2a\u0e14\u0e21\u0e20\u0e4c Pages\ in\ two\ columns\ (odd\ on\ the\ left)=\u0e2b\u0e19\u0e49\u0e32\u0e43\u0e19 2 \u0e2a\u0e14\u0e21\u0e20\u0e4c (\u0e2b\u0e19\u0e49\u0e32\u0e04\u0e35\u0e48\u0e2d\u0e22\u0e39\u0e48\u0e0b\u0e49\u0e32\u0e22) Pages\ in\ two\ columns\ (odd\ on\ the\ right)=\u0e2b\u0e19\u0e49\u0e32\u0e43\u0e19 2 \u0e2a\u0e14\u0e21\u0e20\u0e4c (\u0e2b\u0e19\u0e49\u0e32\u0e04\u0e35\u0e48\u0e2d\u0e22\u0e39\u0e48\u0e02\u0e27\u0e32) !Two\ pages\ at\ a\ time\ (odd\ on\ the\ left)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ right)= !Viewer\ options= !Viewer\ options\ section\ loaded.= !Save\ passwords\ informations\ (they\ will\ be\ readable\ opening\ the\ output\ file)?= Confirm\ password\ saving=\u0e22\u0e36\u0e48\u0e19\u0e22\u0e31\u0e19\u0e01\u0e32\u0e23\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e23\u0e2b\u0e31\u0e2a\u0e1c\u0e48\u0e32\u0e19 Unknown\ action.=\u0e01\u0e32\u0e23\u0e14\u0e33\u0e40\u0e19\u0e34\u0e19\u0e01\u0e32\u0e23\u0e17\u0e35\u0e48\u0e44\u0e21\u0e48\u0e23\u0e39\u0e49\u0e08\u0e31\u0e01 !Log\ saved.= \ node\ environment\ loaded.=\ \u0e42\u0e2b\u0e25\u0e14\u0e42\u0e2b\u0e19\u0e14\u0e2a\u0e20\u0e32\u0e1e\u0e41\u0e27\u0e14\u0e25\u0e49\u0e2d\u0e21\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19 !Environment\ saved.= Error\ saving\ environment,\ output\ file\ is\ null.=\u0e40\u0e01\u0e34\u0e14\u0e04\u0e27\u0e32\u0e21\u0e1c\u0e34\u0e14\u0e1e\u0e25\u0e32\u0e14\u0e02\u0e13\u0e30\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e2a\u0e20\u0e32\u0e1e\u0e41\u0e27\u0e14\u0e25\u0e49\u0e2d\u0e21\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19, \u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e44\u0e21\u0e48\u0e21\u0e35\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25 Error\ saving\ environment.=\u0e40\u0e01\u0e34\u0e14\u0e04\u0e27\u0e32\u0e21\u0e1c\u0e34\u0e14\u0e1e\u0e25\u0e32\u0e14\u0e02\u0e13\u0e30\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e2a\u0e20\u0e32\u0e1e\u0e41\u0e27\u0e14\u0e25\u0e49\u0e2d\u0e21\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19 Environment\ loaded.=\u0e42\u0e2b\u0e25\u0e14\u0e2a\u0e20\u0e32\u0e1e\u0e41\u0e27\u0e14\u0e25\u0e49\u0e2d\u0e21\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19 Error\ loading\ environment.=\u0e40\u0e01\u0e34\u0e14\u0e04\u0e27\u0e32\u0e21\u0e1c\u0e34\u0e14\u0e1e\u0e25\u0e32\u0e14\u0e02\u0e13\u0e30\u0e42\u0e2b\u0e25\u0e14\u0e2a\u0e20\u0e32\u0e1e\u0e41\u0e27\u0e14\u0e25\u0e49\u0e2d\u0e21\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19 Error\ loading\ environment\ from\ input\ file.\ =\u0e40\u0e01\u0e34\u0e14\u0e04\u0e27\u0e32\u0e21\u0e1c\u0e34\u0e14\u0e1e\u0e25\u0e32\u0e14\u0e02\u0e13\u0e30\u0e42\u0e2b\u0e25\u0e14\u0e2a\u0e20\u0e32\u0e1e\u0e41\u0e27\u0e14\u0e25\u0e49\u0e2d\u0e21\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e08\u0e32\u0e01\u0e44\u0e1f\u0e25\u0e4c\u0e19\u0e33\u0e40\u0e02\u0e49\u0e32 Selection\ table\ is\ full,\ please\ remove\ some\ pdf\ document.=\u0e15\u0e32\u0e23\u0e32\u0e07\u0e17\u0e35\u0e48\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e40\u0e15\u0e47\u0e21 \u0e01\u0e23\u0e38\u0e13\u0e32\u0e25\u0e1a\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23 pdf \u0e1a\u0e32\u0e07\u0e2d\u0e31\u0e19\u0e2d\u0e2d\u0e01 Table\ full=\u0e15\u0e32\u0e23\u0e32\u0e07\u0e40\u0e15\u0e47\u0e21 Please\ wait\ while\ reading=\u0e01\u0e23\u0e38\u0e13\u0e32\u0e23\u0e2d\u0e02\u0e13\u0e30\u0e19\u0e35\u0e49\u0e01\u0e33\u0e25\u0e31\u0e07\u0e2d\u0e48\u0e32\u0e19\u0e2d\u0e22\u0e39\u0e48 Selected\ file\ is\ not\ a\ pdf\ document.=\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e44\u0e21\u0e48\u0e43\u0e0a\u0e48\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23 pdf Error\ loading\ =\u0e40\u0e01\u0e34\u0e14\u0e04\u0e27\u0e32\u0e21\u0e1c\u0e34\u0e14\u0e1e\u0e25\u0e32\u0e14\u0e02\u0e13\u0e30\u0e42\u0e2b\u0e25\u0e14 !Command\ validation\ returned\ an\ empty\ value.= Command\ executed.=\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e16\u0e39\u0e01\u0e40\u0e23\u0e35\u0e22\u0e01\u0e43\u0e0a\u0e49\u0e41\u0e25\u0e49\u0e27 File\ name=\u0e0a\u0e37\u0e48\u0e2d\u0e41\u0e1f\u0e49\u0e21 !Number\ of\ pages= !File\ size= !Pdf\ version= !Encryption= !Not\ encrypted= !Permissions= !Title= Author=\u0e1c\u0e39\u0e49\u0e40\u0e02\u0e35\u0e22\u0e19 !Subject= !Producer= !Creator= !Creation\ date= !Modification\ date= !Keywords= !Document\ properties= File=\u0e41\u0e1f\u0e49\u0e21 !Close= Copy=\u0e04\u0e31\u0e14\u0e25\u0e2d\u0e01 !Error\ creating\ properties\ panel.= Run=\u0e40\u0e23\u0e35\u0e22\u0e01\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19 Browse=\u0e40\u0e23\u0e35\u0e22\u0e01\u0e14\u0e39 Add=\u0e40\u0e1e\u0e34\u0e48\u0e21 Compress\ output\ file/files=\u0e1a\u0e35\u0e1a\u0e2d\u0e31\u0e14\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e17\u0e33\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e41\u0e25\u0e49\u0e27 Overwrite\ if\ already\ exists=\u0e40\u0e02\u0e35\u0e22\u0e19\u0e17\u0e31\u0e1a\u0e44\u0e1f\u0e25\u0e4c\u0e40\u0e14\u0e34\u0e21 Don't\ preserve\ file\ order\ (fast\ load)=\u0e44\u0e21\u0e48\u0e2a\u0e19\u0e43\u0e08\u0e01\u0e32\u0e23\u0e40\u0e23\u0e35\u0e22\u0e07\u0e44\u0e1f\u0e25\u0e4c (\u0e42\u0e2b\u0e25\u0e14\u0e41\u0e1a\u0e1a\u0e40\u0e23\u0e47\u0e27) Output\ document\ pdf\ version\:=\u0e23\u0e38\u0e48\u0e19 pdf \u0e02\u0e2d\u0e07\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23\u0e17\u0e35\u0e48\u0e17\u0e33\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e41\u0e25\u0e49\u0e27 !The\ cross\ reference\ table\ cantained\ some\ error\ and\ has\ been\ rebuilt= !The\ document\ has\ not\ been\ opened\ with\ the\ owner\ password.\ You\ must\ provide\ the\ owner\ password\ in\ order\ to\ manipulate\ the\ document= !An\ error\ occured\ while\ loading\ the\ document= Same\ as\ input\ document=\u0e17\u0e35\u0e48\u0e40\u0e14\u0e35\u0e22\u0e27\u0e01\u0e31\u0e1a\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23\u0e19\u0e33\u0e40\u0e02\u0e49\u0e32 Path=\u0e1e\u0e32\u0e18 Pages=\u0e2b\u0e19\u0e49\u0e32 Password=\u0e23\u0e2b\u0e31\u0e2a\u0e1c\u0e48\u0e32\u0e19 Version=\u0e23\u0e38\u0e48\u0e19 Page\ Selection=\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e2b\u0e19\u0e49\u0e32 Total\ pages\ of\ the\ document=\u0e08\u0e33\u0e19\u0e27\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e02\u0e2d\u0e07\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23 Password\ to\ open\ the\ document\ (if\ needed)=\u0e23\u0e2b\u0e31\u0e2a\u0e1c\u0e48\u0e32\u0e19\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e40\u0e1b\u0e47\u0e19\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23 (\u0e2b\u0e32\u0e01\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23) Pdf\ version\ of\ the\ document=\u0e23\u0e38\u0e48\u0e19 pdf \u0e02\u0e2d\u0e07\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23 !Double\ click\ to\ set\ pages\ you\ want\ to\ merge\ (ex\:\ 2\ or\ 5-23\ or\ 2,5-7,12-)= Add\ a\ pdf\ to\ the\ list=\u0e40\u0e1e\u0e34\u0e48\u0e21 pdf \u0e43\u0e19\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23 Remove\ a\ pdf\ from\ the\ list=\u0e25\u0e1a pdf \u0e08\u0e32\u0e01\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23 (Canc)=(Canc) Remove=\u0e25\u0e1a\u0e2d\u0e2d\u0e01 Reload=\u0e42\u0e2b\u0e25\u0e14\u0e0b\u0e49\u0e33 Error\:\ Unable\ to\ reload\ the\ selected\ file/s.=\u0e1c\u0e34\u0e14\u0e1e\u0e25\u0e32\u0e14\: \u0e44\u0e21\u0e48\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e17\u0e35\u0e48\u0e08\u0e30\u0e42\u0e2b\u0e25\u0e14\u0e0b\u0e49\u0e33\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e44\u0e14\u0e49 Unable\ to\ remove\ JList\ text\ =\u0e44\u0e21\u0e48\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e25\u0e1a JList text File\ selected\:\ =\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e16\u0e39\u0e01\u0e40\u0e25\u0e37\u0e2d\u0e01 File\ reloaded\:\ =\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e42\u0e2b\u0e25\u0e14\u0e0b\u0e49\u0e33 Move\ Up=\u0e40\u0e25\u0e37\u0e48\u0e2d\u0e19\u0e02\u0e36\u0e49\u0e19 Move\ up\ selected\ pdf\ file=\u0e40\u0e25\u0e37\u0e48\u0e2d\u0e19\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e02\u0e35\u0e49\u0e19 (Alt+ArrowUp)=(Alt+\u0e25\u0e39\u0e01\u0e28\u0e23\u0e02\u0e36\u0e49\u0e19) Move\ Down=\u0e40\u0e25\u0e37\u0e48\u0e2d\u0e19\u0e25\u0e07 Move\ down\ selected\ pdf\ file=\u0e40\u0e25\u0e37\u0e48\u0e2d\u0e19\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e25 (Alt+ArrowDown)=(Alt+\u0e25\u0e39\u0e01\u0e28\u0e23\u0e25\u0e07) Clear=\u0e25\u0e49\u0e32\u0e07 Remove\ every\ pdf\ file\ from\ the\ merge\ list=\u0e25\u0e1a\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23 pdf \u0e17\u0e38\u0e01\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e17\u0e35\u0e48\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e23\u0e27\u0e21 Set\ output\ file=\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e17\u0e33\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e41\u0e25\u0e49\u0e27 Error\:\ Unable\ to\ get\ the\ file\ path.=\u0e1c\u0e34\u0e14\u0e1e\u0e25\u0e32\u0e14\: \u0e44\u0e21\u0e48\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e2b\u0e32\u0e17\u0e35\u0e48\u0e2d\u0e22\u0e39\u0e48\u0e02\u0e2d\u0e07\u0e44\u0e1f\u0e25\u0e4c Unable\ to\ get\ the\ default\ environment\ informations.=\u0e44\u0e21\u0e48\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e40\u0e2d\u0e32\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e2a\u0e20\u0e32\u0e1e\u0e41\u0e27\u0e14\u0e25\u0e49\u0e2d\u0e21\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e41\u0e1a\u0e1a\u0e1b\u0e23\u0e34\u0e22\u0e32\u0e22 Setting\ look\ and\ feel...=\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e21\u0e38\u0e21\u0e21\u0e2d\u0e07\u0e41\u0e25\u0e30\u0e04\u0e27\u0e32\u0e21\u0e23\u0e39\u0e49\u0e2a\u0e36\u0e01... Setting\ logging\ level...=\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e23\u0e30\u0e14\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e1b\u0e39\u0e21... Unable\ to\ find\ log\ level,\ setting\ to\ default\ level\ (DEBUG).=\u0e44\u0e21\u0e48\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e2b\u0e32\u0e23\u0e30\u0e14\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e1b\u0e39\u0e21, \u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e23\u0e30\u0e14\u0e31\u0e1a\u0e40\u0e1b\u0e47\u0e19\u0e04\u0e48\u0e32\u0e1b\u0e23\u0e34\u0e22\u0e32\u0e22 (DEBUG) Logging\ level\ set\ to\ =\u0e23\u0e30\u0e14\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e1b\u0e39\u0e21\u0e15\u0e31\u0e49\u0e07\u0e40\u0e1b\u0e47\u0e19 Unable\ to\ set\ logging\ level.=\u0e44\u0e21\u0e48\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e15\u0e31\u0e49\u0e07\u0e23\u0e30\u0e14\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e1b\u0e39\u0e21 Error\ getting\ plugins\ directory.=\u0e40\u0e01\u0e34\u0e14\u0e04\u0e27\u0e32\u0e21\u0e1c\u0e34\u0e14\u0e1e\u0e25\u0e32\u0e14\u0e43\u0e19\u0e01\u0e32\u0e23\u0e2b\u0e32\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e01\u0e47\u0e1a\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e40\u0e2a\u0e23\u0e34\u0e21 Cannot\ read\ plugins\ directory\ =\u0e44\u0e21\u0e48\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e2d\u0e48\u0e32\u0e19\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e01\u0e47\u0e1a\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e40\u0e2a\u0e23\u0e34\u0e21 Plugins\ directory\ is\ null.=\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e01\u0e47\u0e1a\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e40\u0e2a\u0e23\u0e34\u0e21\u0e27\u0e48\u0e32\u0e07\u0e40\u0e1b\u0e25\u0e48\u0e32 Found\ zero\ or\ many\ jars\ in\ plugin\ directory\ =Found zero or many jars \u0e43\u0e19\u0e2b\u0e49\u0e2d\u0e07\u0e40\u0e01\u0e47\u0e1a\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e40\u0e2a\u0e23\u0e34\u0e21 Exception\ loading\ plugins.=\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e40\u0e2a\u0e23\u0e34\u0e21\u0e17\u0e35\u0e48\u0e44\u0e21\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e42\u0e2b\u0e25\u0e14 Cannot\ read\ plugin\ directory\ =\u0e44\u0e21\u0e48\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e2d\u0e48\u0e32\u0e19\u0e17\u0e35\u0e48\u0e40\u0e01\u0e47\u0e1a\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e40\u0e2a\u0e23\u0e34\u0e21 \ plugin\ loaded.=\ \u0e42\u0e2b\u0e25\u0e14\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e40\u0e2a\u0e23\u0e34\u0e21 Unable\ to\ load\ a\ plugin\ that\ is\ not\ JPanel\ subclass.=\u0e44\u0e21\u0e48\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e42\u0e2b\u0e25\u0e14\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e40\u0e2a\u0e23\u0e34\u0e21\u0e17\u0e35\u0e48\u0e44\u0e21\u0e48\u0e43\u0e0a\u0e48 JPanel subclass Error\ loading\ class\ =\u0e40\u0e01\u0e34\u0e14\u0e04\u0e27\u0e32\u0e21\u0e1c\u0e34\u0e14\u0e1e\u0e25\u0e32\u0e14\u0e43\u0e19\u0e01\u0e32\u0e23\u0e42\u0e2b\u0e25\u0e14\u0e04\u0e25\u0e32\u0e2a Select\ all=\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14 Save\ log=\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e1b\u0e39\u0e21 Save\ environment=\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e2a\u0e20\u0e32\u0e1e\u0e41\u0e27\u0e14\u0e25\u0e49\u0e2d\u0e21\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19 Load\ environment=\u0e42\u0e2b\u0e25\u0e14\u0e2a\u0e20\u0e32\u0e1e\u0e41\u0e27\u0e14\u0e25\u0e49\u0e2d\u0e21\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19 Exit=\u0e2d\u0e2d\u0e01 Unable\ to\ initialize\ menu\ bar.=\u0e44\u0e21\u0e48\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e40\u0e23\u0e34\u0e48\u0e21\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e02\u0e2d\u0e07\u0e41\u0e16\u0e1a\u0e40\u0e21\u0e19\u0e39 started\ in\ =\u0e40\u0e23\u0e34\u0e48\u0e21\u0e43\u0e19 Loading\ plugins..=\u0e42\u0e2b\u0e25\u0e14\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e40\u0e2a\u0e23\u0e34\u0e21... Building\ menus..=\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e40\u0e21\u0e19\u0e39... Building\ buttons\ bar..=\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e41\u0e16\u0e1a\u0e1b\u0e38\u0e48\u0e21... Building\ status\ bar..=\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e41\u0e16\u0e1a\u0e2a\u0e16\u0e32\u0e19\u0e30... Building\ tree..=\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e41\u0e16\u0e1a\u0e15\u0e49\u0e19\u0e44\u0e21\u0e49 Loading\ default\ environment.=\u0e42\u0e2b\u0e25\u0e14\u0e2a\u0e20\u0e32\u0e1e\u0e41\u0e27\u0e14\u0e25\u0e49\u0e2d\u0e21\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e41\u0e1a\u0e1a\u0e1b\u0e23\u0e34\u0e22\u0e32\u0e22 Error\ starting\ pdfsam.=\u0e40\u0e01\u0e34\u0e14\u0e02\u0e49\u0e2d\u0e1c\u0e34\u0e14\u0e1e\u0e25\u0e32\u0e14\u0e43\u0e19\u0e01\u0e32\u0e23\u0e40\u0e23\u0e34\u0e48\u0e21\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21 pdfsam Clear\ log=\u0e25\u0e1a\u0e1b\u0e39\u0e21 Unable\ to\ initialize\ button\ bar.=\u0e44\u0e21\u0e48\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e17\u0e35\u0e48\u0e08\u0e30\u0e40\u0e23\u0e34\u0e48\u0e21\u0e41\u0e16\u0e1a\u0e1b\u0e38\u0e48\u0e21 Version\:\ =\u0e23\u0e38\u0e48\u0e19\: Language\:\ =\u0e20\u0e32\u0e29\u0e32 !Developed\ by\:\ = Build\ date\:\ =\u0e27\u0e31\u0e19\u0e17\u0e35\u0e48\u0e2a\u0e23\u0e49\u0e32\u0e07 Java\ home\:\ =\u0e17\u0e35\u0e48\u0e2d\u0e22\u0e39\u0e48\u0e02\u0e2d\u0e07\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e08\u0e32\u0e27\u0e32 Java\ version\:\ =\u0e23\u0e38\u0e48\u0e19\u0e08\u0e32\u0e27\u0e32 Max\ memory\:\ =\u0e2b\u0e19\u0e48\u0e27\u0e22\u0e04\u0e27\u0e32\u0e21\u0e08\u0e33\u0e21\u0e32\u0e01\u0e2a\u0e38\u0e14\: Configuration\ file\:\ =\u0e44\u0e1f\u0e25\u0e4c\u0e02\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32 Website\:\ =\u0e40\u0e27\u0e47\u0e1a\u0e44\u0e0b\u0e15\u0e4c Name=\u0e0a\u0e37\u0e48\u0e2d About=\u0e40\u0e01\u0e35\u0e48\u0e22\u0e27\u0e01\u0e31\u0e1a !Unimplemented\ method\ for\ JInfoPanel= Contributes\:\ =\u0e43\u0e2b\u0e49\u0e04\u0e27\u0e32\u0e21\u0e0a\u0e48\u0e27\u0e22\u0e40\u0e2b\u0e25\u0e37\u0e2d Log\ level\:=\u0e23\u0e30\u0e14\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\: Settings=\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32 Look\ and\ feel\:=\u0e21\u0e38\u0e21\u0e21\u0e2d\u0e07\u0e41\u0e25\u0e30\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a\: Theme\:=\u0e18\u0e35\u0e21\: Language\:=\u0e20\u0e32\u0e29\u0e32\: Check\ for\ updates\:=\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e2d\u0e31\u0e1e\u0e40\u0e14\u0e15\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21 Load\ default\ environment\ at\ startup\:=\u0e42\u0e2b\u0e25\u0e14\u0e2a\u0e20\u0e32\u0e1e\u0e41\u0e27\u0e14\u0e25\u0e49\u0e2d\u0e21\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e1b\u0e23\u0e34\u0e22\u0e32\u0e22\u0e15\u0e2d\u0e19\u0e40\u0e23\u0e34\u0e48\u0e21\u0e43\u0e0a\u0e49 Default\ working\ directory\:=\u0e2b\u0e49\u0e2d\u0e07\u0e17\u0e33\u0e07\u0e32\u0e19\u0e1b\u0e23\u0e34\u0e22\u0e32\u0e22 Error\ getting\ default\ environment.=\u0e40\u0e01\u0e34\u0e14\u0e02\u0e49\u0e2d\u0e1c\u0e34\u0e14\u0e1e\u0e25\u0e32\u0e14\u0e43\u0e19\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e2a\u0e20\u0e32\u0e1e\u0e41\u0e27\u0e14\u0e25\u0e49\u0e2d\u0e21\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e41\u0e1a\u0e1a\u0e1b\u0e23\u0e34\u0e22\u0e32\u0e22 Check\ now=\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e17\u0e31\u0e19\u0e17\u0e35 Play\ alert\ sounds=\u0e40\u0e25\u0e48\u0e19\u0e40\u0e2a\u0e35\u0e22\u0e07\u0e40\u0e15\u0e37\u0e2d\u0e19 Settings\ =\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32 Language=\u0e20\u0e32\u0e29\u0e32 Set\ your\ preferred\ language\ (restart\ needed)=\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e20\u0e32\u0e29\u0e32\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23 (\u0e15\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e01\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e43\u0e2b\u0e21\u0e48) Look\ and\ feel=\u0e21\u0e38\u0e21\u0e21\u0e2d\u0e07\u0e41\u0e25\u0e30\u0e04\u0e27\u0e32\u0e21\u0e23\u0e39\u0e49\u0e2a\u0e36\u0e01 Set\ your\ preferred\ look\ and\ feel\ and\ your\ preferred\ theme\ (restart\ needed)=\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e21\u0e38\u0e21\u0e21\u0e2d\u0e07\u0e41\u0e25\u0e30\u0e04\u0e27\u0e32\u0e21\u0e23\u0e39\u0e49\u0e2a\u0e36\u0e01\u0e41\u0e25\u0e30\u0e0a\u0e38\u0e14\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a\u0e17\u0e35\u0e48\u0e0a\u0e2d\u0e1a (\u0e15\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e01\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e43\u0e2b\u0e21\u0e48) Log\ level=\u0e23\u0e30\u0e14\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01 Set\ a\ log\ detail\ level\ (restart\ needed)=\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e23\u0e30\u0e14\u0e31\u0e1a\u0e01\u0e32\u0e23\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e1b\u0e39\u0e21 (\u0e15\u0e49\u0e2d\u0e07\u0e40\u0e23\u0e35\u0e22\u0e01\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e43\u0e2b\u0e21\u0e48) Check\ for\ updates=\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e2d\u0e31\u0e1e\u0e40\u0e14\u0e17 !Set\ when\ new\ version\ availability\ should\ be\ checked\ (restart\ needed)= Turn\ on\ or\ off\ alert\ sounds=\u0e40\u0e1b\u0e34\u0e14\u0e2b\u0e23\u0e37\u0e2d\u0e1b\u0e34\u0e14\u0e40\u0e2a\u0e35\u0e22\u0e07\u0e40\u0e15\u0e37\u0e2d\u0e19 Default\ env.=\u0e04\u0e48\u0e32\u0e1b\u0e23\u0e34\u0e22\u0e32\u0e22\u0e02\u0e2d\u0e07\u0e2a\u0e20\u0e32\u0e1e\u0e41\u0e27\u0e14\u0e25\u0e49\u0e2d\u0e21\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19 Select\ a\ previously\ saved\ env.\ file\ that\ will\ be\ automatically\ loaded\ at\ startup=\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e42\u0e2b\u0e25\u0e14\u0e2a\u0e20\u0e32\u0e1e\u0e41\u0e27\u0e14\u0e25\u0e49\u0e2d\u0e21\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19\u0e17\u0e35\u0e48\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e44\u0e27\u0e49\u0e04\u0e23\u0e31\u0e49\u0e07\u0e01\u0e48\u0e2d\u0e19 \u0e0b\u0e36\u0e48\u0e07\u0e08\u0e30\u0e16\u0e39\u0e01\u0e40\u0e23\u0e35\u0e22\u0e01\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e15\u0e2d\u0e19\u0e40\u0e23\u0e34\u0e48\u0e21\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21 Default\ working\ directory=\u0e04\u0e48\u0e32\u0e1b\u0e23\u0e34\u0e22\u0e32\u0e22\u0e02\u0e2d\u0e07\u0e2b\u0e49\u0e2d\u0e07\u0e17\u0e35\u0e48\u0e17\u0e33\u0e07\u0e32\u0e19 Select\ a\ directory\ where\ documents\ will\ be\ saved\ and\ loaded\ by\ default=\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e17\u0e35\u0e48\u0e40\u0e01\u0e47\u0e1a\u0e1b\u0e23\u0e34\u0e22\u0e32\u0e22\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e40\u0e2d\u0e32\u0e44\u0e27\u0e49\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e41\u0e25\u0e30\u0e42\u0e2b\u0e25\u0e14\u0e44\u0e1f\u0e25\u0e4c Save=\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01 Configuration\ saved.=\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e41\u0e25\u0e49\u0e27 !Unimplemented\ method\ for\ JSettingsPanel= New\ version\ available\:\ =\u0e21\u0e35\u0e23\u0e38\u0e48\u0e19\u0e43\u0e2b\u0e21\u0e48\u0e41\u0e25\u0e49\u0e27 Plugins=\u0e1b\u0e25\u0e31\u0e4a\u0e01\u0e2d\u0e34\u0e19 Error\ getting\ pdf\ version\ description.=\u0e40\u0e01\u0e34\u0e14\u0e02\u0e49\u0e2d\u0e1c\u0e34\u0e14\u0e1e\u0e25\u0e32\u0e14\u0e43\u0e19\u0e01\u0e32\u0e23\u0e40\u0e23\u0e35\u0e22\u0e01\u0e14\u0e39\u0e23\u0e32\u0e22\u0e25\u0e30\u0e40\u0e2d\u0e35\u0e22\u0e14\u0e02\u0e2d\u0e07\u0e23\u0e38\u0e48\u0e19 pdf Version\ 1.2\ (Acrobat\ 3)=\u0e23\u0e38\u0e48\u0e19 1.2 (Acrobat 3) Version\ 1.3\ (Acrobat\ 4)=\u0e23\u0e38\u0e48\u0e19 1.3 (Acrobat 4) Version\ 1.4\ (Acrobat\ 5)=\u0e23\u0e38\u0e48\u0e19 1.4 (Acrobat 5) Version\ 1.5\ (Acrobat\ 6)=\u0e23\u0e38\u0e48\u0e19 1.5 (Acrobat 6) Version\ 1.6\ (Acrobat\ 7)=\u0e23\u0e38\u0e48\u0e19 1.6 (Acrobat 7) Version\ 1.7\ (Acrobat\ 8)=\u0e23\u0e38\u0e48\u0e19 1.7 (Acrobat 8) Never=\u0e44\u0e21\u0e48\u0e21\u0e35\u0e17\u0e32\u0e07 pdfsam\ start\ up=\u0e40\u0e23\u0e34\u0e48\u0e21\u0e01\u0e32\u0e23\u0e17\u0e33\u0e07\u0e32\u0e19 pdfsam Output\ file\ location\ is\ not\ correct=\u0e17\u0e35\u0e48\u0e40\u0e01\u0e47\u0e1a\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e17\u0e33\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e41\u0e25\u0e49\u0e27\u0e44\u0e21\u0e48\u0e16\u0e39\u0e01\u0e15\u0e49\u0e2d\u0e07 Would\ you\ like\ to\ change\ it\ to=\u0e04\u0e38\u0e13\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e17\u0e35\u0e48\u0e08\u0e30\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e21\u0e31\u0e19\u0e40\u0e1b\u0e47\u0e19 Output\ location\ error=\u0e17\u0e35\u0e48\u0e40\u0e01\u0e47\u0e1a\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e41\u0e25\u0e49\u0e27\u0e44\u0e21\u0e48\u0e16\u0e39\u0e01\u0e15\u0e49\u0e2d\u0e07 Selected\ output\ file\ already\ exists\ =\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25\u0e17\u0e35\u0e48\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e21\u0e35\u0e2d\u0e22\u0e39\u0e48\u0e41\u0e25\u0e49\u0e27 !Would\ you\ like\ to\ overwrite\ it?= !Provided\ pages\ selection\ is\ not\ valid= !Limits\ must\ be\ a\ comma\ separated\ list\ of\ "page_number"\ or\ "page_number-page_number"= !Limits\ are\ not\ valid= Checking\ for\ a\ new\ version\ available.=\u0e01\u0e33\u0e25\u0e31\u0e07\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e23\u0e38\u0e48\u0e19\u0e43\u0e2b\u0e21\u0e48\u0e2d\u0e22\u0e39\u0e48 Error\ checking\ for\ a\ new\ version\ available.=\u0e40\u0e01\u0e34\u0e14\u0e04\u0e27\u0e32\u0e21\u0e1c\u0e34\u0e14\u0e1e\u0e25\u0e32\u0e14\u0e02\u0e13\u0e30\u0e01\u0e33\u0e25\u0e31\u0e07\u0e15\u0e23\u0e27\u0e08\u0e2a\u0e2d\u0e1a\u0e23\u0e38\u0e48\u0e19\u0e43\u0e2b\u0e21\u0e48 Unable\ to\ get\ latest\ available\ version=\u0e44\u0e21\u0e48\u0e2a\u0e32\u0e21\u0e32\u0e23\u0e16\u0e44\u0e14\u0e49\u0e23\u0e38\u0e48\u0e19\u0e25\u0e48\u0e32\u0e2a\u0e38\u0e14 New\ version\ available.=\u0e21\u0e35\u0e23\u0e38\u0e48\u0e19\u0e43\u0e2b\u0e21\u0e48\u0e41\u0e25\u0e49\u0e27 No\ new\ version\ available.=\u0e22\u0e31\u0e07\u0e44\u0e21\u0e48\u0e21\u0e35\u0e23\u0e38\u0e48\u0e19\u0e43\u0e2b\u0e21\u0e48 Cut=\u0e15\u0e31\u0e14 Paste=\u0e27\u0e32\u0e07 pdfsam-1.1.4/pdfsam-langpack-br1/src/java/org/pdfsam/i18n/resources/Messages_pl.properties0000644000175000017500000003750411225342444031373 0ustar twernertwerner# Polish translation for pdfsam # Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 # This file is distributed under the same license as the pdfsam package. # FIRST AUTHOR , 2007. # !=Project-Id-Version\: pdfsam\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2009-07-09 12\:23+0200\nPO-Revision-Date\: 2009-01-29 14\:26+0000\nLast-Translator\: TKr \nLanguage-Team\: Polish \nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Launchpad-Export-Date\: 2009-03-23 17\:32+0000\nX-Generator\: Launchpad (build Unknown)\n !Merge\ options= PDF\ documents\ contain\ forms=Dokumenty PDF zawieraj\u0105 formy Merge\ type=Typ \u0142\u0105czenia Unchecked=Odznaczone Use\ this\ merge\ type\ for\ standard\ pdf\ documents=U\u017cyj tego typu \u0142\u0105czenia dla standardowych dokument\u00f3w pdf Checked=Zaznaczone Use\ this\ merge\ type\ for\ pdf\ documents\ containing\ forms=U\u017cyj tego typu \u0142\u0105czenia dla dokument\u00f3w pdf zawiaraj\u0105cych formy Note=Notacja Setting\ this\ option\ the\ documents\ will\ be\ completely\ loaded\ in\ memory=Po ustawieniu tej opcji dokumenty b\u0119d\u0105 ca\u0142kowicie \u0142adowane do pami\u0119ci Destination\ output\ file=Docelowy plik wyj\u015bciowy Error\:\ =B\u0142\u0105d\: Browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ file.=Przegl\u0105daj lub wpisz pe\u0142n\u0105 \u015bcie\u017ck\u0119 docelowego pliku wyj\u015bciowego. Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ file\ if\ it\ already\ exists.=Zaznacz to pole je\u015bli chcesz nadpisa\u0107 plik docelowy je\u015bli ju\u017c istnieje. Check\ the\ box\ if\ you\ want\ compressed\ output\ files.=Zaznacz to pole je\u015bli chcesz skompresowac plik wyj\u015bciowy. PDF\ version\ 1.5\ or\ above.=Wersja PDF 1.5 lub wy\u017csza Set\ the\ pdf\ version\ of\ the\ ouput\ document.=Ustal wersj\u0119 pdf dla dokumentu wyj\u015bciowego Please\ wait\ while\ all\ files\ are\ processed..=Czekaj, przetwarzanie wszystkich plik\u00f3w w toku Found\ a\ password\ for\ input\ file.=Odnaleziono has\u0142o dla pliku wej\u015bciowego !Please\ select\ at\ least\ one\ pdf\ document.= Warning=Ostrze\u017cenie Execute\ pdf\ merge=\u0141\u0105cz pliki PDF !Merge/Extract= Merge\ section\ loaded.=Wyczytano sekcj\u0119 \u0142\u0105czenia.l Export\ as\ xml=Ekspotuj jako xml Unable\ to\ save\ xml\ file.=Zapisanie pliku xml by\u0142o niemo\u017cliwe. Ok=Ok File\ xml\ saved.=Plik xml zosta\u0142 zapisany. Error\ saving\ xml\ file,\ output\ file\ is\ null.=B\u0142\u0105d podczas zapisywania pliku xml, nie znaleziono pliku docelowego. Split\ options=Opcje dzielenia Burst\ (split\ into\ single\ pages)=Rozdziel (podziel na pojedyncze strony) Split\ every\ "n"\ pages=Podziel plik co ka\u017cde "n" stron Split\ even\ pages=Podziel strony parzyste Split\ odd\ pages=Podziel strony nieparzyste Split\ after\ these\ pages=Podziel po tych stronach !Split\ at\ this\ size= !Split\ by\ bookmarks\ level= Burst=Najlepsza Explode\ the\ pdf\ document\ into\ single\ pages=Podziel dokument pdf na pojedyncze strony Split\ the\ document\ every\ "n"\ pages=Podziel dokument co ka\u017cde "n" stron Split\ the\ document\ every\ even\ page=Podziej dokument co ka\u017cd\u0105 stron\u0119 parzyst\u0105 Split\ the\ document\ every\ odd\ page=Podziej dokument co ka\u017cd\u0105 stron\u0119 nieparzyst\u0105 Split\ the\ document\ after\ page\ numbers\ (num1-num2-num3..)=Podiel dokument po stronach nr (nr1-nr2-nr3..) !Split\ the\ document\ in\ files\ of\ the\ given\ size\ (roughly)= !Split\ the\ document\ at\ pages\ referred\ by\ bookmarks\ of\ the\ given\ level= Destination\ folder=Folder docelowy Same\ as\ source=Identyczny ze \u017ar\u00f3d\u0142owym Choose\ a\ folder=Wybierz katalog Destination\ output\ directory=Docelowy katalog wyj\u015bciowy Use\ the\ same\ output\ folder\ as\ the\ input\ file\ or\ choose\ a\ folder.=U\u017cyj tego samego folderu co plik wej\u015bciowy lub wybierz folder. To\ choose\ a\ folder\ browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ directory.=\u017beby wybra\u0107 katalog przegl\u0105daj albo wchod\u017a pe\u0142n\u0105 \u015bcie\u017ck\u0119 do przeznaczenia katalogu wyj\u015bciowego. Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ files\ if\ they\ already\ exist.=Sprawd\u017a skrzynke je\u017celi chcesz \u017ceby przepisywa\u0107 fajl wyj\u015bciowy je\u017celi on ju\u017c istnieje. !Output\ options= Output\ file\ names\ prefix\:=Przedrostek nazw plik\u00f3w wyj\u015bciwych\: Output\ files\ prefix=Prefiks plik\u00f3w wyj\u015bciowych !If\ it\ contains\ "[CURRENTPAGE]",\ "[TIMESTAMP]",\ "[FILENUMBER]"\ or\ "[BOOKMARK_NAME]"\ it\ performs\ variable\ substitution.= Ex.\ prefix_[BASENAME]_[CURRENTPAGE]\ generates\ prefix_FileName_005.pdf.=Np. prefiks_[BASENAME]_[CURRENTPAGE] generuje prefiks_NazwaPliku_005.pdf !If\ it\ doesn't\ contain\ "[CURRENTPAGE]",\ "[TIMESTAMP]"\ or\ "[FILENUMBER]"\ it\ generates\ oldstyle\ output\ file\ names.= !Available\ variables= !Invalid\ split\ size= The\ lowest\ available\ pdf\ version\ is\ =Najmniejsza dost\u0119pna wersja pdf to !You\ selected\ a\ lower\ output\ pdf\ version,\ continue\ anyway\ ?= Pdf\ version\ conflict=Konfilkt wersji pdf Please\ select\ a\ pdf\ document.=Wybierz dokument pdf Split\ selected\ file=Podziel wybrany plik Split=Podziel Split\ section\ loaded.=Wczytano sekcj\u0119 dzielenia. Invalid\ unit\:\ =Nieprawid\u0142owa jednostka\: !Fill\ from\ document= !Getting\ bookmarks\ max\ depth= !Frontpage\ pdf\ file= !Addendum\ pdf\ file= !Select\ at\ least\ one\ cover\ or\ one\ footer= !Frontpage\ and\ Addendum= !Cover\ And\ Footer\ section\ loaded.= Encrypt\ options=Opcje szyfrowania Owner\ password\:=Wybierz plik PDF do szyfrowania Owner\ password\ (Max\ 32\ chars\ long)=Has\u0142o w\u0142asciciela User\ password\:=Has\u0142o u\u017cytkownika\: User\ password\ (Max\ 32\ chars\ long)=Has\u0142o u\u017cytkownika (Maksimalnie 32 charaktery d\u0142ugo\u015bci) Encryption\ algorithm\:=Algorytm szyfrowania Allow\ all=Zezw\u00f3l wszystkim Print=Drukowanie Low\ quality\ print=Wydruk w niskiej jako\u015bci Copy\ or\ extract=Kopiuj lub wyodr\u0119bnij Modify=Modyfikuj Add\ or\ modify\ text\ annotations=Dodaj lub modyfikuj adnotacje Fill\ form\ fields=Wype\u0142nij pola formularza !Extract\ for\ use\ by\ accessibility\ dev.= Manipulate\ pages\ and\ add\ bookmarks=Manipulowanie stronami i dodawanie zak\u0142adek !Check\ the\ box\ if\ you\ want\ compressed\ output\ files\ (Pdf\ version\ 1.5\ or\ higher).= If\ it\ contains\ "[TIMESTAMP]"\ it\ performs\ variable\ substitution.=Je\u017celi zawiera "[*TIMESTAMP*]" to wype\u0142nia zmienne zast\u0119powanie. Ex.\ [BASENAME]_prefix_[TIMESTAMP]\ generates\ FileName_prefix_20070517_113423471.pdf.=Np. [BASENAME]_prefix_[TIMESTAMP] generuje FileName_prefix_20070517_113423471.pdf. If\ it\ doesn't\ contain\ "[TIMESTAMP]"\ it\ generates\ oldstyle\ output\ file\ names.=Je\u017celi nie zawiera "[*TIMESTAMP*]" to generuje stary typ nazw plik\u00f3w wzj\u015bciowych. Available\ variables\:\ [TIMESTAMP],\ [BASENAME].=Dost\u0119pne zmienne\: [TIMESTAMP], [BASENAME]. Encrypt\ selected\ files=Szyfruj zaznaczone pliki Encrypt=Szyfrowanie Encrypt\ section\ loaded.=Rozdzia\u0142 szyfrowany za\u0142adowany. !Decrypt\ selected\ files= Decrypt=Odszyfrowanie !Decrypt\ section\ loaded.= !Mix\ options= !Reverse\ first\ document= !Reverse\ second\ document= !Number\ of\ pages\ to\ switch\ document= !Tick\ the\ boxes\ if\ you\ want\ to\ reverse\ the\ first\ or\ the\ second\ document\ (or\ both).= !Set\ the\ number\ of\ pages\ to\ switch\ from\ a\ document\ to\ the\ other\ one\ (default\ is\ 1).= Found\ a\ password\ for\ first\ file.=Odnaleziono has\u0142o dla pierwszego pliku Found\ a\ password\ for\ second\ file.=Odnaleziono has\u0142o dla drugiego pliku !Please\ select\ two\ pdf\ documents.= !Execute\ pdf\ alternate\ mix= !Alternate\ Mix= !AlternateMix\ section\ loaded.= Unpack\ selected\ files=Rozpakuj wybrane pliki Unpack=Rozpakuj !Unpack\ section\ loaded.= !Set\ viewer\ options= !Hide\ the\ menubar= Hide\ the\ toolbar=Ukryj pasek narz\u0119dzi !Hide\ user\ interface\ elements= !Rezise\ the\ window\ to\ fit\ the\ page\ size= !Center\ of\ the\ screen= !Display\ document\ title\ as\ window\ title= Pdf\ version\ required\:=Wymagana wersja pdf\: !No\ page\ scaling\ in\ print\ dialog= !Viewer\ layout\:= !Viewer\ open\ mode\:= !Non\ fullscreen\ mode\:= Direction\:=Kierunek\: !Set\ options= !Set\ viewer\ options\ for\ selected\ files= Left\ to\ right=Od lewej do prawej Right\ to\ left=Od prawej do lewej None=Brak Fullscreen=Pe\u0142ny ekran Attachments=Za\u0142\u0105czniki !Optional\ content\ group\ panel= !Document\ outline= Thumbnail\ images=Miniaturki zdj\u0119\u0107 !One\ page\ at\ a\ time= !Pages\ in\ one\ column= !Pages\ in\ two\ columns\ (odd\ on\ the\ left)= !Pages\ in\ two\ columns\ (odd\ on\ the\ right)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ left)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ right)= !Viewer\ options= !Viewer\ options\ section\ loaded.= !Save\ passwords\ informations\ (they\ will\ be\ readable\ opening\ the\ output\ file)?= !Confirm\ password\ saving= Unknown\ action.=Nieznana akcja. Log\ saved.=Log zapisany. !\ node\ environment\ loaded.= !Environment\ saved.= !Error\ saving\ environment,\ output\ file\ is\ null.= !Error\ saving\ environment.= !Environment\ loaded.= !Error\ loading\ environment.= !Error\ loading\ environment\ from\ input\ file.\ = !Selection\ table\ is\ full,\ please\ remove\ some\ pdf\ document.= !Table\ full= !Please\ wait\ while\ reading= Selected\ file\ is\ not\ a\ pdf\ document.=Wybrany plik nie jest dokumentem pdf !Error\ loading\ = !Command\ validation\ returned\ an\ empty\ value.= Command\ executed.=Polecenie wykonane. File\ name=Nazwa pliku !Number\ of\ pages= !File\ size= !Pdf\ version= !Encryption= !Not\ encrypted= !Permissions= !Title= Author=Autor !Subject= !Producer= !Creator= !Creation\ date= !Modification\ date= !Keywords= !Document\ properties= File=Plik Close=Blisko Copy=Kopiuj !Error\ creating\ properties\ panel.= Run=Wykonaj Browse=Przegl\u0105daj Add=Dodanie !Compress\ output\ file/files= Overwrite\ if\ already\ exists=Nadpisz je\u015bli istnieje !Don't\ preserve\ file\ order\ (fast\ load)= !Output\ document\ pdf\ version\:= !The\ cross\ reference\ table\ cantained\ some\ error\ and\ has\ been\ rebuilt= !The\ document\ has\ not\ been\ opened\ with\ the\ owner\ password.\ You\ must\ provide\ the\ owner\ password\ in\ order\ to\ manipulate\ the\ document= !An\ error\ occured\ while\ loading\ the\ document= !Same\ as\ input\ document= Path=\u015acie\u017cka Pages=Strony Password=Has\u0142o Version=Wersja Page\ Selection=Wyb\u00f3r strony Total\ pages\ of\ the\ document=\u0141\u0105czna liczba stron dokumentu !Password\ to\ open\ the\ document\ (if\ needed)= !Pdf\ version\ of\ the\ document= !Double\ click\ to\ set\ pages\ you\ want\ to\ merge\ (ex\:\ 2\ or\ 5-23\ or\ 2,5-7,12-)= Add\ a\ pdf\ to\ the\ list=Dodaj plik PDF do listy Remove\ a\ pdf\ from\ the\ list=Usu\u0144 plik PDF z listy !(Canc)= Remove=Usu\u0144 Reload=Za\u0142aduj ponownie !Error\:\ Unable\ to\ reload\ the\ selected\ file/s.= !Unable\ to\ remove\ JList\ text\ = File\ selected\:\ =Wybrano plik\: !File\ reloaded\:\ = Move\ Up=Przenie\u015b do g\u00f3ry Move\ up\ selected\ pdf\ file=Przesu\u0144 wybrany plik PDF do g\u00f3ry (Alt+ArrowUp)=Alt+Strza\u0142ka w g\u00f3r\u0119 Move\ Down=Przesu\u0144 ni\u017cej Move\ down\ selected\ pdf\ file=Przesu\u0144 wybrany plik PDF w d\u00f3\u0142 (Alt+ArrowDown)=Alt+Strza\u0142ka w d\u00f3\u0142 Clear=Wyszy\u015b\u0107 Remove\ every\ pdf\ file\ from\ the\ merge\ list=Usu\u0144 wszystkie pliki PDF z listy Set\ output\ file=Ustaw plik wyj\u015bciowy Error\:\ Unable\ to\ get\ the\ file\ path.=B\u0142\u0105d\: Nie mo\u017cna odczyta\u0107 \u015bcie\u017cki pliku !Unable\ to\ get\ the\ default\ environment\ informations.= !Setting\ look\ and\ feel...= !Setting\ logging\ level...= !Unable\ to\ find\ log\ level,\ setting\ to\ default\ level\ (DEBUG).= !Logging\ level\ set\ to\ = !Unable\ to\ set\ logging\ level.= !Error\ getting\ plugins\ directory.= !Cannot\ read\ plugins\ directory\ = !Plugins\ directory\ is\ null.= !Found\ zero\ or\ many\ jars\ in\ plugin\ directory\ = !Exception\ loading\ plugins.= !Cannot\ read\ plugin\ directory\ = !\ plugin\ loaded.= !Unable\ to\ load\ a\ plugin\ that\ is\ not\ JPanel\ subclass.= !Error\ loading\ class\ = Select\ all=Wybierz wszystkie Save\ log=Zapisz log Save\ environment=Zapisz \u015brodowisko Load\ environment=Wczytaj \u015brodowisko Exit=Wyjscie !Unable\ to\ initialize\ menu\ bar.= !started\ in\ = Loading\ plugins..=Wczytywanie wtyczek.. Building\ menus..=Tworzenie menu... Building\ buttons\ bar..=Tworzenie paska przycisk\u00f3w.. Building\ status\ bar..=Tworzenie paska stanu.. Building\ tree..=Tworzenie drzewa... !Loading\ default\ environment.= !Error\ starting\ pdfsam.= Clear\ log=Wyczy\u015b\u0107 rejestr !Unable\ to\ initialize\ button\ bar.= Version\:\ =Wersja\: Language\:\ =J\u0119zyk\: !Developed\ by\:\ = Build\ date\:\ =Data kompilacji !Java\ home\:\ = !Java\ version\:\ = !Max\ memory\:\ = Configuration\ file\:\ =Plik konfiguracyjny\: Website\:\ =Strona WWW\: Name=Naywa About=O nas !Unimplemented\ method\ for\ JInfoPanel= !Contributes\:\ = Log\ level\:=Poziom pliku log\: Settings=Ustawienia Look\ and\ feel\:=Wygl\u0105d i uczucia\: Theme\:=Wystr\u00f3j\: Language\:=J\u0119zyk\: !Check\ for\ updates\:= Load\ default\ environment\ at\ startup\:=Wczytaj domy\u015blne \u015brodowisko przy stracie\: !Default\ working\ directory\:= !Error\ getting\ default\ environment.= Check\ now=Sprawd\u017a teraz !Play\ alert\ sounds= Settings\ =Ustawienia Language=J\u0119zyk Set\ your\ preferred\ language\ (restart\ needed)=Ustaw preferowany j\u0119zyk (wymagany restart) Look\ and\ feel=Wygl\u0105d i uczucia Set\ your\ preferred\ look\ and\ feel\ and\ your\ preferred\ theme\ (restart\ needed)=Ustaw preferowany wygl\u0105d i uczucia oraz preferowany motyw (wymagany restart) Log\ level=Poziom logu Set\ a\ log\ detail\ level\ (restart\ needed)=Ustaw poziom szczeg\u00f3\u0142owo\u015bci logu (wymagany restart) Check\ for\ updates=Sprawd\u017a dost\u0119pno\u015b\u0107 aktualizacji !Set\ when\ new\ version\ availability\ should\ be\ checked\ (restart\ needed)= !Turn\ on\ or\ off\ alert\ sounds= Default\ env.=Domy\u015blne \u015brod. !Select\ a\ previously\ saved\ env.\ file\ that\ will\ be\ automatically\ loaded\ at\ startup= !Default\ working\ directory= !Select\ a\ directory\ where\ documents\ will\ be\ saved\ and\ loaded\ by\ default= Save=Zapisz dokument Configuration\ saved.=Konfiguracja zapisana. !Unimplemented\ method\ for\ JSettingsPanel= New\ version\ available\:\ =Dost\u0119pna jest nowa wersja\: Plugins=Wtyczki !Error\ getting\ pdf\ version\ description.= Version\ 1.2\ (Acrobat\ 3)=Wersja 1.2 (Acrobat 3) Version\ 1.3\ (Acrobat\ 4)=Wersja 1.3 (Acrobat 4) Version\ 1.4\ (Acrobat\ 5)=Wersja 1.4 (Acrobat 5) Version\ 1.5\ (Acrobat\ 6)=Wersja 1.5 (Acrobat 6) Version\ 1.6\ (Acrobat\ 7)=Wersja 1.6 (Acrobat 7) Version\ 1.7\ (Acrobat\ 8)=Wersja 1.7 (Acrobat 8) Never=Nigdy !pdfsam\ start\ up= !Output\ file\ location\ is\ not\ correct= !Would\ you\ like\ to\ change\ it\ to= !Output\ location\ error= !Selected\ output\ file\ already\ exists\ = !Would\ you\ like\ to\ overwrite\ it?= !Provided\ pages\ selection\ is\ not\ valid= !Limits\ must\ be\ a\ comma\ separated\ list\ of\ "page_number"\ or\ "page_number-page_number"= !Limits\ are\ not\ valid= !Checking\ for\ a\ new\ version\ available.= !Error\ checking\ for\ a\ new\ version\ available.= !Unable\ to\ get\ latest\ available\ version= New\ version\ available.=Dst\u0119pna aktualizacja. No\ new\ version\ available.=Brak dost\u0119pnych aktualizacji. Cut=Wytnij Paste=Wklej pdfsam-1.1.4/pdfsam-langpack-br1/src/java/org/pdfsam/i18n/resources/Messages_hu.properties0000644000175000017500000016050611225342444031373 0ustar twernertwerner# Hungarian translation for pdfsam # Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 # This file is distributed under the same license as the pdfsam package. # FIRST AUTHOR , 2007. # !=Project-Id-Version\: pdfsam\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2009-07-09 12\:23+0200\nPO-Revision-Date\: 2008-03-24 16\:12+0000\nLast-Translator\: Srancsik \nLanguage-Team\: Hungarian \nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Launchpad-Export-Date\: 2008-06-21 08\:12+0000\nX-Generator\: Launchpad (build Unknown)\n # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:386 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:389 #, fuzzy !Merge\ options=Egyes\u00edt\u00e9si be\u00e1ll\u00edt\u00e1sok # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:389 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:392 PDF\ documents\ contain\ forms=A PDF dokumentumok tartalmaznak \u0171rlapot # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:394 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:397 Merge\ type=Egyes\u00edt\u00e9si t\u00edpus # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:395 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:398 Unchecked=Kijel\u00f6letlen # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:395 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:398 Use\ this\ merge\ type\ for\ standard\ pdf\ documents=Haszn\u00e1lja ezt az egyes\u00edt\u00e9si t\u00edpust a hagyom\u00e1nyos pdf dokumentumokhoz # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:396 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:399 Checked=Kijel\u00f6lve # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:396 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:399 Use\ this\ merge\ type\ for\ pdf\ documents\ containing\ forms=Haszn\u0171\u00e9ka ezt az egyes\u00edt\u00e9si t\u00edpust az \u0171rlapokat tartalmaz\u00f3 pdf dokumentumokhoz # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:397 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:400 Note=Jegyzet # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:397 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:400 Setting\ this\ option\ the\ documents\ will\ be\ completely\ loaded\ in\ memory=Ezt a lehet\u0151s\u00e9get kiv\u00e1lasztva a dokumentum teljesen a mem\u00f3ri\u00e1ba fog t\u00f6lt\u0151dni # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:440 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:255 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:444 Destination\ output\ file=Kimeneti f\u00e1jl helye\: # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:387 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:414 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:441 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:599 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:619 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:649 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:879 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:983 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:616 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:423 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:588 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:608 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:638 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:861 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:977 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:143 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:170 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:237 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:498 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:539 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:256 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:427 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:599 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:907 Error\:\ =Hiba\: # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:441 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:256 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:445 Browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ file.=Tall\u00f3zzon, vagy \u00edrja be a kimeneti f\u00e1jl el\u00e9r\u00e9s\u00e9nek a hely\u00e9t # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:442 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:257 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:446 Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ file\ if\ it\ already\ exists.=Jel\u00f6lje ki ezt a dobozt, amennyiben fel\u00fcl akarja \u00edrni a m\u00e1r l\u00e9tez\u0151 f\u00e1jlt # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:442 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:257 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:446 #, fuzzy !Check\ the\ box\ if\ you\ want\ compressed\ output\ files.=Jel\u00f6lje ki ezt a dobozt, amennyiben fel\u00fcl akarja \u00edrni a m\u00e1r l\u00e9tez\u0151 f\u00e1jlt !PDF\ version\ 1.5\ or\ above.= !Set\ the\ pdf\ version\ of\ the\ ouput\ document.= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:469 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:408 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:451 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:509 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:511 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:350 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:455 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:514 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:516 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:346 Please\ wait\ while\ all\ files\ are\ processed..=K\u00e9rem v\u00e1rjon, am\u00edg minden f\u00e1jl feldolgoz\u00e1sra ker\u00fcl !Found\ a\ password\ for\ input\ file.= # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:187 #, fuzzy !Please\ select\ at\ least\ one\ pdf\ document.=M\u00e1sodik pdf dokumentum !Warning= # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:524 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:528 Execute\ pdf\ merge=A pdf egyes\u00edt\u00e9s v\u00e9grehajt\u00e1sas !Merge/Extract= # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:858 Merge\ section\ loaded.=A megnyitott r\u00e9szek egyes\u00edt\u00e9se !Export\ as\ xml= !Unable\ to\ save\ xml\ file.= !Ok= !File\ xml\ saved.= !Error\ saving\ xml\ file,\ output\ file\ is\ null.= # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:220 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:220 Split\ options=Sz\u00e9tv\u00e1laszt\u00e1si lehet\u0151s\u00e9gek # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:195 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:194 Burst\ (split\ into\ single\ pages)=Sz\u00e9tszak\u00edt\u00e1s (sz\u00e9tv\u00e1laszt\u00e1s oldalank\u00e9nt) # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:198 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:222 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:197 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:222 Split\ every\ "n"\ pages=Minden "n"-dik oldal sz\u00e9tv\u00e1laszt\u00e1sa # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:206 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:223 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:205 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:223 Split\ even\ pages=P\u00e1ros oldalak sz\u00e9tv\u00e1laszt\u00e1sa # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:209 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:224 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:208 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:224 Split\ odd\ pages=P\u00e1ratlan oldalak sz\u00e9tv\u00e1laszt\u00e1sa # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:212 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:225 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:211 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:225 Split\ after\ these\ pages=Sz\u00e9tv\u00e1laszt\u00e1s ezek az oldalak ut\u00e1n # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:212 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:225 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:211 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:225 #, fuzzy !Split\ at\ this\ size=Sz\u00e9tv\u00e1laszt\u00e1s ezek az oldalak ut\u00e1n !Split\ by\ bookmarks\ level= # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:221 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:221 Burst=Sz\u00e9trobban\u00e1s # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:221 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:221 Explode\ the\ pdf\ document\ into\ single\ pages=A pdf dokumentum sz\u00e9tv\u00e1laszt\u00e1sa oldalank\u00e9nt # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:222 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:222 Split\ the\ document\ every\ "n"\ pages=A dokumentum sz\u00e9tv\u00e1laszt\u00e1sa minden "n"-dik oldaln\u00e1l # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:223 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:223 Split\ the\ document\ every\ even\ page=A dokumentum sz\u00e9tv\u00e1laszt\u00e1sa p\u00e1ros oldalank\u00e9nt # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:224 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:224 Split\ the\ document\ every\ odd\ page=A dokumentum sz\u00e9tv\u00e1laszt\u00e1sa p\u00e1ratlan oldalank\u00e9nt # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:225 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:225 Split\ the\ document\ after\ page\ numbers\ (num1-num2-num3..)=A dokumentum sz\u00e9tv\u00e1laszt\u00e1sa a k\u00f6vetkez\u0151 oldalsz\u00e1mokn\u00e1l (1. sz\u00e1m- 2. sz\u00e1m - 3. sz\u00e1m...) # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:223 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:223 #, fuzzy !Split\ the\ document\ in\ files\ of\ the\ given\ size\ (roughly)=A dokumentum sz\u00e9tv\u00e1laszt\u00e1sa p\u00e1ros oldalank\u00e9nt # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:223 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:223 #, fuzzy !Split\ the\ document\ at\ pages\ referred\ by\ bookmarks\ of\ the\ given\ level=A dokumentum sz\u00e9tv\u00e1laszt\u00e1sa p\u00e1ros oldalank\u00e9nt # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:294 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:253 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:253 #, fuzzy !Destination\ folder=Kimeneti k\u00f6nyvt\u00e1r # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:297 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:256 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:256 Same\ as\ source=Ugyanaz, mint a forr\u00e1s # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:301 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:260 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:260 Choose\ a\ folder=K\u00f6nyvt\u00e1r v\u00e1laszt\u00e1sa # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:458 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:345 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:309 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:305 Destination\ output\ directory=Kimeneti k\u00f6nyvt\u00e1r # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:346 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:310 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:306 Use\ the\ same\ output\ folder\ as\ the\ input\ file\ or\ choose\ a\ folder.=Haszn\u00e1lja a kimeneti mappak\u00e9nt ugyanazt a foldert mint amiben a bemeneti f\u00e1jl van, vagy v\u00e1lasszon k\u00f6nyvt\u00e1rat # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:347 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:311 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:307 To\ choose\ a\ folder\ browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ directory.=A mappa kiv\u00e1laszt\u00e1s\u00e1hoz tall\u00f3zzon, vagy \u00edrja be a teljes el\u00e9r\u00e9si \u00fatvonalat, ahov\u00e1 a kimeneti f\u00e1jlokat menteni szeretn\u00e9 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:460 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:348 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:312 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:308 Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ files\ if\ they\ already\ exist.=Jel\u00f6lje meg a nyom\u00f3gombot, amennyiben fel\u00fcl akarja \u00edrni a m\u00e1r l\u00e9tez\u0151 f\u00e1jlokat # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:353 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:318 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:314 #, fuzzy !Output\ options=Kimeneti lehet\u0151s\u00e9gek # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:384 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:326 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:322 Output\ file\ names\ prefix\:=El\u0151tag a kimeneti f\u00e1jlok nev\u00e9ben\: # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:394 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:336 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:331 Output\ files\ prefix=El\u0151tag a kimeneti f\u00e1jlok nev\u00e9ben\: !If\ it\ contains\ "[CURRENTPAGE]",\ "[TIMESTAMP]",\ "[FILENUMBER]"\ or\ "[BOOKMARK_NAME]"\ it\ performs\ variable\ substitution.= # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:338 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:333 Ex.\ prefix_[BASENAME]_[CURRENTPAGE]\ generates\ prefix_FileName_005.pdf.=P\u00e9ld\u00e1ul\: El\u0151tag_alapn\u00e9v_jelenlegi oldal a k\u00f6vetkez\u0151t hozza l\u00e9tre\: el\u0151tag_f\u00e1jl neve_005.pdf # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:339 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:334 #, fuzzy !If\ it\ doesn't\ contain\ "[CURRENTPAGE]",\ "[TIMESTAMP]"\ or\ "[FILENUMBER]"\ it\ generates\ oldstyle\ output\ file\ names.=Ha nem tartalmazza a [Jelenlegi odlal] "[Id\u0151b\u00e9lyeg]"-t akkor hagyom\u00e1nyos f\u00e1jlneveket k\u00e9sz\u00edt !Available\ variables= !Invalid\ split\ size= !The\ lowest\ available\ pdf\ version\ is\ = !You\ selected\ a\ lower\ output\ pdf\ version,\ continue\ anyway\ ?= # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:191 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:195 #, fuzzy !Pdf\ version\ conflict=Ford\u00edtsa meg ezt a dokumentumot # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:187 #, fuzzy !Please\ select\ a\ pdf\ document.=M\u00e1sodik pdf dokumentum # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:411 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:409 Split\ selected\ file=A kijel\u00f6lt f\u00e1jl sz\u00e9tv\u00e1laszt\u00e1sa !Split= # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:536 Split\ section\ loaded.=A sz\u00e9tv\u00e1lasztptt r\u00e1sz megnyitva !Invalid\ unit\:\ = # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:184 #, fuzzy !Fill\ from\ document=Els\u0151 pdf dokumentum !Getting\ bookmarks\ max\ depth= !Frontpage\ pdf\ file= !Addendum\ pdf\ file= !Select\ at\ least\ one\ cover\ or\ one\ footer= !Frontpage\ and\ Addendum= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:876 #, fuzzy !Cover\ And\ Footer\ section\ loaded.=A fedlap \u00e9s l\u00e1bjegyzet r\u00e9sz bet\u00f6lt\u0151d\u00f6tt # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:256 #, fuzzy !Encrypt\ options=K\u00f3dol\u00e1si lehet\u0151s\u00e9gek # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:206 Owner\ password\:=Tulajdonon Jelszava # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:210 Owner\ password\ (Max\ 32\ chars\ long)=Tulajdonos jelszava (Maximum 22 karakter hossz\u00fa) # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:214 User\ password\:=A felhaszn\u00e1l\u00f3 jelszava # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:218 User\ password\ (Max\ 32\ chars\ long)=A felhaszn\u00e1l\u00f3 jelszava (Maximum 22 karakter hossz\u00fa) # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:222 #, fuzzy !Encryption\ algorithm\:=K\u00f3dol\u00e1si algoritmus # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:253 Allow\ all=Minden enged\u00e9lyez\u00e9se # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:229 Print=Nyomtat\u00e1s # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:232 Low\ quality\ print=Alacsony felbont\u00e1s\u00fa nyomtat\u00e1s # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:235 Copy\ or\ extract=M\u00e1sol\u00e1s, vagy kiemel\u00e9s # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:238 Modify=M\u00f3dos\u00edt # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:241 Add\ or\ modify\ text\ annotations=Magyar\u00e1z\u00f3 sz\u00f6veg hozz\u00e1ad\u00e1sa, vagy m\u00f3dos\u00edt\u00e1sa # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:244 Fill\ form\ fields=Formanyomtatv\u00e1ny mez\u0151inek kit\u00f6lt\u00e9se # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:247 #, fuzzy !Extract\ for\ use\ by\ accessibility\ dev.=Kinyer\u00e9s a hozz\u00e1f\u00e9rhet\u0151s\u00e9g jav\u00edt\u00e1s\u00e1\u00e9rt # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:250 Manipulate\ pages\ and\ add\ bookmarks=Oldalak \u00e9s k\u00f6nyvjelz\u0151k hozz\u00e1ad\u00e1sa # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:460 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:348 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:312 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:308 #, fuzzy !Check\ the\ box\ if\ you\ want\ compressed\ output\ files\ (Pdf\ version\ 1.5\ or\ higher).=Jel\u00f6lje meg a nyom\u00f3gombot, amennyiben fel\u00fcl akarja \u00edrni a m\u00e1r l\u00e9tez\u0151 f\u00e1jlokat # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:395 If\ it\ contains\ "[TIMESTAMP]"\ it\ performs\ variable\ substitution.=Amennyiben id\u0151b\u00e9lyeget tartalmaz, k\u00fcl\u00f6nb\u00f6z\u0151 helyettes\u00edt\u00e9seket hajt v\u00e9gre # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:396 Ex.\ [BASENAME]_prefix_[TIMESTAMP]\ generates\ FileName_prefix_20070517_113423471.pdf.=P\u00e9ld\u00e1ul\: Alapn\u00e9v_El\u0151tag_Id\u0151b\u00e9lyeg a k\u00f6vetkez\u0151t hozza l\u00e9tre\: F\u00e1jln\u00e9v_el\u0151tag_20070517_113423471.pdf # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:397 If\ it\ doesn't\ contain\ "[TIMESTAMP]"\ it\ generates\ oldstyle\ output\ file\ names.=Amennyiben nem tartalmaz id\u0151b\u00e9lyeget, akkor a hagyom\u00e1nyos f\u00e1jlneveket hoz l\u00e9tre # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:398 Available\ variables\:\ [TIMESTAMP],\ [BASENAME].=El\u00e9rhet\u0151 v\u00e1ltoz\u00f3k\: Id\u0151b\u00e9lyeg, Alapn\u00e9v # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:463 #, fuzzy !Encrypt\ selected\ files=A kiv\u00e1lasztott f\u00e1jl k\u00f3dol\u00e1sa # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:256 #, fuzzy !Encrypt=K\u00f3dol\u00e1si lehet\u0151s\u00e9gek # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:613 Encrypt\ section\ loaded.=A kiv\u00e1lasztott k\u00f3dol\u00e1si r\u00e9sz bet\u00f6lt\u0151d\u00f6tt # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:463 #, fuzzy !Decrypt\ selected\ files=A kiv\u00e1lasztott f\u00e1jl k\u00f3dol\u00e1sa # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:256 #, fuzzy !Decrypt=K\u00f3dol\u00e1si lehet\u0151s\u00e9gek # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:613 #, fuzzy !Decrypt\ section\ loaded.=A kiv\u00e1lasztott k\u00f3dol\u00e1si r\u00e9sz bet\u00f6lt\u0151d\u00f6tt # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:220 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:220 #, fuzzy !Mix\ options=Sz\u00e9tv\u00e1laszt\u00e1si lehet\u0151s\u00e9gek # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:191 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:195 #, fuzzy !Reverse\ first\ document=Ford\u00edtsa meg ezt a dokumentumot # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:191 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:195 #, fuzzy !Reverse\ second\ document=Ford\u00edtsa meg ezt a dokumentumot !Number\ of\ pages\ to\ switch\ document= !Tick\ the\ boxes\ if\ you\ want\ to\ reverse\ the\ first\ or\ the\ second\ document\ (or\ both).= !Set\ the\ number\ of\ pages\ to\ switch\ from\ a\ document\ to\ the\ other\ one\ (default\ is\ 1).= !Found\ a\ password\ for\ first\ file.= !Found\ a\ password\ for\ second\ file.= # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:187 #, fuzzy !Please\ select\ two\ pdf\ documents.=M\u00e1sodik pdf dokumentum # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:318 #, fuzzy !Execute\ pdf\ alternate\ mix=V\u00e1ltakoz\u00f3 Pdf mix v\u00e9grehajt\u00e1sa !Alternate\ Mix= # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:495 AlternateMix\ section\ loaded.=A v\u00e1ltakoz\u00f3 pdf r\u00e9sz bet\u00f6lt\u0151d\u00f6tt !Unpack\ selected\ files= !Unpack= # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:613 #, fuzzy !Unpack\ section\ loaded.=A kiv\u00e1lasztott k\u00f3dol\u00e1si r\u00e9sz bet\u00f6lt\u0151d\u00f6tt # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:220 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:220 #, fuzzy !Set\ viewer\ options=Sz\u00e9tv\u00e1laszt\u00e1si lehet\u0151s\u00e9gek !Hide\ the\ menubar= !Hide\ the\ toolbar= !Hide\ user\ interface\ elements= !Rezise\ the\ window\ to\ fit\ the\ page\ size= !Center\ of\ the\ screen= !Display\ document\ title\ as\ window\ title= # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:191 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:195 #, fuzzy !Pdf\ version\ required\:=Ford\u00edtsa meg ezt a dokumentumot !No\ page\ scaling\ in\ print\ dialog= !Viewer\ layout\:= !Viewer\ open\ mode\:= !Non\ fullscreen\ mode\:= !Direction\:= # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:220 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:220 #, fuzzy !Set\ options=Sz\u00e9tv\u00e1laszt\u00e1si lehet\u0151s\u00e9gek # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:463 #, fuzzy !Set\ viewer\ options\ for\ selected\ files=A kiv\u00e1lasztott f\u00e1jl k\u00f3dol\u00e1sa !Left\ to\ right= !Right\ to\ left= # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:397 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:400 #, fuzzy !None=Jegyzet !Fullscreen= !Attachments= !Optional\ content\ group\ panel= # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:389 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:392 #, fuzzy !Document\ outline=A PDF dokumentumok tartalmaznak \u0171rlapot !Thumbnail\ images= !One\ page\ at\ a\ time= !Pages\ in\ one\ column= !Pages\ in\ two\ columns\ (odd\ on\ the\ left)= !Pages\ in\ two\ columns\ (odd\ on\ the\ right)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ left)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ right)= # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:386 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:389 #, fuzzy !Viewer\ options=Egyes\u00edt\u00e9si be\u00e1ll\u00edt\u00e1sok # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:613 #, fuzzy !Viewer\ options\ section\ loaded.=A kiv\u00e1lasztott k\u00f3dol\u00e1si r\u00e9sz bet\u00f6lt\u0151d\u00f6tt !Save\ passwords\ informations\ (they\ will\ be\ readable\ opening\ the\ output\ file)?= !Confirm\ password\ saving= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:233 Unknown\ action.=Ismeretlen cselekm\u00e9ny # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:253 Log\ saved.=Napl\u00f3 mentve # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:113 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:64 #, fuzzy !\ node\ environment\ loaded.=\ K\u00f6rnyezet bet\u00f6lt\u00e9se !Environment\ saved.= !Error\ saving\ environment,\ output\ file\ is\ null.= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:109 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:58 #, fuzzy !Error\ saving\ environment.=K\u00f6rnyezet elment\u00e9se # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:613 #, fuzzy !Environment\ loaded.=A kiv\u00e1lasztott k\u00f3dol\u00e1si r\u00e9sz bet\u00f6lt\u0151d\u00f6tt # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:113 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:64 #, fuzzy !Error\ loading\ environment.=K\u00f6rnyezet bet\u00f6lt\u00e9se !Error\ loading\ environment\ from\ input\ file.\ = !Selection\ table\ is\ full,\ please\ remove\ some\ pdf\ document.= !Table\ full= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:252 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:869 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:245 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:851 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:248 #, fuzzy !Please\ wait\ while\ reading=V\u00e1rjon, am\u00edg a beolvas\u00e1s tart # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:187 #, fuzzy !Selected\ file\ is\ not\ a\ pdf\ document.=M\u00e1sodik pdf dokumentum # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:113 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:64 #, fuzzy !Error\ loading\ =K\u00f6rnyezet bet\u00f6lt\u00e9se !Command\ validation\ returned\ an\ empty\ value.= !Command\ executed.= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:180 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:178 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:181 File\ name=F\u00e1jl !Number\ of\ pages= !File\ size= !Pdf\ version= !Encryption= !Not\ encrypted= !Permissions= !Title= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:118 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\GUI\InfoGUI.java:128 Author=A szerz\u0151 !Subject= !Producer= !Creator= !Creation\ date= !Modification\ date= !Keywords= !Document\ properties= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:55 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\GUI\MainGUI.java:217 File=F\u00e1jl # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\GUI\InfoGUI.java:150 Close=Bez\u00e1r\u00e1s # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:99 Copy=M\u00e1sol !Error\ creating\ properties\ panel.= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:542 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:462 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:526 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:320 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:410 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:530 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:408 Run=Futtat\u00e1s # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:394 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:421 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:448 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:175 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:340 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:430 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:150 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:177 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:244 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:164 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:304 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:233 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:434 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:163 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:300 Browse=Tall\u00f3z # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:264 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:257 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:260 Add=Hozz\u00e1ad\u00e1s # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:326 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:338 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:341 #, fuzzy !Compress\ output\ file/files=Kimeneti f\u00e1jl be\u00e1ll\u00edt\u00e1sa # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:452 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:315 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:434 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:249 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:279 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:438 Overwrite\ if\ already\ exists=Fel\u00fcl\u00edr, amennyiben l\u00e9tezik !Don't\ preserve\ file\ order\ (fast\ load)= # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:353 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:318 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:314 #, fuzzy !Output\ document\ pdf\ version\:=Kimeneti lehet\u0151s\u00e9gek !The\ cross\ reference\ table\ cantained\ some\ error\ and\ has\ been\ rebuilt= !The\ document\ has\ not\ been\ opened\ with\ the\ owner\ password.\ You\ must\ provide\ the\ owner\ password\ in\ order\ to\ manipulate\ the\ document= !An\ error\ occured\ while\ loading\ the\ document= # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:187 #, fuzzy !Same\ as\ input\ document=M\u00e1sodik pdf dokumentum # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:181 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:179 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:182 Path=\u00datvonal # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:182 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:180 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:183 Pages=Oldalak # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:214 #, fuzzy !Password=A felhaszn\u00e1l\u00f3 jelszava # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:118 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\GUI\InfoGUI.java:128 Version=Verzi\u00f3 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:183 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:181 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:184 Page\ Selection=Oldalkijel\u00f6l\u00e9s !Total\ pages\ of\ the\ document= !Password\ to\ open\ the\ document\ (if\ needed)= # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:191 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:195 #, fuzzy !Pdf\ version\ of\ the\ document=Ford\u00edtsa meg ezt a dokumentumot !Double\ click\ to\ set\ pages\ you\ want\ to\ merge\ (ex\:\ 2\ or\ 5-23\ or\ 2,5-7,12-)= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:232 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:225 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:228 Add\ a\ pdf\ to\ the\ list=PDF hozz\u00e1ad\u00e1sa a list\u00e1hoz # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:269 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:262 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:265 Remove\ a\ pdf\ from\ the\ list=PDF elt\u00e1vol\u00edt\u00e1sa a list\u00e1b\u00f3l !(Canc)= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:273 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:317 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:266 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:311 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:269 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:314 Remove=Elt\u00e1volit\u00e1s !Reload= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:338 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:350 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:353 #, fuzzy !Error\:\ Unable\ to\ reload\ the\ selected\ file/s.=Hiba\: A f\u00e1jl helye (\u00fatvonala) nem meghat\u00e1rozhat\u00f3 !Unable\ to\ remove\ JList\ text\ = # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:596 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:646 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:585 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:635 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:596 File\ selected\:\ =Kiv\u00e1lasztott f\u00e1jl\: # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:596 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:646 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:585 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:635 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:596 #, fuzzy !File\ reloaded\:\ =Kiv\u00e1lasztott f\u00e1jl\: # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:273 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:320 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:276 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:323 Move\ Up=Mozgat\u00e1s felfel\u00e9 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:274 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:277 Move\ up\ selected\ pdf\ file=A kiv\u00e1lasztott PDF f\u00e1jl felfel\u00e9 mozgat\u00e1sa !(Alt+ArrowUp)= # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:282 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:329 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:285 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:332 Move\ Down=Mozgat\u00e1s lefel\u00e9 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:283 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:286 Move\ down\ selected\ pdf\ file=A kiv\u00e1lasztott PDF f\u00e1jl lefel\u00e9 mozgat\u00e1sa !(Alt+ArrowDown)= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:284 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:294 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:105 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:297 Clear=T\u00f6rl\u00e9s # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:295 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:298 Remove\ every\ pdf\ file\ from\ the\ merge\ list=Minden PDF f\u00e1jl t\u00f6rl\u00e9se az egyes\u00edt\u00e9si list\u00e1r\u00f3l # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:326 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:338 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:341 Set\ output\ file=Kimeneti f\u00e1jl be\u00e1ll\u00edt\u00e1sa # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:338 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:350 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:353 Error\:\ Unable\ to\ get\ the\ file\ path.=Hiba\: A f\u00e1jl helye (\u00fatvonala) nem meghat\u00e1rozhat\u00f3 !Unable\ to\ get\ the\ default\ environment\ informations.= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:225 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\panels\JSettingsPanel.java:183 #, fuzzy !Setting\ look\ and\ feel...=L\u00e1sd \u00e9s \u00e9rezd\: !Setting\ logging\ level...= !Unable\ to\ find\ log\ level,\ setting\ to\ default\ level\ (DEBUG).= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:143 #, fuzzy !Logging\ level\ set\ to\ =Napl\u00f3z\u00e1si szint !Unable\ to\ set\ logging\ level.= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:458 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:345 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:309 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:305 #, fuzzy !Error\ getting\ plugins\ directory.=Kimeneti k\u00f6nyvt\u00e1r !Cannot\ read\ plugins\ directory\ = !Plugins\ directory\ is\ null.= !Found\ zero\ or\ many\ jars\ in\ plugin\ directory\ = # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:188 #, fuzzy !Exception\ loading\ plugins.=Pluginek bet\u00f6lt\u00e9se !Cannot\ read\ plugin\ directory\ = # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:536 #, fuzzy !\ plugin\ loaded.=\ A sz\u00e9tv\u00e1lasztptt r\u00e1sz megnyitva !Unable\ to\ load\ a\ plugin\ that\ is\ not\ JPanel\ subclass.= !Error\ loading\ class\ = # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:112 Select\ all=Mindet kijel\u00f6l # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:117 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:121 Save\ log=Napl\u00f3 ment\u00e9se # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:109 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:58 Save\ environment=K\u00f6rnyezet elment\u00e9se # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:113 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:64 Load\ environment=K\u00f6rnyezet bet\u00f6lt\u00e9se # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:125 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:70 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\GUI\MainGUI.java:237 Exit=Kil\u00e9p !Unable\ to\ initialize\ menu\ bar.= !started\ in\ = # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:188 Loading\ plugins..=Pluginek bet\u00f6lt\u00e9se # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:167 Building\ menus..=Men\u00fc kialak\u00edt\u00e1sa # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:173 Building\ buttons\ bar..=Nyom\u00f3gombok kialak\u00edt\u00e1sa # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:259 #, fuzzy !Building\ status\ bar..=Status bar \u00e9p\u00edt\u00e9se # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:231 Building\ tree..=A fastrukt\u00fara ki\u00e9p\u00edt\u00e9se !Loading\ default\ environment.= !Error\ starting\ pdfsam.= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:121 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\GUI\MainGUI.java:226 Clear\ log=Napl\u00f3 t\u00f6rtl\u00e9se !Unable\ to\ initialize\ button\ bar.= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 Version\:\ =Verzi\u00f3\: # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\GUI\InfoGUI.java:118 Language\:\ =Nyelv\: !Developed\ by\:\ = # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\GUI\InfoGUI.java:118 Build\ date\:\ =L\u00e9trehoz\u00e1s id\u0151pontja\: !Java\ home\:\ = # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 #, fuzzy !Java\ version\:\ =Verzi\u00f3\: !Max\ memory\:\ = !Configuration\ file\:\ = # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\GUI\InfoGUI.java:118 Website\:\ =Weboldal\: # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:118 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\GUI\InfoGUI.java:128 Name=N\u00e9v # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\GUI\MainGUI.java:222 About=A programr\u00f3l !Unimplemented\ method\ for\ JInfoPanel= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:167 Contributes\:\ =K\u00f6zrem\u0171k\u00f6d\u0151k # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:128 Log\ level\:=Napl\u00f3z\u00e1si szint\: # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:223 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\panels\JSettingsPanel.java:181 #, fuzzy !Settings=Be\u00e1ll\u00edt\u00e1sok\: # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:119 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\panels\JSettingsPanel.java:110 #, fuzzy !Look\ and\ feel\:=L\u00e1sd \u00e9s \u00e9rezd\: # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:122 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\panels\JSettingsPanel.java:113 Theme\:=T\u00e9ma\: # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:125 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\panels\JSettingsPanel.java:116 Language\:=Nyelv\: !Check\ for\ updates\:= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:131 Load\ default\ environment\ at\ startup\:=Az alap k\u00f6rnyezet bet\u00f6lt\u00e9se a megnyit\u00e1skor !Default\ working\ directory\:= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:131 #, fuzzy !Error\ getting\ default\ environment.=Az alap k\u00f6rnyezet bet\u00f6lt\u00e9se a megnyit\u00e1skor # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:396 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:399 #, fuzzy !Check\ now=Kijel\u00f6lve !Play\ alert\ sounds= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:223 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\panels\JSettingsPanel.java:181 Settings\ =Be\u00e1ll\u00edt\u00e1sok\: # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:224 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\panels\JSettingsPanel.java:182 Language=Nyelv\: # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:224 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\panels\JSettingsPanel.java:182 Set\ your\ preferred\ language\ (restart\ needed)=V\u00e1lassza ki a k\u00edv\u00e1nt nyelvet (\u00fajraind\u00edt\u00e1s sz\u00fcks\u00e9ges) # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:225 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\panels\JSettingsPanel.java:183 Look\ and\ feel=L\u00e1sd \u00e9s \u00e9rezd\: # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:225 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\panels\JSettingsPanel.java:183 Set\ your\ preferred\ look\ and\ feel\ and\ your\ preferred\ theme\ (restart\ needed)=V\u00e1lassza ki a megfelel\u0151 be\u00e1ll\u00edt\u00e1sokat \u00e9s a k\u00edv\u00e1nt t\u00e9m\u00e1t (\u00fajraind\u00edt\u00e1s sz\u00fcks\u00e9ges) # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:226 Log\ level=Napl\u00f3z\u00e1si szint\: # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:226 Set\ a\ log\ detail\ level\ (restart\ needed)=A napl\u00f3z\u00e1si szint r\u00e9szleteinek be\u00e1ll\u00edt\u00e1sa (\u00faraind\u00edt\u00e1s sz\u00fcks\u00e9ges) !Check\ for\ updates= !Set\ when\ new\ version\ availability\ should\ be\ checked\ (restart\ needed)= !Turn\ on\ or\ off\ alert\ sounds= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:227 Default\ env.=Alap\u00e9rtelmezett k\u00f6rnyezet # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:227 Select\ a\ previously\ saved\ env.\ file\ that\ will\ be\ automatically\ loaded\ at\ startup=Kor\u00e1bban mentett k\u00f6rnyezet kiv\u00e1laszt\u00e1sa, amely a program ind\u00edt\u00e1sakor automatikusan bet\u00f6lt\u0151dik !Default\ working\ directory= !Select\ a\ directory\ where\ documents\ will\ be\ saved\ and\ loaded\ by\ default= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:257 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:241 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\panels\JSettingsPanel.java:190 Save=Ment # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:253 #, fuzzy !Configuration\ saved.=Napl\u00f3 mentve !Unimplemented\ method\ for\ JSettingsPanel= !New\ version\ available\:\ = !Plugins= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:458 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:345 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:309 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:305 #, fuzzy !Error\ getting\ pdf\ version\ description.=Kimeneti k\u00f6nyvt\u00e1r !Version\ 1.2\ (Acrobat\ 3)= !Version\ 1.3\ (Acrobat\ 4)= !Version\ 1.4\ (Acrobat\ 5)= !Version\ 1.5\ (Acrobat\ 6)= !Version\ 1.6\ (Acrobat\ 7)= !Version\ 1.7\ (Acrobat\ 8)= !Never= !pdfsam\ start\ up= !Output\ file\ location\ is\ not\ correct= !Would\ you\ like\ to\ change\ it\ to= !Output\ location\ error= !Selected\ output\ file\ already\ exists\ = !Would\ you\ like\ to\ overwrite\ it?= !Provided\ pages\ selection\ is\ not\ valid= !Limits\ must\ be\ a\ comma\ separated\ list\ of\ "page_number"\ or\ "page_number-page_number"= !Limits\ are\ not\ valid= !Checking\ for\ a\ new\ version\ available.= !Error\ checking\ for\ a\ new\ version\ available.= !Unable\ to\ get\ latest\ available\ version= !New\ version\ available.= !No\ new\ version\ available.= !Cut= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:181 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:179 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:182 #, fuzzy !Paste=\u00datvonal pdfsam-1.1.4/pdfsam-langpack-br1/src/java/org/pdfsam/i18n/resources/Messages_lv.properties0000644000175000017500000003100411225342444031366 0ustar twernertwerner# Latvian translation for pdfsam # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the pdfsam package. # FIRST AUTHOR , 2008. # !=Project-Id-Version\: pdfsam\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2009-07-09 12\:23+0200\nPO-Revision-Date\: 2008-07-10 08\:52+0000\nLast-Translator\: Kristaps \nLanguage-Team\: Latvian \nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Launchpad-Export-Date\: 2008-08-17 09\:24+0000\nX-Generator\: Launchpad (build Unknown)\n !Merge\ options= !PDF\ documents\ contain\ forms= !Merge\ type= !Unchecked= !Use\ this\ merge\ type\ for\ standard\ pdf\ documents= Checked=At\u0137eks\u0113ts !Use\ this\ merge\ type\ for\ pdf\ documents\ containing\ forms= Note=Piez\u012bme !Setting\ this\ option\ the\ documents\ will\ be\ completely\ loaded\ in\ memory= !Destination\ output\ file= Error\:\ =K\u013c\u016bda\: !Browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ file.= !Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ file\ if\ it\ already\ exists.= !Check\ the\ box\ if\ you\ want\ compressed\ output\ files.= PDF\ version\ 1.5\ or\ above.=PDF versija 1.5 vai jaun\u0101ka. !Set\ the\ pdf\ version\ of\ the\ ouput\ document.= Please\ wait\ while\ all\ files\ are\ processed..=L\u016bdzu uzgaidiet kam\u0113r visi faili tiek apstr\u0101d\u0101ti... Found\ a\ password\ for\ input\ file.=Atrasta parole priek\u0161 izejo\u0161\u0101 faila. #, fuzzy !Please\ select\ at\ least\ one\ pdf\ document.=L\u016bdzu atlasiet divus pdf dokumentus. !Warning= !Execute\ pdf\ merge= !Merge/Extract= !Merge\ section\ loaded.= Export\ as\ xml=Eksport\u0113t k\u0101 xml Unable\ to\ save\ xml\ file.=Nevar saglab\u0101t xml failu. Ok=Labi File\ xml\ saved.=xml fails saglab\u0101ts. !Error\ saving\ xml\ file,\ output\ file\ is\ null.= !Split\ options= !Burst\ (split\ into\ single\ pages)= !Split\ every\ "n"\ pages= !Split\ even\ pages= !Split\ odd\ pages= !Split\ after\ these\ pages= !Split\ at\ this\ size= !Split\ by\ bookmarks\ level= !Burst= !Explode\ the\ pdf\ document\ into\ single\ pages= !Split\ the\ document\ every\ "n"\ pages= !Split\ the\ document\ every\ even\ page= !Split\ the\ document\ every\ odd\ page= !Split\ the\ document\ after\ page\ numbers\ (num1-num2-num3..)= !Split\ the\ document\ in\ files\ of\ the\ given\ size\ (roughly)= !Split\ the\ document\ at\ pages\ referred\ by\ bookmarks\ of\ the\ given\ level= !Destination\ folder= !Same\ as\ source= !Choose\ a\ folder= !Destination\ output\ directory= !Use\ the\ same\ output\ folder\ as\ the\ input\ file\ or\ choose\ a\ folder.= !To\ choose\ a\ folder\ browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ directory.= !Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ files\ if\ they\ already\ exist.= !Output\ options= !Output\ file\ names\ prefix\:= !Output\ files\ prefix= !If\ it\ contains\ "[CURRENTPAGE]",\ "[TIMESTAMP]",\ "[FILENUMBER]"\ or\ "[BOOKMARK_NAME]"\ it\ performs\ variable\ substitution.= !Ex.\ prefix_[BASENAME]_[CURRENTPAGE]\ generates\ prefix_FileName_005.pdf.= !If\ it\ doesn't\ contain\ "[CURRENTPAGE]",\ "[TIMESTAMP]"\ or\ "[FILENUMBER]"\ it\ generates\ oldstyle\ output\ file\ names.= !Available\ variables= !Invalid\ split\ size= The\ lowest\ available\ pdf\ version\ is\ =Zem\u0101k\u0101 pieejam\u0101 pdf versija ir !You\ selected\ a\ lower\ output\ pdf\ version,\ continue\ anyway\ ?= !Pdf\ version\ conflict= #, fuzzy !Please\ select\ a\ pdf\ document.=L\u016bdzu atlasiet divus pdf dokumentus. !Split\ selected\ file= !Split= !Split\ section\ loaded.= !Invalid\ unit\:\ = !Fill\ from\ document= !Getting\ bookmarks\ max\ depth= !Frontpage\ pdf\ file= !Addendum\ pdf\ file= !Select\ at\ least\ one\ cover\ or\ one\ footer= !Frontpage\ and\ Addendum= !Cover\ And\ Footer\ section\ loaded.= !Encrypt\ options= Owner\ password\:=\u012apa\u0161nieka parole\: Owner\ password\ (Max\ 32\ chars\ long)=\u012apa\u0161nieka parole (augst\u0101kais 32 simbolus gara) User\ password\:=Lietot\u0101jvards\: User\ password\ (Max\ 32\ chars\ long)=Lietot\u0101ja paroli (augst\u0101kais 32 simbolus gara) !Encryption\ algorithm\:= Allow\ all=At\u013caut visu Print=Druk\u0101t Low\ quality\ print=Zemas kvalit\u0101tes druka Copy\ or\ extract=Kop\u0113t vai atarhiv\u0113t Modify=P\u0101rveidot !Add\ or\ modify\ text\ annotations= !Fill\ form\ fields= !Extract\ for\ use\ by\ accessibility\ dev.= !Manipulate\ pages\ and\ add\ bookmarks= !Check\ the\ box\ if\ you\ want\ compressed\ output\ files\ (Pdf\ version\ 1.5\ or\ higher).= !If\ it\ contains\ "[TIMESTAMP]"\ it\ performs\ variable\ substitution.= !Ex.\ [BASENAME]_prefix_[TIMESTAMP]\ generates\ FileName_prefix_20070517_113423471.pdf.= !If\ it\ doesn't\ contain\ "[TIMESTAMP]"\ it\ generates\ oldstyle\ output\ file\ names.= !Available\ variables\:\ [TIMESTAMP],\ [BASENAME].= !Encrypt\ selected\ files= !Encrypt= !Encrypt\ section\ loaded.= #, fuzzy !Decrypt\ selected\ files=P\u0101rvietot aug\u0161upizv\u0113l\u0113to pdf failu !Decrypt= !Decrypt\ section\ loaded.= !Mix\ options= !Reverse\ first\ document= !Reverse\ second\ document= !Number\ of\ pages\ to\ switch\ document= !Tick\ the\ boxes\ if\ you\ want\ to\ reverse\ the\ first\ or\ the\ second\ document\ (or\ both).= !Set\ the\ number\ of\ pages\ to\ switch\ from\ a\ document\ to\ the\ other\ one\ (default\ is\ 1).= Found\ a\ password\ for\ first\ file.=Atrasta parole priek\u0161 pirm\u0101 faila. Found\ a\ password\ for\ second\ file.=Atrasta parole priek\u0161 otr\u0101 faila. Please\ select\ two\ pdf\ documents.=L\u016bdzu atlasiet divus pdf dokumentus. !Execute\ pdf\ alternate\ mix= !Alternate\ Mix= !AlternateMix\ section\ loaded.= !Unpack\ selected\ files= !Unpack= !Unpack\ section\ loaded.= !Set\ viewer\ options= !Hide\ the\ menubar= !Hide\ the\ toolbar= !Hide\ user\ interface\ elements= !Rezise\ the\ window\ to\ fit\ the\ page\ size= !Center\ of\ the\ screen= !Display\ document\ title\ as\ window\ title= !Pdf\ version\ required\:= !No\ page\ scaling\ in\ print\ dialog= !Viewer\ layout\:= !Viewer\ open\ mode\:= !Non\ fullscreen\ mode\:= !Direction\:= !Set\ options= !Set\ viewer\ options\ for\ selected\ files= !Left\ to\ right= !Right\ to\ left= #, fuzzy !None=Piez\u012bme !Fullscreen= !Attachments= !Optional\ content\ group\ panel= !Document\ outline= !Thumbnail\ images= !One\ page\ at\ a\ time= !Pages\ in\ one\ column= !Pages\ in\ two\ columns\ (odd\ on\ the\ left)= !Pages\ in\ two\ columns\ (odd\ on\ the\ right)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ left)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ right)= !Viewer\ options= !Viewer\ options\ section\ loaded.= !Save\ passwords\ informations\ (they\ will\ be\ readable\ opening\ the\ output\ file)?= Confirm\ password\ saving=Apstiprin\u0101t paroles saglab\u0101sanu !Unknown\ action.= !Log\ saved.= !\ node\ environment\ loaded.= !Environment\ saved.= !Error\ saving\ environment,\ output\ file\ is\ null.= !Error\ saving\ environment.= !Environment\ loaded.= !Error\ loading\ environment.= !Error\ loading\ environment\ from\ input\ file.\ = !Selection\ table\ is\ full,\ please\ remove\ some\ pdf\ document.= !Table\ full= !Please\ wait\ while\ reading= Selected\ file\ is\ not\ a\ pdf\ document.=Izv\u0113l\u0113tais fails nav pdf dokuments !Error\ loading\ = !Command\ validation\ returned\ an\ empty\ value.= !Command\ executed.= File\ name=Faila nosaukums !Number\ of\ pages= !File\ size= !Pdf\ version= !Encryption= !Not\ encrypted= !Permissions= !Title= !Author= !Subject= !Producer= !Creator= !Creation\ date= !Modification\ date= !Keywords= !Document\ properties= !File= !Close= !Copy= !Error\ creating\ properties\ panel.= Run=Palaist Browse=P\u0101rl\u016bkot Add=Pievienot Compress\ output\ file/files=Saspiest izejo\u0161o failu/failus Overwrite\ if\ already\ exists=P\u0101rrakst\u012bt ja jau eksist\u0113 !Don't\ preserve\ file\ order\ (fast\ load)= Output\ document\ pdf\ version\:=Izejo\u0161\u0101 pdf dokumeta versija\: !The\ cross\ reference\ table\ cantained\ some\ error\ and\ has\ been\ rebuilt= !The\ document\ has\ not\ been\ opened\ with\ the\ owner\ password.\ You\ must\ provide\ the\ owner\ password\ in\ order\ to\ manipulate\ the\ document= !An\ error\ occured\ while\ loading\ the\ document= !Same\ as\ input\ document= Path=Ce\u013c\u0161 Pages=Lapas Password=Parole Version=Versija !Page\ Selection= !Total\ pages\ of\ the\ document= !Password\ to\ open\ the\ document\ (if\ needed)= !Pdf\ version\ of\ the\ document= !Double\ click\ to\ set\ pages\ you\ want\ to\ merge\ (ex\:\ 2\ or\ 5-23\ or\ 2,5-7,12-)= !Add\ a\ pdf\ to\ the\ list= !Remove\ a\ pdf\ from\ the\ list= !(Canc)= Remove=Aizv\u0101kt Reload=P\u0101rl\u0101d\u0113t !Error\:\ Unable\ to\ reload\ the\ selected\ file/s.= !Unable\ to\ remove\ JList\ text\ = !File\ selected\:\ = !File\ reloaded\:\ = Move\ Up=P\u0101rvietot uz aug\u0161u Move\ up\ selected\ pdf\ file=P\u0101rvietot aug\u0161upizv\u0113l\u0113to pdf failu (Alt+ArrowUp)=(Alt+ArrowUp) Move\ Down=P\u0101rvietot lejup Move\ down\ selected\ pdf\ file=P\u0101rvietot lejup izv\u0113l\u0113to pdf failu (Alt+ArrowDown)=(Alt+ArrowDown) Clear=Not\u012br\u012bt !Remove\ every\ pdf\ file\ from\ the\ merge\ list= !Set\ output\ file= !Error\:\ Unable\ to\ get\ the\ file\ path.= !Unable\ to\ get\ the\ default\ environment\ informations.= !Setting\ look\ and\ feel...= !Setting\ logging\ level...= !Unable\ to\ find\ log\ level,\ setting\ to\ default\ level\ (DEBUG).= !Logging\ level\ set\ to\ = !Unable\ to\ set\ logging\ level.= !Error\ getting\ plugins\ directory.= !Cannot\ read\ plugins\ directory\ = !Plugins\ directory\ is\ null.= !Found\ zero\ or\ many\ jars\ in\ plugin\ directory\ = !Exception\ loading\ plugins.= !Cannot\ read\ plugin\ directory\ = !\ plugin\ loaded.= !Unable\ to\ load\ a\ plugin\ that\ is\ not\ JPanel\ subclass.= !Error\ loading\ class\ = !Select\ all= !Save\ log= !Save\ environment= !Load\ environment= !Exit= !Unable\ to\ initialize\ menu\ bar.= !started\ in\ = !Loading\ plugins..= !Building\ menus..= !Building\ buttons\ bar..= !Building\ status\ bar..= !Building\ tree..= !Loading\ default\ environment.= !Error\ starting\ pdfsam.= !Clear\ log= !Unable\ to\ initialize\ button\ bar.= !Version\:\ = !Language\:\ = !Developed\ by\:\ = !Build\ date\:\ = !Java\ home\:\ = !Java\ version\:\ = !Max\ memory\:\ = !Configuration\ file\:\ = !Website\:\ = !Name= !About= !Unimplemented\ method\ for\ JInfoPanel= !Contributes\:\ = !Log\ level\:= !Settings= !Look\ and\ feel\:= !Theme\:= !Language\:= !Check\ for\ updates\:= !Load\ default\ environment\ at\ startup\:= !Default\ working\ directory\:= !Error\ getting\ default\ environment.= !Check\ now= !Play\ alert\ sounds= !Settings\ = !Language= !Set\ your\ preferred\ language\ (restart\ needed)= !Look\ and\ feel= !Set\ your\ preferred\ look\ and\ feel\ and\ your\ preferred\ theme\ (restart\ needed)= !Log\ level= !Set\ a\ log\ detail\ level\ (restart\ needed)= !Check\ for\ updates= !Set\ when\ new\ version\ availability\ should\ be\ checked\ (restart\ needed)= !Turn\ on\ or\ off\ alert\ sounds= !Default\ env.= !Select\ a\ previously\ saved\ env.\ file\ that\ will\ be\ automatically\ loaded\ at\ startup= !Default\ working\ directory= !Select\ a\ directory\ where\ documents\ will\ be\ saved\ and\ loaded\ by\ default= Save=Saglab\u0101t !Configuration\ saved.= !Unimplemented\ method\ for\ JSettingsPanel= !New\ version\ available\:\ = !Plugins= !Error\ getting\ pdf\ version\ description.= !Version\ 1.2\ (Acrobat\ 3)= !Version\ 1.3\ (Acrobat\ 4)= !Version\ 1.4\ (Acrobat\ 5)= !Version\ 1.5\ (Acrobat\ 6)= !Version\ 1.6\ (Acrobat\ 7)= !Version\ 1.7\ (Acrobat\ 8)= !Never= !pdfsam\ start\ up= Output\ file\ location\ is\ not\ correct=Izejo\u0161\u0101 faila atra\u0161an\u0101s vieta nav pareiza Would\ you\ like\ to\ change\ it\ to=Vai J\u016bs v\u0113laties main\u012bt to uz !Output\ location\ error= !Selected\ output\ file\ already\ exists\ = !Would\ you\ like\ to\ overwrite\ it?= !Provided\ pages\ selection\ is\ not\ valid= !Limits\ must\ be\ a\ comma\ separated\ list\ of\ "page_number"\ or\ "page_number-page_number"= !Limits\ are\ not\ valid= !Checking\ for\ a\ new\ version\ available.= !Error\ checking\ for\ a\ new\ version\ available.= !Unable\ to\ get\ latest\ available\ version= !New\ version\ available.= !No\ new\ version\ available.= !Cut= #, fuzzy !Paste=Ce\u013c\u0161 pdfsam-1.1.4/pdfsam-langpack-br1/src/java/org/pdfsam/i18n/resources/Messages_it.properties0000644000175000017500000021743511225342444031377 0ustar twernertwerner!=Project-Id-Version\: pdfsam\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2009-07-09 12\:23+0200\nPO-Revision-Date\: 2009-05-29 14\:32+0000\nLast-Translator\: Andrea Vacondio \nLanguage-Team\: \nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Launchpad-Export-Date\: 2009-07-09 10\:20+0000\nX-Generator\: Launchpad (build Unknown)\nX-Poedit-Country\: ITALY\nX-Poedit-Language\: Italian\nX-Poedit-SourceCharset\: utf-8\n Merge\ options=Opzioni di unione PDF\ documents\ contain\ forms=I documenti PDF contengono dei form Merge\ type=Tipo di unione # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:395 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:395 Unchecked=Non selezionato # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:395 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:395 Use\ this\ merge\ type\ for\ standard\ pdf\ documents=Usa questo tipo di merge per documenti pdf standard # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:396 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:396 Checked=Selezionato Use\ this\ merge\ type\ for\ pdf\ documents\ containing\ forms=Usa questo tipo di unione per i documenti pdf che contengono form # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:397 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:397 Note=Nota # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:397 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:397 Setting\ this\ option\ the\ documents\ will\ be\ completely\ loaded\ in\ memory=Impostando questa opzione i documenti verranno caricati in memoria completamente # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:295 # F:\workspace_pdfsame_enanched\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:179 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:440 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:255 Destination\ output\ file=File di destinazione # F:\workspace_pdfsame_enanched\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:386 # F:\workspace_pdfsame_enanched\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:413 # F:\workspace_pdfsame_enanched\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:440 # F:\workspace_pdfsame_enanched\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:589 # F:\workspace_pdfsame_enanched\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:609 # F:\workspace_pdfsame_enanched\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:639 # F:\workspace_pdfsame_enanched\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:866 # F:\workspace_pdfsame_enanched\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:970 # F:\workspace_pdfsame_enanched\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:549 # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:394 # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:549 # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:569 # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:599 # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:792 # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:908 # F:\workspace_pdfsame_enanched\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:141 # F:\workspace_pdfsame_enanched\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:168 # F:\workspace_pdfsame_enanched\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:236 # F:\workspace_pdfsame_enanched\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:486 # F:\workspace_pdfsame_enanched\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:493 # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\LogPanel.java:254 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:387 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:414 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:441 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:599 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:619 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:649 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:879 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:983 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:616 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:423 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:588 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:608 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:638 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:861 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:977 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:143 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:170 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:237 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:498 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:539 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:256 Error\:\ =Errore\: # F:\workspace_pdfsame_enanched\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:371 # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:379 # F:\workspace_pdfsame_enanched\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:221 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:441 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:256 Browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ file.=Sfoglia o inserisci il percorso completo del file di destinazione. # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:442 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:257 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:442 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:257 Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ file\ if\ it\ already\ exists.=Seleziona il box se vuoi sovrascrivere il file di output se esiste gi\u00e0. # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:442 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:257 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:442 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:257 Check\ the\ box\ if\ you\ want\ compressed\ output\ files.=Seleziona il box se vuoi file di output compressi. # F:\pdfsam\workspace-enhanced\pdfsam-merge\src\java\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:214 # F:\pdfsam\workspace-enhanced\pdfsam-split\src\java\org\pdfsam\plugin\split\GUI\SplitMainGUI.java:292 PDF\ version\ 1.5\ or\ above.=Versione PDF 1.5 o superiore # F:\pdfsam\workspace-enhanced\pdfsam-split\src\java\org\pdfsam\plugin\split\GUI\SplitMainGUI.java:293 # F:\pdfsam\workspace-enhanced\pdfsam-mix\src\java\org\pdfsam\plugin\mix\GUI\MixMainGUI.java:194 Set\ the\ pdf\ version\ of\ the\ ouput\ document.=Imposta la versione pdf del documento. # F:\workspace_pdfsame_enanched\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:459 # F:\workspace_pdfsame_enanched\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:350 # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:413 # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:470 # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:472 # F:\workspace_pdfsame_enanched\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:312 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:469 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:408 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:451 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:509 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:511 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:350 Please\ wait\ while\ all\ files\ are\ processed..=Prego attendere mentre tutti i file vengono processati.. # F:\pdfsam\workspace-enhanced\pdfsam-merge\src\java\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:250 # F:\pdfsam\workspace-enhanced\pdfsam-merge\src\java\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:262 # F:\pdfsam\workspace-enhanced\pdfsam-split\src\java\org\pdfsam\plugin\split\GUI\SplitMainGUI.java:343 Found\ a\ password\ for\ input\ file.=Trovata una password per il file in input. Please\ select\ at\ least\ one\ pdf\ document.=Prego selezionare almeno un documento pdf. Warning=Attenzione # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:485 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:524 Execute\ pdf\ merge=Esegui il merge Merge/Extract=Unisci/Estrai # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:789 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:858 Merge\ section\ loaded.=Sezione merge caricata. Export\ as\ xml=Esporta come xml # F:\pdfsam\workspace-enhanced\pdfsam-maine\src\java\org\pdfsam\guiclient\configuration\Configuration.java:165 Unable\ to\ save\ xml\ file.=Impossibile salvare file xml. # F:\pdfsam\workspace-enhanced\pdfsam-maine\src\java\org\pdfsam\guiclient\business\listeners\mediators\EnvironmentMediator.java:51 Ok=Ok # F:\workspace_pdfsame_enanched\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:586 # F:\workspace_pdfsame_enanched\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:636 # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:546 # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:596 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:596 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:646 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:585 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:635 File\ xml\ saved.=File xml salvato. # F:\pdfsam\workspace-enhanced\pdfsam-maine\src\java\org\pdfsam\guiclient\business\Environment.java:86 Error\ saving\ xml\ file,\ output\ file\ is\ null.=Errore salvando il file xml, il file di output \u00e8 nullo. # F:\workspace_pdfsame_enanched\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:217 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:220 Split\ options=Opzioni di divisione # F:\workspace_pdfsame_enanched\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:188 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:195 Burst\ (split\ into\ single\ pages)=Esplodi (dividi in singole pagine) # F:\workspace_pdfsame_enanched\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:191 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:198 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:222 Split\ every\ "n"\ pages=Dividi ogni "n" pagine # F:\workspace_pdfsame_enanched\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:200 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:206 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:223 Split\ even\ pages=Dividi pagine pari # F:\workspace_pdfsame_enanched\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:203 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:209 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:224 Split\ odd\ pages=Dividi pagine dispari # F:\workspace_pdfsame_enanched\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:206 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:212 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:225 Split\ after\ these\ pages=Dividi dopo queste pagine # F:\workspace_pdfsame_enanched\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:206 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:212 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:225 Split\ at\ this\ size=Dividi a questa dimensione Split\ by\ bookmarks\ level=Dividi per livello di segnalibro # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:223 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:221 Burst=Esplodi # F:\workspace_pdfsame_enanched\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:188 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:221 Explode\ the\ pdf\ document\ into\ single\ pages=Esplodi il documento in pagine singole # F:\workspace_pdfsame_enanched\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:191 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:222 Split\ the\ document\ every\ "n"\ pages=Dividi il documento ogni "n" pagine # F:\workspace_pdfsame_enanched\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:191 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:223 Split\ the\ document\ every\ even\ page=Dividi il documento ogni pagina pari # F:\workspace_pdfsame_enanched\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:191 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:224 Split\ the\ document\ every\ odd\ page=Dividi ogni il documento ogni pagina dispari # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:227 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:225 Split\ the\ document\ after\ page\ numbers\ (num1-num2-num3..)=Divide il documento dopo i numeri di pagina (num1-num2-num3..) Split\ the\ document\ in\ files\ of\ the\ given\ size\ (roughly)=Dividi il documento in file della dimensione data (approssimativamente) Split\ the\ document\ at\ pages\ referred\ by\ bookmarks\ of\ the\ given\ level=Divide il documento alle pagine indicate dai segnalibri del livello selezionato Destination\ folder=Cartella di destinazione # F:\workspace_pdfsame_enanched\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:281 # F:\workspace_pdfsame_enanched\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:241 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:297 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:256 Same\ as\ source=Uguale all'origine # F:\workspace_pdfsame_enanched\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:285 # F:\workspace_pdfsame_enanched\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:245 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:301 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:260 Choose\ a\ folder=Selezione una directory # F:\workspace_pdfsame_enanched\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:301 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:458 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:345 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:309 Destination\ output\ directory=Directory di destinazione # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:346 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:312 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:346 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:310 Use\ the\ same\ output\ folder\ as\ the\ input\ file\ or\ choose\ a\ folder.=Usa la stessa directory di destinazione del file in input o selezionane una. # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:347 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:313 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:347 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:311 To\ choose\ a\ folder\ browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ directory.=Per selezionare una directory sfoglia o inserisci il percorso completo della directory di output. # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:460 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:348 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:314 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:460 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:348 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:312 Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ files\ if\ they\ already\ exist.=Seleziona il box se vuoi sovrascrivere i file di destinazione se gi\u00e0 esistenti. Output\ options=Opzioni di ouput # F:\workspace_pdfsame_enanched\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:336 # F:\workspace_pdfsame_enanched\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:298 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:384 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:326 Output\ file\ names\ prefix\:=Prefisso nomi file in output\: # F:\workspace_pdfsame_enanched\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:336 # F:\workspace_pdfsame_enanched\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:298 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:394 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:336 Output\ files\ prefix=Prefisso nomi file in output If\ it\ contains\ "[CURRENTPAGE]",\ "[TIMESTAMP]",\ "[FILENUMBER]"\ or\ "[BOOKMARK_NAME]"\ it\ performs\ variable\ substitution.=Se contiene "[CURRENTPAGE]", "[TIMESTAMP]", "[FILENUMBER]" o "[BOOKMARK_NAME]" esegue la sostituzione di variabile. # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:340 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:338 Ex.\ prefix_[BASENAME]_[CURRENTPAGE]\ generates\ prefix_FileName_005.pdf.=Es. prefisso_[BASENAME]_[CURRENTPAGE] genera prefisso_FileName_005.pdf. If\ it\ doesn't\ contain\ "[CURRENTPAGE]",\ "[TIMESTAMP]"\ or\ "[FILENUMBER]"\ it\ generates\ oldstyle\ output\ file\ names.=Se non contiene "[CURRENTPAGE]", "[TIMESTAMP]" or "[FILENUMBER]" genera nomi di file normali. Available\ variables=Variabili disponibili # F:\pdfsam\workspace-enhanced\pdfsam-split\src\java\org\pdfsam\plugin\split\GUI\SplitMainGUI.java:364 Invalid\ split\ size=Dimensione di split non valida The\ lowest\ available\ pdf\ version\ is\ =La minima versione pdf disponibile \u00e8 You\ selected\ a\ lower\ output\ pdf\ version,\ continue\ anyway\ ?=Hai selezionato una versione pdf di output minore, vuoi continuare? # F:\pdfsam\workspace-enhanced\pdfsam-split\src\java\org\pdfsam\plugin\split\GUI\SplitMainGUI.java:293 # F:\pdfsam\workspace-enhanced\pdfsam-mix\src\java\org\pdfsam\plugin\mix\GUI\MixMainGUI.java:194 Pdf\ version\ conflict=Conflitto versione pdf Please\ select\ a\ pdf\ document.=Prego selezionare un documento pdf. # F:\workspace_pdfsame_enanched\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:373 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:411 Split\ selected\ file=Dividi il file selezionato Split=Dividi # F:\workspace_pdfsame_enanched\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:490 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:536 Split\ section\ loaded.=Sezione split caricata. # F:\pdfsam\workspace-enhanced\pdfsam-split\src\java\org\pdfsam\plugin\split\components\JSplitSizeCombo.java:70 Invalid\ unit\:\ =Unit\u00e0 non valida Fill\ from\ document=Ricava dal documento Getting\ bookmarks\ max\ depth=Ricavando la profondit\u00e0 massima dei segnalibri Frontpage\ pdf\ file=Documento pdf di copertina Addendum\ pdf\ file=Documento pdf di sommario Select\ at\ least\ one\ cover\ or\ one\ footer=Seleziona almeno una copertina o un footer Frontpage\ and\ Addendum=Copertina e Appendice # F:\workspace_pdfsame_enanched\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:863 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:876 Cover\ And\ Footer\ section\ loaded.=Sezione Copertina e Sommario caricata. Encrypt\ options=Opzioni di criptatura # F:\workspace_pdfsame_enanched\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:202 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:206 Owner\ password\:=Password amministratore\: # F:\workspace_pdfsame_enanched\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:206 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:210 Owner\ password\ (Max\ 32\ chars\ long)=Password amministratore (Max 32 caratteri) # F:\workspace_pdfsame_enanched\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:210 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:214 User\ password\:=Password utente\: # F:\workspace_pdfsame_enanched\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:214 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:218 User\ password\ (Max\ 32\ chars\ long)=Password utente (Max 32 caratteri) Encryption\ algorithm\:=Algoritmo di criptatura # F:\workspace_pdfsame_enanched\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:249 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:253 Allow\ all=Permetti tutto # F:\workspace_pdfsame_enanched\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:225 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:229 Print=Stampa # F:\workspace_pdfsame_enanched\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:228 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:232 Low\ quality\ print=Stampa bassa qualit\u00e0 # F:\workspace_pdfsame_enanched\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:231 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:235 Copy\ or\ extract=Copia ed estrazione # F:\workspace_pdfsame_enanched\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:234 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:238 Modify=Modifica # F:\workspace_pdfsame_enanched\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:237 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:241 Add\ or\ modify\ text\ annotations=Aggiunti o modifica annotazioni # F:\workspace_pdfsame_enanched\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:240 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:244 Fill\ form\ fields=Riepi campi form # F:\workspace_pdfsame_enanched\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:243 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:247 Extract\ for\ use\ by\ accessibility\ dev.=Estrai per device di accessibilit\u00e0 # F:\workspace_pdfsame_enanched\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:246 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:250 Manipulate\ pages\ and\ add\ bookmarks=Manipola pagine e aggiungi segnalibri # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:460 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:348 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:314 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:460 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:348 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:312 Check\ the\ box\ if\ you\ want\ compressed\ output\ files\ (Pdf\ version\ 1.5\ or\ higher).=Seleziona il box se vuoi file di destinazione compressi (Versione pdf 1.5 o superiore). # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:395 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:395 If\ it\ contains\ "[TIMESTAMP]"\ it\ performs\ variable\ substitution.=Se contiene "[TIMESTAMP]" esegue la sostituzione delle variabili. # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:396 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:396 Ex.\ [BASENAME]_prefix_[TIMESTAMP]\ generates\ FileName_prefix_20070517_113423471.pdf.=Es. [BASENAME]_prefisso_[TIMESTAMP] genera NomeFile_prefisso_20070517_113423471.pdf. # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:397 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:397 If\ it\ doesn't\ contain\ "[TIMESTAMP]"\ it\ generates\ oldstyle\ output\ file\ names.=se non contiene "[TIMESTAMP]" genera nomi dei file di output col metodo standard. # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:398 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:398 Available\ variables\:\ [TIMESTAMP],\ [BASENAME].=Variabili disponibili\: [TIMESTAMP], [BASENAME]. # F:\workspace_pdfsame_enanched\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:404 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:463 Encrypt\ selected\ files=Cripta i file selezionati # F:\workspace_pdfsame_enanched\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:252 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:256 Encrypt=Cripta # F:\workspace_pdfsame_enanched\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:546 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:613 Encrypt\ section\ loaded.=Sezione encrypt caricata. Decrypt\ selected\ files=Decripta i file selezionati Decrypt=Decripta Decrypt\ section\ loaded.=Sezione Decrypt caricata Mix\ options=Opzioni di mix # F:\workspace_pdfsame_enanched\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:189 # F:\workspace_pdfsame_enanched\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:193 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:191 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:195 Reverse\ first\ document=Inverti il primo documento # F:\workspace_pdfsame_enanched\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:189 # F:\workspace_pdfsame_enanched\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:193 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:191 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:195 Reverse\ second\ document=Inverti il secondo documento Number\ of\ pages\ to\ switch\ document=Numero di pagine a cui cambiare documento Tick\ the\ boxes\ if\ you\ want\ to\ reverse\ the\ first\ or\ the\ second\ document\ (or\ both).=Seleziona i box se vuoi invertire l'ordine delle pagine del primo o del secondo documento (o entrambi) Set\ the\ number\ of\ pages\ to\ switch\ from\ a\ document\ to\ the\ other\ one\ (default\ is\ 1).=Imposta il numero di pagine per cui passare da un documento all'altro (default \u00e8 1) # F:\pdfsam\workspace-enhanced\pdfsam-mix\src\java\org\pdfsam\plugin\mix\GUI\MixMainGUI.java:214 Found\ a\ password\ for\ first\ file.=Trovata una password per il primo file. # F:\pdfsam\workspace-enhanced\pdfsam-mix\src\java\org\pdfsam\plugin\mix\GUI\MixMainGUI.java:222 Found\ a\ password\ for\ second\ file.=Trovata una password per il secondo file. # F:\workspace_pdfsame_enanched\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:189 # F:\workspace_pdfsame_enanched\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:193 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:191 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:195 Please\ select\ two\ pdf\ documents.=Selezionare due documenti pdf. # F:\workspace_pdfsame_enanched\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:309 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:318 Execute\ pdf\ alternate\ mix=Esegui il mix alternato Alternate\ Mix=Mix Alternato # F:\workspace_pdfsame_enanched\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:483 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:495 AlternateMix\ section\ loaded.=Sezione mix alternato caricata. # F:\workspace_pdfsame_enanched\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:404 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:463 Unpack\ selected\ files=Spacchetta i file selezionati Unpack=Spacchetta # F:\workspace_pdfsame_enanched\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:546 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:613 Unpack\ section\ loaded.=Sezione unpack caricata. Set\ viewer\ options=Imposta opzioni visualizzatore Hide\ the\ menubar=Nascondi la barra dei menu Hide\ the\ toolbar=Nascondi la barra degli strumenti Hide\ user\ interface\ elements=Nascondi gli elementi dell'interfaccia utente Rezise\ the\ window\ to\ fit\ the\ page\ size=Ridimensiona la finestra per adattarsi alle dimensioni della pagina Center\ of\ the\ screen=Centro dello schermo Display\ document\ title\ as\ window\ title=Mostra il titolo del documento come titolo della finestra Pdf\ version\ required\:=Versione pdf richiesta\: No\ page\ scaling\ in\ print\ dialog=Non ridimensionare la pagina nella finestra di stampa Viewer\ layout\:=Layout del visualizzatore\: Viewer\ open\ mode\:=Modo di apertura del visualizzatore\: Non\ fullscreen\ mode\:=Modo non a schermo intero\: Direction\:=Direzione\: Set\ options=Imposta opzioni Set\ viewer\ options\ for\ selected\ files=Imposta opzioni del visualizzatore per i file selezionati Left\ to\ right=Da sinistra a destra Right\ to\ left=Da destra a sinistra None=Nessuno Fullscreen=A tutto schermo Attachments=Allegati Optional\ content\ group\ panel=Pannello dei livelli Document\ outline=Segnalibri del documento Thumbnail\ images=Immagini di anteprima One\ page\ at\ a\ time=Una pagina alla volta Pages\ in\ one\ column=Pagine in una colonna Pages\ in\ two\ columns\ (odd\ on\ the\ left)=Pagine in due colonne (dispari a sinistra) Pages\ in\ two\ columns\ (odd\ on\ the\ right)=Pagine in due colonne (dispari a destra) Two\ pages\ at\ a\ time\ (odd\ on\ the\ left)=Due pagine alla volta (dispari a sinistra) Two\ pages\ at\ a\ time\ (odd\ on\ the\ right)=Due pagine alla volta (dispari a destra) Viewer\ options=Opzioni visualizzatore Viewer\ options\ section\ loaded.=Sezione opzioni visualizzatore caricata Save\ passwords\ informations\ (they\ will\ be\ readable\ opening\ the\ output\ file)?=Salvare le informazioni delle password (che saranno leggibili aprendo il file di output)? Confirm\ password\ saving=Conferma salvataggio password # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\LogPanel.java:231 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:233 Unknown\ action.=Azione sconosciuta. # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\LogPanel.java:251 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:253 Log\ saved.=Log salvato. # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:113 # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:64 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:113 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:64 \ node\ environment\ loaded.=\ Nodo ambiente caricato. # F:\pdfsam\workspace-enhanced\pdfsam-maine\src\java\org\pdfsam\guiclient\business\Environment.java:84 Environment\ saved.=Ambiente salvato # F:\pdfsam\workspace-enhanced\pdfsam-maine\src\java\org\pdfsam\guiclient\business\Environment.java:86 Error\ saving\ environment,\ output\ file\ is\ null.=Errore salvando l'ambiente, il file di output \u00e8 nullo. # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:109 # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:58 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:109 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:58 Error\ saving\ environment.=Errore salvando l'ambiente. # F:\workspace_pdfsame_enanched\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:546 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:613 Environment\ loaded.=Ambiente caricato. # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:113 # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:64 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:113 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:64 Error\ loading\ environment.=Errore caricando l'ambiente. # F:\pdfsam\workspace-enhanced\pdfsam-maine\src\java\org\pdfsam\guiclient\business\Environment.java:115 Error\ loading\ environment\ from\ input\ file.\ =Errore caricando l'ambiente dal file in input. # F:\pdfsam\workspace-enhanced\pdfsam-maine\src\java\org\pdfsam\guiclient\commons\business\PdfLoader.java:110 Selection\ table\ is\ full,\ please\ remove\ some\ pdf\ document.=La tabella di selezione \u00e8 piena, prego rimuovere alcuni documenti pdf. # F:\pdfsam\workspace-enhanced\pdfsam-maine\src\java\org\pdfsam\guiclient\commons\business\PdfLoader.java:111 Table\ full=Tabella piena # F:\workspace_pdfsame_enanched\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:250 # F:\workspace_pdfsame_enanched\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:856 # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:237 # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:782 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:252 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:869 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:245 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:851 Please\ wait\ while\ reading=Attendere mentre sto leggendo # F:\workspace_pdfsame_enanched\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:185 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:187 Selected\ file\ is\ not\ a\ pdf\ document.=Il file selezionato non \u00e8 un documento pdf. # F:\pdfsam\workspace-enhanced\pdfsam-maine\src\java\org\pdfsam\guiclient\plugins\PlugInsLoader.java:147 Error\ loading\ =Errore caricando Command\ validation\ returned\ an\ empty\ value.=La validazione del comando ha ritornato un valore vuoto. # F:\pdfsam\workspace-enhanced\pdfsam-merge\src\java\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:296 # F:\pdfsam\workspace-enhanced\pdfsam-split\src\java\org\pdfsam\plugin\split\GUI\SplitMainGUI.java:395 # F:\pdfsam\workspace-enhanced\pdfsam-mix\src\java\org\pdfsam\plugin\mix\GUI\MixMainGUI.java:258 Command\ executed.=Comando eseguito. # F:\workspace_pdfsame_enanched\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:178 # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:170 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:180 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:178 File\ name=Nome file Number\ of\ pages=Numero di pagine File\ size=Dimensione file Pdf\ version=Versione pdf Encryption=Criptatura Not\ encrypted=Non criptato Permissions=Permessi Title=Titolo # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:118 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:118 Author=Autore Subject=Oggetto Producer=Produttore Creator=Creatore Creation\ date=Data di creazione Modification\ date=Data di modifica Keywords=Parole chiave Document\ properties=Propriet\u00e0 documento # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:55 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:55 File=File Close=Chiudi # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\LogPanel.java:99 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:99 Copy=Copia Error\ creating\ properties\ panel.=Errore creando il pannello delle propriet\u00e0. # F:\workspace_pdfsame_enanched\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:532 # F:\workspace_pdfsame_enanched\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:403 # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:487 # F:\workspace_pdfsame_enanched\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:311 # F:\workspace_pdfsame_enanched\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:372 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:542 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:462 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:526 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:320 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:410 Run=Esegui # F:\workspace_pdfsame_enanched\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:393 # F:\workspace_pdfsame_enanched\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:420 # F:\workspace_pdfsame_enanched\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:447 # F:\workspace_pdfsame_enanched\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:171 # F:\workspace_pdfsame_enanched\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:323 # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:401 # F:\workspace_pdfsame_enanched\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:148 # F:\workspace_pdfsame_enanched\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:175 # F:\workspace_pdfsame_enanched\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:243 # F:\workspace_pdfsame_enanched\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:157 # F:\workspace_pdfsame_enanched\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:285 # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:225 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:394 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:421 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:448 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:175 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:340 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:430 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:150 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:177 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:244 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:164 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:304 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:233 Browse=Sfoglia # F:\workspace_pdfsame_enanched\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:262 # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:249 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:264 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:257 Add=Aggiungi # F:\workspace_pdfsame_enanched\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:324 # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:330 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:326 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:338 Compress\ output\ file/files=Comprimi file/s di output # F:\workspace_pdfsame_enanched\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:451 # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:405 # F:\workspace_pdfsame_enanched\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:248 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:452 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:315 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:434 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:249 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:279 Overwrite\ if\ already\ exists=Sovrascrivi se gi\u00e0 esistente Don't\ preserve\ file\ order\ (fast\ load)=Non preservare l'ordine dei file (caricamento veloce) # F:\workspace_pdfsame_enanched\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:328 # F:\workspace_pdfsame_enanched\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:290 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:353 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:318 Output\ document\ pdf\ version\:=Versione pdf del documento di output\: !The\ cross\ reference\ table\ cantained\ some\ error\ and\ has\ been\ rebuilt= !The\ document\ has\ not\ been\ opened\ with\ the\ owner\ password.\ You\ must\ provide\ the\ owner\ password\ in\ order\ to\ manipulate\ the\ document= !An\ error\ occured\ while\ loading\ the\ document= # F:\workspace_pdfsame_enanched\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:185 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:187 Same\ as\ input\ document=Uguale al documento in input # F:\workspace_pdfsame_enanched\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:179 # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:171 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:181 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:179 Path=Percorso # F:\workspace_pdfsame_enanched\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:180 # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:172 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:182 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:180 Pages=Pagine # F:\workspace_pdfsame_enanched\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:210 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:214 Password=Password # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:118 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:118 Version=Versione # F:\workspace_pdfsame_enanched\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:181 # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:173 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:183 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:181 Page\ Selection=Selezione pagine # F:\pdfsam\workspace-enhanced\pdfsam-maine\src\java\org\pdfsam\guiclient\commons\models\PdfSelectionTableModel.java:82 Total\ pages\ of\ the\ document=Pagine totali del documento # F:\pdfsam\workspace-enhanced\pdfsam-maine\src\java\org\pdfsam\guiclient\commons\models\PdfSelectionTableModel.java:83 Password\ to\ open\ the\ document\ (if\ needed)=Password per aprire il documento (se necessaria) # F:\pdfsam\workspace-enhanced\pdfsam-split\src\java\org\pdfsam\plugin\split\GUI\SplitMainGUI.java:293 # F:\pdfsam\workspace-enhanced\pdfsam-mix\src\java\org\pdfsam\plugin\mix\GUI\MixMainGUI.java:194 Pdf\ version\ of\ the\ document=Versione pdf del documento. Double\ click\ to\ set\ pages\ you\ want\ to\ merge\ (ex\:\ 2\ or\ 5-23\ or\ 2,5-7,12-)=Doppio click per impostare le pagine da unire (es\:2 or 5-23 or 2,5-7,12-) # F:\workspace_pdfsame_enanched\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:230 # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:217 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:232 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:225 Add\ a\ pdf\ to\ the\ list=Aggiungi un pdf alla lista # F:\workspace_pdfsame_enanched\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:267 # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:254 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:269 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:262 Remove\ a\ pdf\ from\ the\ list=Rimuovi un pdf dalla lista # F:\pdfsam\workspace-enhanced\pdfsam-maine\src\java\org\pdfsam\guiclient\commons\panels\JPdfSelectionPanel.java:213 (Canc)=(Canc) # F:\workspace_pdfsame_enanched\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:271 # F:\workspace_pdfsame_enanched\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:315 # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:258 # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:303 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:273 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:317 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:266 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:311 Remove=Rimuovi Reload=Ricarica # F:\workspace_pdfsame_enanched\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:336 # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:342 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:338 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:350 Error\:\ Unable\ to\ reload\ the\ selected\ file/s.=Errore\: Impossibile ricaricare il file selezionato/i. # F:\pdfsam\workspace-enhanced\pdfsam-maine\src\java\org\pdfsam\guiclient\commons\panels\JPdfSelectionPanel.java:414 Unable\ to\ remove\ JList\ text\ =Impossibile rimuovere il testo nella JList # F:\workspace_pdfsame_enanched\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:586 # F:\workspace_pdfsame_enanched\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:636 # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:546 # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:596 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:596 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:646 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:585 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:635 File\ selected\:\ =File selezionato\: # F:\workspace_pdfsame_enanched\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:586 # F:\workspace_pdfsame_enanched\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:636 # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:546 # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:596 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:596 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:646 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:585 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:635 File\ reloaded\:\ =File ricaricato\: # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:265 # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:312 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:273 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:320 Move\ Up=Muovi su # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:266 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:274 Move\ up\ selected\ pdf\ file=Muovi su il file selezionato # F:\pdfsam\workspace-enhanced\pdfsam-maine\src\java\org\pdfsam\guiclient\commons\panels\JPdfSelectionPanel.java:240 (Alt+ArrowUp)=(Alt+FrecciaSu) # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:274 # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:321 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:282 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:329 Move\ Down=Muovi gi\u00f9 # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:275 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:283 Move\ down\ selected\ pdf\ file=Muovi gi\u00f9 il file selezionato # F:\pdfsam\workspace-enhanced\pdfsam-maine\src\java\org\pdfsam\guiclient\commons\panels\JPdfSelectionPanel.java:261 (Alt+ArrowDown)=(Alt+FrecciaGiu) # F:\workspace_pdfsame_enanched\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:282 # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:286 # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\LogPanel.java:105 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:284 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:294 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:105 Clear=Pulisci # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:287 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:295 Remove\ every\ pdf\ file\ from\ the\ merge\ list=Rimuove ogni file dalla lista # F:\workspace_pdfsame_enanched\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:324 # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:330 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:326 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:338 Set\ output\ file=Imposta il file di output # F:\workspace_pdfsame_enanched\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:336 # F:\workspace_pdfsame_enanched\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:342 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:338 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:350 Error\:\ Unable\ to\ get\ the\ file\ path.=Errore\: Impossibile recuperare il percorso del file. Unable\ to\ get\ the\ default\ environment\ informations.=Impossibile ottenere informazioni sull'ambiente di default. # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:117 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:225 Setting\ look\ and\ feel...=Impostando il Look and feel... # F:\pdfsam\workspace-enhanced\pdfsam-maine\src\java\org\pdfsam\guiclient\configuration\Configuration.java:165 Setting\ logging\ level...=Impostando il livello di log... Unable\ to\ find\ log\ level,\ setting\ to\ default\ level\ (DEBUG).=Impossibile ricavare il livello di log, settato al livello di default (DEBUG). # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\LogPanel.java:144 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:143 Logging\ level\ set\ to\ =Livello di log impostato a # F:\pdfsam\workspace-enhanced\pdfsam-maine\src\java\org\pdfsam\guiclient\configuration\Configuration.java:165 Unable\ to\ set\ logging\ level.=Impostando il livello di log. # F:\pdfsam\workspace-enhanced\pdfsam-maine\src\java\org\pdfsam\guiclient\plugins\PlugInsLoader.java:65 Error\ getting\ plugins\ directory.=Errore ricavando la directory dei plugin. # F:\pdfsam\workspace-enhanced\pdfsam-maine\src\java\org\pdfsam\guiclient\plugins\PlugInsLoader.java:91 Cannot\ read\ plugins\ directory\ =Impossibile leggere la directory dei plugin # F:\pdfsam\workspace-enhanced\pdfsam-maine\src\java\org\pdfsam\guiclient\plugins\PlugInsLoader.java:94 Plugins\ directory\ is\ null.=La directory dei plugin \u00e8 nulla. # F:\pdfsam\workspace-enhanced\pdfsam-maine\src\java\org\pdfsam\guiclient\plugins\PlugInsLoader.java:121 Found\ zero\ or\ many\ jars\ in\ plugin\ directory\ =Trovati zero o molti jar nella directory del plugin # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:176 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:188 Exception\ loading\ plugins.=Eccezione caricando i plugin. # F:\pdfsam\workspace-enhanced\pdfsam-maine\src\java\org\pdfsam\guiclient\plugins\PlugInsLoader.java:127 Cannot\ read\ plugin\ directory\ =Impossibile leggere la directory dei plugin # F:\workspace_pdfsame_enanched\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:490 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:536 \ plugin\ loaded.=\ plugin caricato. # F:\pdfsam\workspace-enhanced\pdfsam-maine\src\java\org\pdfsam\guiclient\plugins\PlugInsLoader.java:144 Unable\ to\ load\ a\ plugin\ that\ is\ not\ JPanel\ subclass.=Impossibile caricare un plugin che non \u00e8 sottoclasse di JPanel. # F:\pdfsam\workspace-enhanced\pdfsam-maine\src\java\org\pdfsam\guiclient\plugins\PlugInsLoader.java:147 Error\ loading\ class\ =Errore caricando la classe # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\LogPanel.java:112 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:112 Select\ all=Seleziona tutto # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:117 # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\LogPanel.java:121 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:117 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:121 Save\ log=Salva log # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:109 # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:58 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:109 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:58 Save\ environment=Salva ambiente # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:113 # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:64 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:113 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:64 Load\ environment=Carica ambiente # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:125 # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:70 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:125 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:70 Exit=Esci # F:\pdfsam\workspace-enhanced\pdfsam-maine\src\java\org\pdfsam\guiclient\gui\components\JMainMenuBar.java:90 Unable\ to\ initialize\ menu\ bar.=Impossibile inizializzare la barra del menu. # F:\pdfsam\workspace-enhanced\pdfsam-maine\src\java\org\pdfsam\guiclient\gui\frames\JMainFrame.java:89 started\ in\ =avviato in # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:176 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:188 Loading\ plugins..=Caricando i plugin.. # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:155 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:167 Building\ menus..=Costruendo i menu.. # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:161 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:173 Building\ buttons\ bar..=Costruendo la barra dei bottoni.. # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:245 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:259 Building\ status\ bar..=Costruendo la barra di stato.. # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:217 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:231 Building\ tree..=Costruendo l'albero.. # F:\pdfsam\workspace-enhanced\pdfsam-maine\src\java\org\pdfsam\guiclient\gui\panels\JSettingsPanel.java:141 Loading\ default\ environment.=Caricando l'ambiente di default. # F:\pdfsam\workspace-enhanced\pdfsam-maine\src\java\org\pdfsam\guiclient\gui\frames\JMainFrame.java:181 Error\ starting\ pdfsam.=Errore avviando pdfsam. # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:121 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:121 Clear\ log=Pulisci log # F:\pdfsam\workspace-enhanced\pdfsam-maine\src\java\org\pdfsam\guiclient\gui\panels\JButtonsPanel.java:107 Unable\ to\ initialize\ button\ bar.=Impossibile inizializzare la barra dei bottoni. # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 Version\:\ =Versione\: # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 Language\:\ =Linguaggio\: Developed\ by\:\ =Sviluppato da\: # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 Build\ date\:\ =Data di build\: # F:\pdfsam\workspace-enhanced\pdfsam-maine\src\java\org\pdfsam\guiclient\gui\panels\JInfoPanel.java:110 Java\ home\:\ =Java home\: # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 Java\ version\:\ =Versione Java\: Max\ memory\:\ =Memoria massima\: # F:\pdfsam\workspace-enhanced\pdfsam-maine\src\java\org\pdfsam\guiclient\gui\panels\JInfoPanel.java:112 Configuration\ file\:\ =File di configurazione\: # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 Website\:\ =Sito web\: # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:118 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:118 Name=Nome About=Informazioni # F:\pdfsam\workspace-enhanced\pdfsam-maine\src\java\org\pdfsam\guiclient\gui\panels\JInfoPanel.java:169 Unimplemented\ method\ for\ JInfoPanel=Metodo non implementato per JInfoPanel # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:167 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:167 Contributes\:\ =Contributi\: # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:126 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:128 Log\ level\:=Livello di log\: Settings=Impostazioni # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:117 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:119 Look\ and\ feel\:=Look and feel\: # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:120 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:122 Theme\:=Tema\: # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:123 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:125 Language\:=Linguaggio\: Check\ for\ updates\:=Controlla aggiornamenti\: # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:129 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:131 Load\ default\ environment\ at\ startup\:=Carica l'ambiente di default all'avvio\: Default\ working\ directory\:=Directory di lavoro di default\: # F:\pdfsam\workspace-enhanced\pdfsam-maine\src\java\org\pdfsam\guiclient\gui\panels\JSettingsPanel.java:141 Error\ getting\ default\ environment.=Errore ricavando l'ambiente di default. # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:396 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:396 Check\ now=Controlla ora Play\ alert\ sounds=Esegui suoni di allerta # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:223 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:223 Settings\ =Impostazioni # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:123 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:224 Language=Linguaggio # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:224 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:224 Set\ your\ preferred\ language\ (restart\ needed)=Imposta la tua lingua preferita (riavvio necessario) # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:117 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:225 Look\ and\ feel=Look and feel # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:225 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:225 Set\ your\ preferred\ look\ and\ feel\ and\ your\ preferred\ theme\ (restart\ needed)=Imposta il tuo look and feel preferito e il tuo tema preferito (riavvio necessario) # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:126 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:226 Log\ level=Livello di log # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:226 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:226 Set\ a\ log\ detail\ level\ (restart\ needed)=Imposta un livello di dettaglio dei log (riavvio necessario) Check\ for\ updates=Controlla aggiornamenti Set\ when\ new\ version\ availability\ should\ be\ checked\ (restart\ needed)=Imposta quando controllare se disponibile una nuova versione (riavvio necessario) Turn\ on\ or\ off\ alert\ sounds=Attiva o disattiva suoni di allerta # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:227 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:227 Default\ env.=Ambiente di default # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:227 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:227 Select\ a\ previously\ saved\ env.\ file\ that\ will\ be\ automatically\ loaded\ at\ startup=Seleziona un ambiente precedentemente salvato che verr\u00e0 automaticamente caricato all'avvio # F:\workspace_pdfsame_enanched\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:301 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:458 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:345 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:309 Default\ working\ directory=Directory di lavoro di default Select\ a\ directory\ where\ documents\ will\ be\ saved\ and\ loaded\ by\ default=Seleziona una directory dove i documenti saranno salvati e caricati di default # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:250 # F:\workspace_pdfsame_enanched\pdfsam-maine\it\pdfsam\panels\LogPanel.java:239 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:257 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:241 Save=Salva # F:\pdfsam\workspace-enhanced\pdfsam-maine\src\java\org\pdfsam\guiclient\gui\panels\JSettingsPanel.java:279 Configuration\ saved.=Configurazione salvata. # F:\pdfsam\workspace-enhanced\pdfsam-maine\src\java\org\pdfsam\guiclient\gui\panels\JSettingsPanel.java:509 Unimplemented\ method\ for\ JSettingsPanel=Metodo non implementato per JSettingsPanel New\ version\ available\:\ =Nuova versione disponibile\: Plugins=Moduli # F:\pdfsam\workspace-enhanced\pdfsam-maine\src\java\org\pdfsam\guiclient\plugins\PlugInsLoader.java:65 Error\ getting\ pdf\ version\ description.=Errore ricavando la descrizione della versione pdf. # F:\pdfsam\workspace-enhanced\pdfsam-maine\src\java\org\pdfsam\guiclient\commons\components\JPdfVersionCombo.java:50 Version\ 1.2\ (Acrobat\ 3)=Versione 1.2 (Acrobat 3) # F:\pdfsam\workspace-enhanced\pdfsam-maine\src\java\org\pdfsam\guiclient\commons\components\JPdfVersionCombo.java:51 Version\ 1.3\ (Acrobat\ 4)=Versione 1.3 (Acrobat 4) # F:\pdfsam\workspace-enhanced\pdfsam-maine\src\java\org\pdfsam\guiclient\commons\components\JPdfVersionCombo.java:52 Version\ 1.4\ (Acrobat\ 5)=Versione 1.4 (Acrobat 5) # F:\pdfsam\workspace-enhanced\pdfsam-maine\src\java\org\pdfsam\guiclient\commons\components\JPdfVersionCombo.java:53 Version\ 1.5\ (Acrobat\ 6)=Versione 1.5 (Acrobat 6) # F:\pdfsam\workspace-enhanced\pdfsam-maine\src\java\org\pdfsam\guiclient\commons\components\JPdfVersionCombo.java:54 Version\ 1.6\ (Acrobat\ 7)=Versione 1.6 (Acrobat 7) # F:\pdfsam\workspace-enhanced\pdfsam-maine\src\java\org\pdfsam\guiclient\commons\components\JPdfVersionCombo.java:55 Version\ 1.7\ (Acrobat\ 8)=Versione 1.7 (Acrobat 8) Never=Mai pdfsam\ start\ up=Avvio di pdfsam Output\ file\ location\ is\ not\ correct=La locazione del file di output non \u00e8 corretta Would\ you\ like\ to\ change\ it\ to=Vuoi cambiarla in # F:\workspace_pdfsame_enanched\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:328 # F:\workspace_pdfsame_enanched\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:290 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:353 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:318 Output\ location\ error=Errore locazione output Selected\ output\ file\ already\ exists\ =Il file di destinazione selezionato esiste gi\u00e0 Would\ you\ like\ to\ overwrite\ it?=Vuoi sovrascriverlo? Provided\ pages\ selection\ is\ not\ valid=La selezione di pagine fornita non \u00e8 valida Limits\ must\ be\ a\ comma\ separated\ list\ of\ "page_number"\ or\ "page_number-page_number"=I limiti devono essere una lista separata da virgola di "numero_pagina" o "numero_pagina-numero_pagina" Limits\ are\ not\ valid=I limiti non sono validi Checking\ for\ a\ new\ version\ available.=Controllando se disponibile una nuova versione. Error\ checking\ for\ a\ new\ version\ available.=Errore controllando se \u00e8 disponibile una nuova versione. Unable\ to\ get\ latest\ available\ version=Impossibile recuperare l'ultima versione disponibile New\ version\ available.=Nuova versione disponibile. No\ new\ version\ available.=Nessuna nuova versione disponibile. Cut=Taglia Paste=Incolla pdfsam-1.1.4/pdfsam-langpack-br1/src/java/org/pdfsam/i18n/resources/Messages_hr.properties0000644000175000017500000005013211225342444031361 0ustar twernertwerner# Croatian translation for pdfsam # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the pdfsam package. # FIRST AUTHOR , 2008. # !=Project-Id-Version\: pdfsam\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2009-07-09 12\:23+0200\nPO-Revision-Date\: 2009-04-13 10\:39+0000\nLast-Translator\: Manic \nLanguage-Team\: Croatian \nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Launchpad-Export-Date\: 2009-05-29 14\:40+0000\nX-Generator\: Launchpad (build Unknown)\n Merge\ options=Postavke spajanja PDF\ documents\ contain\ forms=PDF dokumenti sadr\u017ee formulare Merge\ type=Tip spajanja Unchecked=Neprovjereno Use\ this\ merge\ type\ for\ standard\ pdf\ documents=Koristi ovaj tip spajanja za standardne pdf dokumente Checked=Provjereno Use\ this\ merge\ type\ for\ pdf\ documents\ containing\ forms=Korisi ovaj tip spajanja za pdf dokumente koji sadr\u017ee formulare Note=Bilje\u0161ka Setting\ this\ option\ the\ documents\ will\ be\ completely\ loaded\ in\ memory=Postavljanjem ove mogu\u0107nosti dokumenti \u0107e biti u potpunosti u\u010ditani u memoriju Destination\ output\ file=Odredi\u0161te izlazne datoteke Error\:\ =Gre\u0161ka\: Browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ file.=Odaberite ili unesite punu putanju do odredi\u0161ta izlazne datoteke. Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ file\ if\ it\ already\ exists.=Odaberite ovu opciju ako \u017eelite prepisati izlaznu datoteku ako ve\u0107 ista postoji. Check\ the\ box\ if\ you\ want\ compressed\ output\ files.=Odaberite ovu opciju ako \u017eelite komprimirane izlazne datoteke. PDF\ version\ 1.5\ or\ above.=PDF ina\u010dica 1.5 ili ve\u0107a. Set\ the\ pdf\ version\ of\ the\ ouput\ document.=Postavi pdf ina\u010dicu izlaznog dokumenta. Please\ wait\ while\ all\ files\ are\ processed..=Molimo pri\u010dekajte dok se datoteke ne obrade... Found\ a\ password\ for\ input\ file.=Prona\u0111ena zaporka ulaznog dokumenta Please\ select\ at\ least\ one\ pdf\ document.=Molim odaberite barem jedan pdf dokument. Warning=Upozorenje Execute\ pdf\ merge=Izvr\u0161i pdf spajanje Merge/Extract=Spajanje/Izdvajanje Merge\ section\ loaded.=Sekcija za spajanje je u\u010ditana. Export\ as\ xml=Izvezi kao xml Unable\ to\ save\ xml\ file.=Ne mogu spremiti xml datoteku Ok=U redu File\ xml\ saved.=XML datoteka je spremljena. Error\ saving\ xml\ file,\ output\ file\ is\ null.=Gre\u0161ka pri spremanju xml datoteke, izlazna datoteka je prazna. Split\ options=Mogu\u0107nosti dijeljenja Burst\ (split\ into\ single\ pages)=Raskidanje (podijela na pojedina\u010dne stranice) Split\ every\ "n"\ pages=Podijeli kod svake "n-te" stranice Split\ even\ pages=Podijeli parne stranice Split\ odd\ pages=Podijeli neparne stranice Split\ after\ these\ pages=Podijeli poslije ovih stranica Split\ at\ this\ size=Podijeli kod ove veli\u010dine Split\ by\ bookmarks\ level=Podijeli prema razinama oznaka Burst=Raskidanje Explode\ the\ pdf\ document\ into\ single\ pages=Raskini pdf dokument na pojedina\u010dne stranice Split\ the\ document\ every\ "n"\ pages=Razdvoji dokument na svakoj "n" stranici Split\ the\ document\ every\ even\ page=Razdvoji dokument na svakoj parnoj stranici Split\ the\ document\ every\ odd\ page=Razdvoji dokument na svakoj neparnoj stranici Split\ the\ document\ after\ page\ numbers\ (num1-num2-num3..)=Razdvoji dokument poslije brojeva stranica (n1-n2-n3) Split\ the\ document\ in\ files\ of\ the\ given\ size\ (roughly)=Podijeli dokument u datoteke dane veli\u010dine (ugrubo) Split\ the\ document\ at\ pages\ referred\ by\ bookmarks\ of\ the\ given\ level=Podijeli dokument prema stranicama nazna\u010denim oznakama zadane razine Destination\ folder=Odredi\u0161na mapa Same\ as\ source=Isto kao izvor Choose\ a\ folder=Izaberi mapu Destination\ output\ directory=Odredi\u0161te izlazne mape Use\ the\ same\ output\ folder\ as\ the\ input\ file\ or\ choose\ a\ folder.=Koristi istu izlaznu mapu kao i za ulaznu datoteku ili izaberi mapu. To\ choose\ a\ folder\ browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ directory.=Da bi odabrali mapu pregledajte ili upi\u0161ite punu putanju do odredi\u0161ta izlazne mape. Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ files\ if\ they\ already\ exist.=Odaberite opciju ako \u017eelite prepisati izlaznu datoteku ako ve\u0107 postoji. Output\ options=Postavke izlazne datoteke Output\ file\ names\ prefix\:=Prefiks imena izlazne datoteke\: Output\ files\ prefix=Prefiks izlaznih datoteka !If\ it\ contains\ "[CURRENTPAGE]",\ "[TIMESTAMP]",\ "[FILENUMBER]"\ or\ "[BOOKMARK_NAME]"\ it\ performs\ variable\ substitution.= Ex.\ prefix_[BASENAME]_[CURRENTPAGE]\ generates\ prefix_FileName_005.pdf.=Npr. prefix_[BASENAME]_[CURRENTPAGE] generira prefix_ImeDatoteke_005.pdf. If\ it\ doesn't\ contain\ "[CURRENTPAGE]",\ "[TIMESTAMP]"\ or\ "[FILENUMBER]"\ it\ generates\ oldstyle\ output\ file\ names.=Ako ne sadr\u017ei "[CURRENTPAGE]", "[TIMESTAMP]" or "[FILENUMBER]" onda generira nazive izlaznih datoteka prema starom modelu. !Available\ variables= Invalid\ split\ size=Neispravna veli\u010dina razdvajanja The\ lowest\ available\ pdf\ version\ is\ =Najni\u017ea dostupna pdf ina\u010dica je You\ selected\ a\ lower\ output\ pdf\ version,\ continue\ anyway\ ?=Odabrali ste ni\u017eu izlaznu pdf ina\u010dicu. Nastaviti? Pdf\ version\ conflict=Sukob pdf ina\u010dice Please\ select\ a\ pdf\ document.=Molimo odaberite pdf dokument. Split\ selected\ file=Razdijeli odabranu datoteku Split=Razdijeli Split\ section\ loaded.=U\u010ditana razdijeljena sekcija Invalid\ unit\:\ =Neispravna jedinica\: Fill\ from\ document=Popuni iz dokumenta Getting\ bookmarks\ max\ depth=Pribavljanje maksimalne dubine razine oznaka !Frontpage\ pdf\ file= !Addendum\ pdf\ file= Select\ at\ least\ one\ cover\ or\ one\ footer=Odaberite najmanje jednu naslovnicu i jedno podno\u017eje Frontpage\ and\ Addendum=Naslovnica i dodatak Cover\ And\ Footer\ section\ loaded.=Sekcija naslovnice i podno\u017eja je u\u010ditana. Encrypt\ options=Postavke enkripcije Owner\ password\:=Vlasni\u010dka zaporka Owner\ password\ (Max\ 32\ chars\ long)=Vlasni\u010dka zaporka (Maksimalno 32 znaka) User\ password\:=Korisni\u010dka zaporka\: User\ password\ (Max\ 32\ chars\ long)=Korisni\u010dka zaporka (Maksimalno 32 znaka) Encryption\ algorithm\:=Algoritam enkripcije\: Allow\ all=Dozvoli sve Print=Ispis Low\ quality\ print=Ispis niske kvalitete Copy\ or\ extract=Kopiraj ili izdvoji Modify=Izmijeni Add\ or\ modify\ text\ annotations=Dodaj ili izmijeni napomene Fill\ form\ fields=Popuni iz polja Extract\ for\ use\ by\ accessibility\ dev.=Izdvoji za kori\u0161tenje pri razvoju dostupnosti. Manipulate\ pages\ and\ add\ bookmarks=Manipuliraj stranicama i dodaj knji\u0161ke oznake Check\ the\ box\ if\ you\ want\ compressed\ output\ files\ (Pdf\ version\ 1.5\ or\ higher).=Odaberite ovu opciju ako \u017eelite sa\u017eeti izlazne datoteke (pdf ina\u010dica 1.5 ili ve\u0107a) If\ it\ contains\ "[TIMESTAMP]"\ it\ performs\ variable\ substitution.=Ako sadr\u017ei "[TIMESTAMP]" izvr\u0161ava se zamjena promjenjive. Ex.\ [BASENAME]_prefix_[TIMESTAMP]\ generates\ FileName_prefix_20070517_113423471.pdf.=Npr. [BASENAME]_prefix_[TIMESTAMP] generira FileName_prefix_20070517_113423471.pdf. If\ it\ doesn't\ contain\ "[TIMESTAMP]"\ it\ generates\ oldstyle\ output\ file\ names.=Ako ne sadr\u017ei "[TIMESTAMP]" generira imena izlaznih datoteka u starom stilu. Available\ variables\:\ [TIMESTAMP],\ [BASENAME].=Dostupne promjenjive\: [TIMESTAMP], [BASENAME]. Encrypt\ selected\ files=Enkriptiraj odabrane datoteke Encrypt=Enkriptiraj Encrypt\ section\ loaded.=U\u010ditana enkriptirana sekcija. Decrypt\ selected\ files=Dekriptiraj odabrane datoteke Decrypt=Dekriptiraj Decrypt\ section\ loaded.=U\u010ditana dekriptirana sekcija Mix\ options=Mje\u0161ovite postavke Reverse\ first\ document=Preokreni prvi dokument Reverse\ second\ document=Preokreni drugi dokument !Number\ of\ pages\ to\ switch\ document= !Tick\ the\ boxes\ if\ you\ want\ to\ reverse\ the\ first\ or\ the\ second\ document\ (or\ both).= !Set\ the\ number\ of\ pages\ to\ switch\ from\ a\ document\ to\ the\ other\ one\ (default\ is\ 1).= Found\ a\ password\ for\ first\ file.=Prona\u0111ena zaporka za prvu datoteku. Found\ a\ password\ for\ second\ file.=Prona\u0111ena zaporka za drugu datoteku. Please\ select\ two\ pdf\ documents.=Molimo odaberite dva pdf dokumenta. Execute\ pdf\ alternate\ mix=Napravi pdf mije\u0161ani dokument Alternate\ Mix=Mije\u0161ani dokument AlternateMix\ section\ loaded.=U\u010ditana sekcija mije\u0161anog dokumenta Unpack\ selected\ files=Raspakiraj odabrane datoteke Unpack=Raspakiraj Unpack\ section\ loaded.=U\u010ditana raspakirana sekcija. Set\ viewer\ options=Postavi opcije preglednika Hide\ the\ menubar=Sakrij traku izbornika Hide\ the\ toolbar=Sakrij alatnu traku Hide\ user\ interface\ elements=Sakrij elemente korisni\u010dkog su\u010delja Rezise\ the\ window\ to\ fit\ the\ page\ size=Prilagodi veli\u010dinu prozora veli\u010dini stranice Center\ of\ the\ screen=Sredi\u0161te ekrana Display\ document\ title\ as\ window\ title=Prika\u017ei naslov dokumenta kao naslov prozora Pdf\ version\ required\:=Potrebna pdf verzija\: No\ page\ scaling\ in\ print\ dialog=Bez promjene veli\u010dine dokumenta u dijalogu za ispis Viewer\ layout\:=Izgled preglednika\: Viewer\ open\ mode\:=Na\u010din otvaranja preglednika Non\ fullscreen\ mode\:=Na\u010din bez izgleda cijelog zaslona\: Direction\:=Smjer\: Set\ options=Promijeni postavke Set\ viewer\ options\ for\ selected\ files=Promjena postavki preglednika za odabrane datoteke Left\ to\ right=Slijeva na desno Right\ to\ left=Zdesna na lijevo None=Ni\u0161ta Fullscreen=Cijeli zaslon Attachments=Privici Optional\ content\ group\ panel=Neobavezni grupni panel sadr\u017eaja Document\ outline=Koncept dokumenta Thumbnail\ images=Minijature One\ page\ at\ a\ time=Stranica po stranica Pages\ in\ one\ column=Stranice u jednom stupcu Pages\ in\ two\ columns\ (odd\ on\ the\ left)=Stranice u dva stupca (neparne slijeva) Pages\ in\ two\ columns\ (odd\ on\ the\ right)=Stranice u dva stupca (neparne zdesna) Two\ pages\ at\ a\ time\ (odd\ on\ the\ left)=Dvije stranice odjednom (neparne slijeva) Two\ pages\ at\ a\ time\ (odd\ on\ the\ right)=Dvije stranice odjednom (neparne zdesna) Viewer\ options=Postavke preglednika Viewer\ options\ section\ loaded.=U\u010ditane postavke preglednika. Save\ passwords\ informations\ (they\ will\ be\ readable\ opening\ the\ output\ file)?=Spremi informacije zaporke (biti \u0107e \u010ditljive pri otvaranju izlazne datoteke)? Confirm\ password\ saving=Potvrdi spremanje zaporke Unknown\ action.=Nepoznata akcija Log\ saved.=Zapisnik spremljen. \ node\ environment\ loaded.=\ u\u010ditano okru\u017eje \u010dvorova. Environment\ saved.=Okru\u017eje spremljeno. Error\ saving\ environment,\ output\ file\ is\ null.=Gre\u0161ka pri spremanju okru\u017eja, izlazna datoteka ne postoji. Error\ saving\ environment.=Gre\u0161ka pri spremanju okru\u017eenja. Environment\ loaded.=Okru\u017eenje u\u010ditano. Error\ loading\ environment.=Gre\u0161ka pri u\u010ditavanju okru\u017eenja. Error\ loading\ environment\ from\ input\ file.\ =Gre\u0161ka pri u\u010ditavanju okru\u017eja iz ulazne datoteke. Selection\ table\ is\ full,\ please\ remove\ some\ pdf\ document.=Tablica odabira je popunjena. Molimo uklonite neke pdf dokumente. Table\ full=Tablica popunjena Please\ wait\ while\ reading=Molimo pri\u010dekajte dok se dokument \u010dita Selected\ file\ is\ not\ a\ pdf\ document.=Odabrana datoteka nije pdf dokument. Error\ loading\ =Gre\u0161ka pri u\u010ditavanju Command\ validation\ returned\ an\ empty\ value.=Provjera komande je vratila praznu vrijednost. Command\ executed.=Izvr\u0161ena komanda. File\ name=Ime datoteke Number\ of\ pages=Broj stranica File\ size=Veli\u010dina datoteke Pdf\ version=PDF verzija Encryption=Enkripcija Not\ encrypted=Nije ekriptirano Permissions=Dozvole Title=Naslov Author=Autor Subject=Predmet Producer=Proizvo\u0111a\u010d Creator=Autor Creation\ date=Datum stvaranja Modification\ date=Datum promjene Keywords=Klju\u010dne rije\u010di Document\ properties=Svojstva dokumenta File=Datoteka Close=Zatvori Copy=Kopiraj Error\ creating\ properties\ panel.=Gre\u0161ka pri stvaranju panela svojstava. Run=Pokreni Browse=Pregledaj Add=Dodaj Compress\ output\ file/files=Sa\u017emi izlazne datoteke Overwrite\ if\ already\ exists=Prepi\u0161i preko ako ve\u0107 postoji Don't\ preserve\ file\ order\ (fast\ load)=Nemoj o\u010duvati redoslijed datoteka (brzo u\u010ditavanje) Output\ document\ pdf\ version\:=Pdf ina\u010dica izlaznog dokumenta\: !The\ cross\ reference\ table\ cantained\ some\ error\ and\ has\ been\ rebuilt= !The\ document\ has\ not\ been\ opened\ with\ the\ owner\ password.\ You\ must\ provide\ the\ owner\ password\ in\ order\ to\ manipulate\ the\ document= !An\ error\ occured\ while\ loading\ the\ document= Same\ as\ input\ document=Isto kao i ulazni dokument Path=Putanja Pages=Stranice Password=Zaporka Version=Ina\u010dica Page\ Selection=Izbor stranica Total\ pages\ of\ the\ document=Ukupno stranica u dokumentu Password\ to\ open\ the\ document\ (if\ needed)=Zaporka za otvaranje dokumenta (ako je potrebna) Pdf\ version\ of\ the\ document=Pdf ina\u010dica dokumenta !Double\ click\ to\ set\ pages\ you\ want\ to\ merge\ (ex\:\ 2\ or\ 5-23\ or\ 2,5-7,12-)= Add\ a\ pdf\ to\ the\ list=Dodaj pdf na listu Remove\ a\ pdf\ from\ the\ list=Ukloni pdf sa liste (Canc)=(Odustani) Remove=Ukloni Reload=Osvje\u017ei Error\:\ Unable\ to\ reload\ the\ selected\ file/s.=Gre\u0161ka\: Ne mogu u\u010ditati odabrane datoteke. Unable\ to\ remove\ JList\ text\ =Ne mogu ukloniti JList tekst File\ selected\:\ =Odabrane datoteke\: File\ reloaded\:\ =U\u010ditana datoteka\: Move\ Up=Premjesti gore Move\ up\ selected\ pdf\ file=Premjesti pdf datoteku gore (Alt+ArrowUp)=(Alt+Strelica gore) Move\ Down=Premjesti dolje Move\ down\ selected\ pdf\ file=Premjesti pdf datoteku dolje (Alt+ArrowDown)=(Alt+Strelica dolje) Clear=Obri\u0161i Remove\ every\ pdf\ file\ from\ the\ merge\ list=Ukloni sve pdf datoteke iz liste za spajanje Set\ output\ file=Postavi izlaznu datoteku Error\:\ Unable\ to\ get\ the\ file\ path.=Gre\u0161ka\: Ne mogu pristupiti putanji datoteke. Unable\ to\ get\ the\ default\ environment\ informations.=Ne mogu dobiti uobi\u010dajene informacije okru\u017eja. Setting\ look\ and\ feel...=Postavlja se izgled su\u010delja... Setting\ logging\ level...=Postavlja se razina zapisnika... Unable\ to\ find\ log\ level,\ setting\ to\ default\ level\ (DEBUG).=Ne mogu prona\u0107i razinu zapisnika, postavlja se uobi\u010dajena razina (DEBUG). Logging\ level\ set\ to\ =Razina zapisnika je postavljena na Unable\ to\ set\ logging\ level.=Ne mogu postaviti razinu zapisnika. Error\ getting\ plugins\ directory.=Gre\u0161ka pri tra\u017eenju mape dodataka. Cannot\ read\ plugins\ directory\ =Ne mogu \u010ditati mapu dodataka. Plugins\ directory\ is\ null.=Mapa dodataka ne postoji. Found\ zero\ or\ many\ jars\ in\ plugin\ directory\ =Nije prona\u0111en ili je prona\u0111eno vi\u0161e paketa u mapi dodataka. Exception\ loading\ plugins.=Gre\u0161ka pri u\u010ditavanju dodataka. Cannot\ read\ plugin\ directory\ =Ne mogu \u010ditati mapu dodatka. \ plugin\ loaded.=\ dodatak u\u010ditan. Unable\ to\ load\ a\ plugin\ that\ is\ not\ JPanel\ subclass.=Ne mogu u\u010ditati dodatak koji nije JPanel podklasa. Error\ loading\ class\ =Gre\u0161ka pri u\u010ditavanju klase Select\ all=Odaberi sve Save\ log=Spremi zapisnik. Save\ environment=Spremi okru\u017eje Load\ environment=U\u010ditaj okru\u017eje Exit=Izlaz Unable\ to\ initialize\ menu\ bar.=Ne mogu pokrenuti traku glavnog izbornika. started\ in\ =pokrenut u Loading\ plugins..=U\u010ditavam dodatke... Building\ menus..=Pravim izbornike... Building\ buttons\ bar..=Pravim trake dugmi\u0107a... Building\ status\ bar..=Pravim statusnu traku... Building\ tree..=Gradim navigacijsko drvo... Loading\ default\ environment.=U\u010ditavam uobi\u010dajeno okru\u017eje. Error\ starting\ pdfsam.=Gre\u0161ka pri pokretanju pdfsam aplikacije. Clear\ log=O\u010disti zapisnik Unable\ to\ initialize\ button\ bar.=Ne mogu pokrenuti traku dugmi\u0107a. Version\:\ =Ina\u010dica\: Language\:\ =Jezik\: !Developed\ by\:\ = Build\ date\:\ =Datum kompiliranja\: Java\ home\:\ =Internet stranica Jave\: Java\ version\:\ =Ina\u010dica Jave\: Max\ memory\:\ =Maksimalno memorije\: Configuration\ file\:\ =Konfiguracijska datoteka\: Website\:\ =Internet stranica\: Name=Naziv About=O programu Unimplemented\ method\ for\ JInfoPanel=Neimplementirana metoda za JInfoPanel Contributes\:\ =Doprinijeli su\: Log\ level\:=Razina zapisnika\: Settings=Postavke Look\ and\ feel\:=Izgled su\u010delja Theme\:=Tema\: Language\:=Jezik\: Check\ for\ updates\:=Potra\u017ei nadogradnje\: Load\ default\ environment\ at\ startup\:=U\u010ditaj uobi\u010dajeno okru\u017eje pri pokretanju\: Default\ working\ directory\:=Uobi\u010dajena mapa za rad\: Error\ getting\ default\ environment.=Gre\u0161ka pri tra\u017eenju uobi\u010dajenog okru\u017eja. Check\ now=Provjeri sada Play\ alert\ sounds=Koristi zvukove upozorenja Settings\ =Postavke Language=Jezik Set\ your\ preferred\ language\ (restart\ needed)=Postavite va\u0161 jezik (potrebno ponovno pokretanje) Look\ and\ feel=Izgled su\u010delja Set\ your\ preferred\ look\ and\ feel\ and\ your\ preferred\ theme\ (restart\ needed)=Postavite va\u0161 izgled su\u010delja i temu (potrebno je ponovno pokretanje) Log\ level=Razina zapisnika Set\ a\ log\ detail\ level\ (restart\ needed)=Postavi razinu detalja zapisnika (potrebno ponovno pokretanje) Check\ for\ updates=Potra\u017ei nadogradnje Set\ when\ new\ version\ availability\ should\ be\ checked\ (restart\ needed)=Postavite kada bi dostupnost nove verzije trebalo provjeriti (potrebno je ponovno pokretanje) Turn\ on\ or\ off\ alert\ sounds=Uklju\u010di ili isklju\u010di zvukove upozorenja Default\ env.=Uobi\u010dajeno okru\u017eje Select\ a\ previously\ saved\ env.\ file\ that\ will\ be\ automatically\ loaded\ at\ startup=Odaberite prethodno spremljenu datoteku okru\u017eja koje \u0107e biti automatski u\u010ditano pri pokretanju Default\ working\ directory=Uobi\u010dajena mapa za rad Select\ a\ directory\ where\ documents\ will\ be\ saved\ and\ loaded\ by\ default=Odaberite mapu gdje \u0107e dokumenti biti spremljeni i u\u010ditani Save=Spremi Configuration\ saved.=Konfiguracija spremljena. Unimplemented\ method\ for\ JSettingsPanel=Neimplementirana metoda za JSettingsPanel New\ version\ available\:\ =Dostupna je nova ina\u010dica\: Plugins=Moduli Error\ getting\ pdf\ version\ description.=Gre\u0161ka pri \u010ditanju opisa pdf ina\u010dice. Version\ 1.2\ (Acrobat\ 3)=Ina\u010dica 1.2 (Acrobat 3) Version\ 1.3\ (Acrobat\ 4)=Ina\u010dica 1.3 (Acrobat 4) Version\ 1.4\ (Acrobat\ 5)=Ina\u010dica 1.4 (Acrobat 5) Version\ 1.5\ (Acrobat\ 6)=Ina\u010dica 1.5 (Acrobat 6) Version\ 1.6\ (Acrobat\ 7)=Ina\u010dica 1.6 (Acrobat 7) Version\ 1.7\ (Acrobat\ 8)=Ina\u010dica 1.7 (Acrobat 8) Never=Nikada pdfsam\ start\ up=Pokretanje pdfsam aplikacije Output\ file\ location\ is\ not\ correct=Lokacija izlazne datoteke nije valjana Would\ you\ like\ to\ change\ it\ to=Da li \u017eeliti promijeniti u Output\ location\ error=Gre\u0161ka odredi\u0161ne lokacije Selected\ output\ file\ already\ exists\ =Odabrana izlazna datoteka ve\u0107 postoji Would\ you\ like\ to\ overwrite\ it?=Da li ju \u017eelite prebrisati? !Provided\ pages\ selection\ is\ not\ valid= !Limits\ must\ be\ a\ comma\ separated\ list\ of\ "page_number"\ or\ "page_number-page_number"= !Limits\ are\ not\ valid= Checking\ for\ a\ new\ version\ available.=Provjeravam dostupnost nove ina\u010dice. Error\ checking\ for\ a\ new\ version\ available.=Gre\u0161ka pri provjeri dostupnosti nove ina\u010dice. Unable\ to\ get\ latest\ available\ version=Ne mogu \u010ditati posljednju dostupnu ina\u010dicu New\ version\ available.=Dostupna je nova ina\u010dica. No\ new\ version\ available.=Nije dostupna je nova ina\u010dica. Cut=Izre\u017ei Paste=Zalijepi pdfsam-1.1.4/pdfsam-langpack-br1/src/java/org/pdfsam/i18n/resources/Messages_da.properties0000644000175000017500000011417511225342444031344 0ustar twernertwerner# Danish translation for pdfsam # Copyright (c) 2007 Rosetta Contributors and Canonical Ltd 2007 # This file is distributed under the same license as the pdfsam package. # FIRST AUTHOR , 2007. # !=Project-Id-Version\: pdfsam\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2009-07-09 12\:23+0200\nPO-Revision-Date\: 2009-05-09 15\:07+0000\nLast-Translator\: Mads Boserup Lauritsen \nLanguage-Team\: Danish \nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Launchpad-Export-Date\: 2009-05-29 14\:40+0000\nX-Generator\: Launchpad (build Unknown)\n Merge\ options=Egenskaber for fletning # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:389 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:392 PDF\ documents\ contain\ forms=PDF-dokumenter indeholder formularer # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:394 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:397 Merge\ type=Flettetype # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:395 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:398 Unchecked=Ikke afkrydset # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:395 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:398 Use\ this\ merge\ type\ for\ standard\ pdf\ documents=Anvend denne flettetype til standard pdf-dokumenter # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:396 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:399 Checked=Afkrydset # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:396 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:399 Use\ this\ merge\ type\ for\ pdf\ documents\ containing\ forms=Anvend denne flettetype for pdf-dokumenter der indeholder formularer # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:397 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:400 Note=Bem\u00e6rkning Setting\ this\ option\ the\ documents\ will\ be\ completely\ loaded\ in\ memory=Ved denne indstilling indl\u00e6ses dokumentet fuldst\u00e6ndigt i hukommelsen # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:440 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:255 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:444 Destination\ output\ file=Destinationsfil # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:387 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:414 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:441 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:599 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:619 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:649 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:879 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:983 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:616 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:423 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:588 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:608 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:638 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:861 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:977 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:143 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:170 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:237 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:498 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:539 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:256 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:427 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:599 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:907 Error\:\ =Fejl\: Browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ file.=Gennemse eller indtast den fulde sti til destinationsfilen. Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ file\ if\ it\ already\ exists.=Afkryds boksen hvis du \u00f8nsker at overskrive destinationsfilen, hvis den allerede eksisterer. Check\ the\ box\ if\ you\ want\ compressed\ output\ files.=Afkryds boksen hvis du \u00f8nsker at komprimere destinationsfilen. PDF\ version\ 1.5\ or\ above.=PDF version 1.5 eller h\u00f8jere Set\ the\ pdf\ version\ of\ the\ ouput\ document.=Definer pdf-versionen for slutdokumentet Please\ wait\ while\ all\ files\ are\ processed..=Vent venligst mens alle filer behandles.. Found\ a\ password\ for\ input\ file.=Fandt en adgangskode til kildefil. Please\ select\ at\ least\ one\ pdf\ document.=V\u00e6lg mindst \u00e9t pdf-dokument. Warning=Advarsel # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:524 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:528 Execute\ pdf\ merge=Udf\u00f8r pdf-fletning Merge/Extract=Flet / Tag ud Merge\ section\ loaded.=Flettesektion indl\u00e6st. Export\ as\ xml=Eksporter som xml Unable\ to\ save\ xml\ file.=Kunne ikke gemme xml fil. Ok=O.k. File\ xml\ saved.=Xml fil gemt. Error\ saving\ xml\ file,\ output\ file\ is\ null.=Fejl under gemning af xml-fil, destinationsfil er null. # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:220 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:220 Split\ options=Opdelingsindstillinger # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:195 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:194 Burst\ (split\ into\ single\ pages)=Opdel (i enkelt sider) Split\ every\ "n"\ pages=Opdel hver \u00bbn\u00ab side # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:206 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:223 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:205 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:223 Split\ even\ pages=Opdel ved lige sider # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:209 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:224 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:208 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:224 Split\ odd\ pages=Opdel ved ulige sider # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:212 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:225 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:211 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:225 Split\ after\ these\ pages=Opdel efter disse sider Split\ at\ this\ size=Opdel ved denne st\u00f8rrelse Split\ by\ bookmarks\ level=Opdel ved bogm\u00e6rkeniveau # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:221 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:221 Burst=Opdel Explode\ the\ pdf\ document\ into\ single\ pages=Opdel pdf-dokumentet i enkel sider Split\ the\ document\ every\ "n"\ pages=Opdel dokumentet hver \u00bbn\u00ab side Split\ the\ document\ every\ even\ page=Opdel dokumentet ved lige sider Split\ the\ document\ every\ odd\ page=Opdel dokumentet ved ulige sider Split\ the\ document\ after\ page\ numbers\ (num1-num2-num3..)=Opdel dokumentet efter sidenumre (num1-num2-num3..) Split\ the\ document\ in\ files\ of\ the\ given\ size\ (roughly)=Opdel dokumentet i filer af en given st\u00f8rrelse (cirka) !Split\ the\ document\ at\ pages\ referred\ by\ bookmarks\ of\ the\ given\ level= Destination\ folder=Destinationsmappe # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:297 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:256 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:256 Same\ as\ source=Samme som kilde # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:301 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:260 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:260 Choose\ a\ folder=V\u00e6lg en mappe # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:458 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:345 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:309 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:305 Destination\ output\ directory=Destinationsmappe # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:346 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:310 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:306 Use\ the\ same\ output\ folder\ as\ the\ input\ file\ or\ choose\ a\ folder.=Anvend den samme destinationsmappe som originalfilen eller v\u00e6lg en mappe. # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:347 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:311 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:307 To\ choose\ a\ folder\ browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ directory.=Gennemse eller indtast fuld sti til destinationsmappen for at v\u00e6lge en mappe. # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:460 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:348 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:312 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:308 Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ files\ if\ they\ already\ exist.=Afkryds denne boks hvis du \u00f8nsker at overskrive destinationsfilerne, hvis de allerede eksisterer. Output\ options=Output-indstillinger # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:384 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:326 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:322 Output\ file\ names\ prefix\:=Pr\u00e6fiks for destinationsfilnavn\: # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:394 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:336 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:331 Output\ files\ prefix=Pr\u00e6fiks for destinationsfil !If\ it\ contains\ "[CURRENTPAGE]",\ "[TIMESTAMP]",\ "[FILENUMBER]"\ or\ "[BOOKMARK_NAME]"\ it\ performs\ variable\ substitution.= # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:338 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:333 Ex.\ prefix_[BASENAME]_[CURRENTPAGE]\ generates\ prefix_FileName_005.pdf.=Eventuel pr\u00e6fiks_[BASENAME]_[CURRENTPAGE] giver pr\u00e6fiks_Filnavn_005.pdf !If\ it\ doesn't\ contain\ "[CURRENTPAGE]",\ "[TIMESTAMP]"\ or\ "[FILENUMBER]"\ it\ generates\ oldstyle\ output\ file\ names.= Available\ variables=Tilg\u00e6ngelige variabler Invalid\ split\ size=Ugyldig opdelingsst\u00f8rrelse The\ lowest\ available\ pdf\ version\ is\ =Den lavest tilg\u00e6ngelige PDF version er You\ selected\ a\ lower\ output\ pdf\ version,\ continue\ anyway\ ?=Du valgte en lavere output pdf-version. \u00f8nsker du at forts\u00e6tte? Pdf\ version\ conflict=Konflikt i pdf-versionen Please\ select\ a\ pdf\ document.=V\u00e6lg et pdf-dokument. # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:411 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:409 Split\ selected\ file=Opdel valgt fil Split=Opdel Split\ section\ loaded.=Opdelsektion indl\u00e6st. Invalid\ unit\:\ =Ugyldig enhed\: Fill\ from\ document=Hent fra dokument !Getting\ bookmarks\ max\ depth= !Frontpage\ pdf\ file= !Addendum\ pdf\ file= Select\ at\ least\ one\ cover\ or\ one\ footer=V\u00e6lg mindst et omslag eller en fodnote !Frontpage\ and\ Addendum= !Cover\ And\ Footer\ section\ loaded.= Encrypt\ options=Krypteringsindstillinger # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:206 Owner\ password\:=Adgangskode ejer\: Owner\ password\ (Max\ 32\ chars\ long)=Adgangskode ejer (maks 32 tegn lang) # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:214 User\ password\:=Adgangskode bruger\: User\ password\ (Max\ 32\ chars\ long)=Adgangskode bruger (maks 32 tegn lang) Encryption\ algorithm\:=Krypteringsalgoritme\: # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:253 Allow\ all=Tillad alle # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:229 Print=Udskriv # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:232 Low\ quality\ print=Udskriv i lav kvalitet # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:235 Copy\ or\ extract=Kopier eller udtr\u00e6k Modify=\u00c6ndr # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:241 Add\ or\ modify\ text\ annotations=Tilf\u00f8j eller \u00e6ndre tekstkommentarer # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:244 Fill\ form\ fields=Udfyld formularfelter # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:247 Extract\ for\ use\ by\ accessibility\ dev.=Udtr\u00e6k til brug for tilg\u00e6ngelighedsudvikling # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:250 Manipulate\ pages\ and\ add\ bookmarks=\u00c6ndre sider og tilf\u00f8je bogm\u00e6rker Check\ the\ box\ if\ you\ want\ compressed\ output\ files\ (Pdf\ version\ 1.5\ or\ higher).=Afkryds boksen hvis du \u00f8nsker at komprimere destinationsfiler (Pdf version 1.5 eller h\u00f8jere). # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:395 If\ it\ contains\ "[TIMESTAMP]"\ it\ performs\ variable\ substitution.=Hvis den indeholder \u00bb[TIMESTAMP]\u00ab s\u00e5 udf\u00f8res variabel erstatning. # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:396 Ex.\ [BASENAME]_prefix_[TIMESTAMP]\ generates\ FileName_prefix_20070517_113423471.pdf.=F.eks. [BASENAME]_pr\u00e6fiks_[TIMESTAMP] bliver til FileNavn_pr\u00e6fiks_20070517_113423471.pdf. # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:397 If\ it\ doesn't\ contain\ "[TIMESTAMP]"\ it\ generates\ oldstyle\ output\ file\ names.=Hvis den ikke indeholder \u00bb[TIMESTAMP]\u00ab s\u00e5 oprettes originale destinationsfilnavne. # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:398 Available\ variables\:\ [TIMESTAMP],\ [BASENAME].=Tilg\u00e6ngelige variabler\: [TIMESTAMP], [BASENAME]. Encrypt\ selected\ files=Krypt\u00e9r valgte filer Encrypt=Krypt\u00e9r Encrypt\ section\ loaded.=Krypteringssektion indl\u00e6st. Decrypt\ selected\ files=Dekrypt\u00e9r valgte filer Decrypt=Dekrypt\u00e9r Decrypt\ section\ loaded.=Dekrypteringssektion indl\u00e6st. Mix\ options=Indstillinger for sammens\u00e6tning Reverse\ first\ document=F\u00f8rste dokument bagfra Reverse\ second\ document=Andet dokument bagfra !Number\ of\ pages\ to\ switch\ document= !Tick\ the\ boxes\ if\ you\ want\ to\ reverse\ the\ first\ or\ the\ second\ document\ (or\ both).= !Set\ the\ number\ of\ pages\ to\ switch\ from\ a\ document\ to\ the\ other\ one\ (default\ is\ 1).= Found\ a\ password\ for\ first\ file.=Fandt en adgangskode til f\u00f8rste fil. Found\ a\ password\ for\ second\ file.=Fandt en adgangskode til anden fil. Please\ select\ two\ pdf\ documents.=V\u00e6lg venligst to pdf-dokumenter. Execute\ pdf\ alternate\ mix=Udf\u00f8r alternativ pdf-sammens\u00e6tning Alternate\ Mix=Alternativ sammens\u00e6tning AlternateMix\ section\ loaded.=Alternativ mix-sektion indl\u00e6st. Unpack\ selected\ files=Udpak valgte filer Unpack=Udpak Unpack\ section\ loaded.=Udpakningssektion indl\u00e6st. Set\ viewer\ options=S\u00e6t visningsindstillinger Hide\ the\ menubar=Skjul menulinjen Hide\ the\ toolbar=Skjul v\u00e6rt\u00f8jslinjen !Hide\ user\ interface\ elements= Rezise\ the\ window\ to\ fit\ the\ page\ size=Tilpas vinduet til sidest\u00f8rrelsen Center\ of\ the\ screen=Centrer p\u00e5 sk\u00e6rmen Display\ document\ title\ as\ window\ title=Vis dokumenttitel som vinduestitel Pdf\ version\ required\:=Pdf-version kr\u00e6ves\: No\ page\ scaling\ in\ print\ dialog=Ingen sideskalering i udskriftsvinduet !Viewer\ layout\:= !Viewer\ open\ mode\:= Non\ fullscreen\ mode\:=Ingen fuldsk\u00e6rmstilstand Direction\:=Retning\: !Set\ options= !Set\ viewer\ options\ for\ selected\ files= Left\ to\ right=Venstre til h\u00f8jre Right\ to\ left=H\u00f8jre til venstre !None= Fullscreen=Fuldsk\u00e6rm Attachments=Bilag !Optional\ content\ group\ panel= !Document\ outline= Thumbnail\ images=Miniaturebilleder One\ page\ at\ a\ time=En side af gangen Pages\ in\ one\ column=Sider i \u00e9n kolonne Pages\ in\ two\ columns\ (odd\ on\ the\ left)=Sider i to kolonner (ulige til venstre) Pages\ in\ two\ columns\ (odd\ on\ the\ right)=Sider i to kolonner (ulige til h\u00f8jre) Two\ pages\ at\ a\ time\ (odd\ on\ the\ left)=To sider ad gangen (ulige til venstre) Two\ pages\ at\ a\ time\ (odd\ on\ the\ right)=To sider ad gangen (ulige til h\u00f8jre) Viewer\ options=Visningsindstillinger !Viewer\ options\ section\ loaded.= !Save\ passwords\ informations\ (they\ will\ be\ readable\ opening\ the\ output\ file)?= Confirm\ password\ saving=Bekr\u00e6ft gemning af adgangskode # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:233 Unknown\ action.=Ukendt handling. # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:253 Log\ saved.=Log gemt. !\ node\ environment\ loaded.= Environment\ saved.=Milj\u00f8 gemt. Error\ saving\ environment,\ output\ file\ is\ null.=Fejl under gemning af milj\u00f8, destinationsfil er null. Error\ saving\ environment.=Fejl under gemning af milj\u00f8. Environment\ loaded.=Milj\u00f8 indl\u00e6st. Error\ loading\ environment.=Fejl under indl\u00e6sning af milj\u00f8. Error\ loading\ environment\ from\ input\ file.\ =Fejl under indl\u00e6sning af milj\u00f8 fra kildefil. !Selection\ table\ is\ full,\ please\ remove\ some\ pdf\ document.= !Table\ full= !Please\ wait\ while\ reading= Selected\ file\ is\ not\ a\ pdf\ document.=Den valgte fil er ikke et pdf-dokument. Error\ loading\ =Fejl ved indl\u00e6sning af !Command\ validation\ returned\ an\ empty\ value.= Command\ executed.=Kommando udf\u00f8rt. # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:180 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:178 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:181 File\ name=Filnavn !Number\ of\ pages= !File\ size= !Pdf\ version= !Encryption= !Not\ encrypted= !Permissions= !Title= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:118 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\GUI\InfoGUI.java:128 Author=Udvikler !Subject= !Producer= !Creator= !Creation\ date= !Modification\ date= !Keywords= !Document\ properties= File=Filer # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\GUI\InfoGUI.java:150 Close=Luk # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:99 Copy=Kopier !Error\ creating\ properties\ panel.= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:542 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:462 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:526 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:320 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:410 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:530 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:408 Run=Udf\u00f8r # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:394 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:421 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:448 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:175 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:340 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:430 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:150 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:177 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:244 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:164 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:304 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:233 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:434 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:163 # F:\pdfsam\workspace-basic\pdfsam-split\src\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:300 Browse=Gennemse # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:264 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:257 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:260 Add=Tilf\u00f8j Compress\ output\ file/files=Komprimer destinationsfiler # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:452 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:315 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:434 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:249 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:279 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:438 Overwrite\ if\ already\ exists=Overskriv hvis eksisterende !Don't\ preserve\ file\ order\ (fast\ load)= !Output\ document\ pdf\ version\:= !The\ cross\ reference\ table\ cantained\ some\ error\ and\ has\ been\ rebuilt= !The\ document\ has\ not\ been\ opened\ with\ the\ owner\ password.\ You\ must\ provide\ the\ owner\ password\ in\ order\ to\ manipulate\ the\ document= !An\ error\ occured\ while\ loading\ the\ document= !Same\ as\ input\ document= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:181 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:179 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:182 Path=Sti # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:182 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:180 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:183 Pages=Sider Password=Adgangskode # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:118 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\GUI\InfoGUI.java:128 Version=Version # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:183 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:181 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:184 Page\ Selection=Sideudvalg Total\ pages\ of\ the\ document=Totale antal sider i dokumentet Password\ to\ open\ the\ document\ (if\ needed)=Adgangskode til \u00e5bning af dokumentet (hvis n\u00f8dvendigt) Pdf\ version\ of\ the\ document=Dokumentets pdf-version !Double\ click\ to\ set\ pages\ you\ want\ to\ merge\ (ex\:\ 2\ or\ 5-23\ or\ 2,5-7,12-)= # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:232 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:225 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:228 Add\ a\ pdf\ to\ the\ list=Tilf\u00f8j en pdf til listen # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:269 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:262 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:265 Remove\ a\ pdf\ from\ the\ list=Fjern en pdf fra listen (Canc)=(Annuller) # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:273 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:317 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:266 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:311 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:269 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:314 Remove=Fjern Reload=Genindl\u00e6s Error\:\ Unable\ to\ reload\ the\ selected\ file/s.=Fejl\: Ikke i stand til at genindl\u00e6se de valgte filer. Unable\ to\ remove\ JList\ text\ =Ikke i stand til at fjerne JList-tekst # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:596 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:646 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:585 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:635 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:596 File\ selected\:\ =Fil valgt\: File\ reloaded\:\ =Fil genindl\u00e6st\: # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:273 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:320 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:276 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:323 Move\ Up=Flyt op # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:274 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:277 Move\ up\ selected\ pdf\ file=Flyt valgt pdf-fil op (Alt+ArrowUp)=(Alt+Pil op) # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:282 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:329 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:285 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:332 Move\ Down=Flyt ned # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:283 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:286 Move\ down\ selected\ pdf\ file=Flyt valgt pdf-fil ned (Alt+ArrowDown)=(Alt+Pil ned) Clear=Ryd Remove\ every\ pdf\ file\ from\ the\ merge\ list=Fjern alle pdf-filer fra flettelisten # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:326 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:338 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:341 Set\ output\ file=Opret destinationsfil # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:338 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:350 # F:\pdfsam\workspace-basic\pdfsam-merge\src\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:353 Error\:\ Unable\ to\ get\ the\ file\ path.=Fejl\: Ikke i stand til at finde filsti. Unable\ to\ get\ the\ default\ environment\ informations.=Ikke i stand til at hente standard milj\u00f8informationer. !Setting\ look\ and\ feel...= !Setting\ logging\ level...= !Unable\ to\ find\ log\ level,\ setting\ to\ default\ level\ (DEBUG).= Logging\ level\ set\ to\ =Logniveau sat til Unable\ to\ set\ logging\ level.=Ikke i stand til at s\u00e6tte logniveau. Error\ getting\ plugins\ directory.=Fejl under hentning af modulmappe. Cannot\ read\ plugins\ directory\ =Kan ikke l\u00e6se modulmappe Plugins\ directory\ is\ null.=Modulmappe er null. Found\ zero\ or\ many\ jars\ in\ plugin\ directory\ =Fandt ingen eller mange jars i modulmappe !Exception\ loading\ plugins.= Cannot\ read\ plugin\ directory\ =Kan ikke l\u00e6se modulmappe \ plugin\ loaded.=\ modul indl\u00e6st. Unable\ to\ load\ a\ plugin\ that\ is\ not\ JPanel\ subclass.=Ikke i stand til at indl\u00e6se et modul som ikke er JPanel subclass. Error\ loading\ class\ =Fejl under indl\u00e6sning af class # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:112 Select\ all=Marker alt # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:117 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:121 Save\ log=Gem log Save\ environment=Gem milj\u00f8 Load\ environment=Indl\u00e6s milj\u00f8 Exit=Afslut !Unable\ to\ initialize\ menu\ bar.= !started\ in\ = Loading\ plugins..=Indl\u00e6ser moduler... # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:167 Building\ menus..=Opbygger menuer.. Building\ buttons\ bar..=Opbygger knaplinje.. Building\ status\ bar..=Opbygger statuslinje.. # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\GUI\MainGUI.java:231 Building\ tree..=Opbygger tr\u00e6.. Loading\ default\ environment.=Indl\u00e6ser standardmilj\u00f8. !Error\ starting\ pdfsam.= # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:121 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\GUI\MainGUI.java:226 Clear\ log=Ryd log Unable\ to\ initialize\ button\ bar.=Kan ikke initialisere knaplinje. # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 Version\:\ =Version\: # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\GUI\InfoGUI.java:118 Language\:\ =Sprog\: !Developed\ by\:\ = # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\GUI\InfoGUI.java:118 Build\ date\:\ =Oprettelsesdato\: Java\ home\:\ =Java home\: Java\ version\:\ =Java version\: Max\ memory\:\ =Maks hukommelse\: Configuration\ file\:\ =Konfigurationsfil\: # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\GUI\InfoGUI.java:118 Website\:\ =Netsted\: # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:118 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\GUI\InfoGUI.java:128 Name=Navn # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\GUI\MainGUI.java:222 About=Om Unimplemented\ method\ for\ JInfoPanel=Ikke implementeret metode for JInfoPanel # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:167 Contributes\:\ =Bidragydere\: # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:128 Log\ level\:=Logniveau\: Settings=Indstillinger Look\ and\ feel\:=Udseende\: # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:122 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\panels\JSettingsPanel.java:113 Theme\:=Tema\: # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:125 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\panels\JSettingsPanel.java:116 Language\:=Sprog\: Check\ for\ updates\:=S\u00f8g efter opdateringer\: Load\ default\ environment\ at\ startup\:=Indl\u00e6s standardindstillinger ved opstart\: Default\ working\ directory\:=Standard arbejdsmappe\: Error\ getting\ default\ environment.=Fejl under hentning af standardmilj\u00f8. Check\ now=Kontroller nu Play\ alert\ sounds=Afspil lyd Settings\ =Indstillinger # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:224 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\panels\JSettingsPanel.java:182 Language=Sprog # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:224 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\panels\JSettingsPanel.java:182 Set\ your\ preferred\ language\ (restart\ needed)=S\u00e6t dit \u00f8nskede sprog (genstart n\u00f8dvendig) Look\ and\ feel=Udseende Set\ your\ preferred\ look\ and\ feel\ and\ your\ preferred\ theme\ (restart\ needed)=V\u00e6lg det udseende og tema du foretr\u00e6kker (genstart n\u00f8dvendig) # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:226 Log\ level=Logniveau # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:226 Set\ a\ log\ detail\ level\ (restart\ needed)=\u00c6ndr niveau for logdetaljer (genstart n\u00f8dvendig) Check\ for\ updates=S\u00f8g efter opdateringer !Set\ when\ new\ version\ availability\ should\ be\ checked\ (restart\ needed)= Turn\ on\ or\ off\ alert\ sounds=Sl\u00e5 lyde til eller fra Default\ env.=Standardmilj\u00f8 Select\ a\ previously\ saved\ env.\ file\ that\ will\ be\ automatically\ loaded\ at\ startup=V\u00e6lg en tidligere gemt milj\u00f8fil som automatisk indl\u00e6ses ved opstart Default\ working\ directory=Standard arbejdsmappe Select\ a\ directory\ where\ documents\ will\ be\ saved\ and\ loaded\ by\ default=V\u00e6lg en mappe hvorfra dokumenter som standard indl\u00e6ses fra og til # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:257 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:241 # F:\pdfsam\workspace-basic\pdfsam-main\src\it\pdfsam\panels\JSettingsPanel.java:190 Save=Gem Configuration\ saved.=Indstillinger gemt. Unimplemented\ method\ for\ JSettingsPanel=Ikke implementeret metode for JSettingsPanel New\ version\ available\:\ =Ny version tilg\u00e6ngelig\: Plugins=Moduler Error\ getting\ pdf\ version\ description.=Fejl ved hentning af pdf-versionsbeskrivelse. Version\ 1.2\ (Acrobat\ 3)=Version 1.2 (Acrobat 3) Version\ 1.3\ (Acrobat\ 4)=Version 1.3 (Acrobat 4) Version\ 1.4\ (Acrobat\ 5)=Version 1.4 (Acrobat 5) Version\ 1.5\ (Acrobat\ 6)=Version 1.5 (Acrobat 6) Version\ 1.6\ (Acrobat\ 7)=Version 1.6 (Acrobat 7) Version\ 1.7\ (Acrobat\ 8)=Version 1.7 (Acrobat 8) Never=Aldrig pdfsam\ start\ up=pdfsam opstart Output\ file\ location\ is\ not\ correct=Destinationsfil placering ikke korrekt Would\ you\ like\ to\ change\ it\ to=\u00d8nsker du at \u00e6ndre den til !Output\ location\ error= !Selected\ output\ file\ already\ exists\ = !Would\ you\ like\ to\ overwrite\ it?= !Provided\ pages\ selection\ is\ not\ valid= !Limits\ must\ be\ a\ comma\ separated\ list\ of\ "page_number"\ or\ "page_number-page_number"= Limits\ are\ not\ valid=Gr\u00e6nser er ikke gyldige Checking\ for\ a\ new\ version\ available.=Checker om en ny version er tilg\u00e6ngelig. Error\ checking\ for\ a\ new\ version\ available.=Fejl ved check af om ny tilg\u00e6ngelig version. Unable\ to\ get\ latest\ available\ version=Kunne ikke hente senest tilg\u00e6ngelige version New\ version\ available.=Ny version tilg\u00e6ngelig. No\ new\ version\ available.=Der er Ingen ny version tilg\u00e6ngelig. Cut=Klip Paste=S\u00e6t ind pdfsam-1.1.4/pdfsam-langpack-br1/src/java/org/pdfsam/i18n/resources/Messages_uk.properties0000644000175000017500000003625711225342444031403 0ustar twernertwerner# Ukrainian translation for pdfsam # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the pdfsam package. # FIRST AUTHOR , 2008. # !=Project-Id-Version\: pdfsam\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2009-07-09 12\:23+0200\nPO-Revision-Date\: 2008-09-11 11\:48+0000\nLast-Translator\: \u0421\u0435\u0440\u0433\u0456\u0439 \u0414\u0443\u0431\u0438\u043a \nLanguage-Team\: Ukrainian \nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Launchpad-Export-Date\: 2008-09-20 08\:24+0000\nX-Generator\: Launchpad (build Unknown)\n #, fuzzy !Merge\ options=\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438 \u0437'\u0454\u0434\u043d\u0430\u043d\u043d\u044f\: PDF\ documents\ contain\ forms=\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442 PDF \u043c\u0456\u0441\u0442\u0438\u0442\u044c \u0444\u043e\u0440\u043c\u0438 Merge\ type=\u0422\u0438\u043f \u043e\u0431'\u0454\u0434\u043d\u0430\u043d\u043d\u044f Unchecked=\u041d\u0435\u043f\u0435\u0440\u0435\u0432\u0456\u0440\u0435\u043d\u0438\u0439 Use\ this\ merge\ type\ for\ standard\ pdf\ documents=\u0412\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 \u0446\u0435\u0439 \u0442\u0438\u043f \u043e\u0431'\u0454\u0434\u043d\u0430\u043d\u043d\u044f \u0434\u043b\u044f \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0438\u0445 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0456\u0432 PDF Checked=\u041f\u0435\u0440\u0435\u0432\u0456\u0440\u0435\u043d\u043e Use\ this\ merge\ type\ for\ pdf\ documents\ containing\ forms=\u0412\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0432\u0430\u0442\u0438 \u0446\u0435\u0439 \u0442\u0438\u043f \u043e\u0431'\u0454\u0434\u043d\u0430\u043d\u043d\u044f \u0434\u043b\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0456\u0432 PDF, \u0449\u043e \u043c\u0456\u0441\u0442\u044f\u0442\u044c \u0444\u043e\u0440\u043c\u0438 Note=\u041f\u0440\u0438\u043c\u0456\u0442\u043a\u0430 Setting\ this\ option\ the\ documents\ will\ be\ completely\ loaded\ in\ memory=\u0417\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0443\u0432\u0430\u0442\u0438 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438 \u043f\u043e\u0432\u043d\u0456\u0441\u0442\u044e \u0432 \u043f\u0430\u043c'\u044f\u0442\u044c Destination\ output\ file=\u041a\u0456\u043d\u0446\u0435\u0432\u0438\u0439 \u0444\u0430\u0439\u043b\: Error\:\ =\u041f\u043e\u043c\u0438\u043b\u043a\u0430\: Browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ file.=\u041f\u0440\u043e\u0433\u043b\u044f\u043d\u0443\u0442\u0438 \u0430\u0431\u043e \u0432\u0432\u0435\u0441\u0442\u0438 \u043f\u043e\u0432\u043d\u0438\u0439 \u0448\u043b\u044f\u0445 \u0434\u043e \u043a\u0456\u043d\u0446\u0435\u0432\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0443. Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ file\ if\ it\ already\ exists.=\u041f\u043e\u0441\u0442\u0430\u0432\u0442\u0435 \u0432\u0456\u0434\u043c\u0456\u0442\u043a\u0443 Check\ the\ box\ if\ you\ want\ compressed\ output\ files.=\u0412\u043a\u043b\u044e\u0447\u0456\u0442\u044c \u0434\u0430\u043d\u0443 \u043e\u043f\u0446\u0456\u044e \u0434\u043b\u044f \u0441\u0442\u0438\u0441\u043a\u0443\u0432\u0430\u043d\u043d\u044f \u0444\u0430\u0439\u043b\u0456\u0432, \u0449\u043e \u0441\u0442\u0432\u043e\u0440\u044e\u044e\u0442\u044c\u0441\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043e\u044e. PDF\ version\ 1.5\ or\ above.=\u0412\u0435\u0440\u0441\u0456\u044f PDF 1.5 \u0430\u0431\u043e \u0432\u0438\u0449\u0435. Set\ the\ pdf\ version\ of\ the\ ouput\ document.=\u0412\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0438 \u0432\u0435\u0440\u0441\u0456\u044e PDF \u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0456, \u0449\u043e \u0437\u0431\u0435\u0440\u0456\u0433\u0430\u0454\u0442\u044c\u0441\u044f. Please\ wait\ while\ all\ files\ are\ processed..=\u0414\u043e\u0447\u0435\u043a\u0430\u0439\u0442\u0435\u0441\u044f \u0437\u0430\u043a\u0456\u043d\u0447\u0435\u043d\u043d\u044f \u043e\u0431\u0440\u043e\u0431\u043a\u0438 \u0432\u0441\u0456\u0445 \u0444\u0430\u0439\u043b\u0456\u0432.. !Found\ a\ password\ for\ input\ file.= !Please\ select\ at\ least\ one\ pdf\ document.= !Warning= !Execute\ pdf\ merge= !Merge/Extract= !Merge\ section\ loaded.= !Export\ as\ xml= !Unable\ to\ save\ xml\ file.= !Ok= !File\ xml\ saved.= !Error\ saving\ xml\ file,\ output\ file\ is\ null.= !Split\ options= !Burst\ (split\ into\ single\ pages)= !Split\ every\ "n"\ pages= !Split\ even\ pages= !Split\ odd\ pages= !Split\ after\ these\ pages= !Split\ at\ this\ size= !Split\ by\ bookmarks\ level= !Burst= !Explode\ the\ pdf\ document\ into\ single\ pages= !Split\ the\ document\ every\ "n"\ pages= !Split\ the\ document\ every\ even\ page= !Split\ the\ document\ every\ odd\ page= !Split\ the\ document\ after\ page\ numbers\ (num1-num2-num3..)= !Split\ the\ document\ in\ files\ of\ the\ given\ size\ (roughly)= !Split\ the\ document\ at\ pages\ referred\ by\ bookmarks\ of\ the\ given\ level= #, fuzzy !Destination\ folder=\u041a\u0456\u043d\u0446\u0435\u0432\u0438\u0439 \u0444\u0430\u0439\u043b\: !Same\ as\ source= !Choose\ a\ folder= !Destination\ output\ directory= !Use\ the\ same\ output\ folder\ as\ the\ input\ file\ or\ choose\ a\ folder.= !To\ choose\ a\ folder\ browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ directory.= !Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ files\ if\ they\ already\ exist.= !Output\ options= !Output\ file\ names\ prefix\:= !Output\ files\ prefix= !If\ it\ contains\ "[CURRENTPAGE]",\ "[TIMESTAMP]",\ "[FILENUMBER]"\ or\ "[BOOKMARK_NAME]"\ it\ performs\ variable\ substitution.= !Ex.\ prefix_[BASENAME]_[CURRENTPAGE]\ generates\ prefix_FileName_005.pdf.= !If\ it\ doesn't\ contain\ "[CURRENTPAGE]",\ "[TIMESTAMP]"\ or\ "[FILENUMBER]"\ it\ generates\ oldstyle\ output\ file\ names.= !Available\ variables= !Invalid\ split\ size= !The\ lowest\ available\ pdf\ version\ is\ = !You\ selected\ a\ lower\ output\ pdf\ version,\ continue\ anyway\ ?= !Pdf\ version\ conflict= !Please\ select\ a\ pdf\ document.= !Split\ selected\ file= !Split= !Split\ section\ loaded.= !Invalid\ unit\:\ = !Fill\ from\ document= !Getting\ bookmarks\ max\ depth= !Frontpage\ pdf\ file= !Addendum\ pdf\ file= !Select\ at\ least\ one\ cover\ or\ one\ footer= !Frontpage\ and\ Addendum= !Cover\ And\ Footer\ section\ loaded.= #, fuzzy !Encrypt\ options=\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438 \u0437'\u0454\u0434\u043d\u0430\u043d\u043d\u044f\: !Owner\ password\:= !Owner\ password\ (Max\ 32\ chars\ long)= !User\ password\:= !User\ password\ (Max\ 32\ chars\ long)= !Encryption\ algorithm\:= !Allow\ all= !Print= !Low\ quality\ print= !Copy\ or\ extract= !Modify= !Add\ or\ modify\ text\ annotations= !Fill\ form\ fields= !Extract\ for\ use\ by\ accessibility\ dev.= !Manipulate\ pages\ and\ add\ bookmarks= !Check\ the\ box\ if\ you\ want\ compressed\ output\ files\ (Pdf\ version\ 1.5\ or\ higher).= !If\ it\ contains\ "[TIMESTAMP]"\ it\ performs\ variable\ substitution.= !Ex.\ [BASENAME]_prefix_[TIMESTAMP]\ generates\ FileName_prefix_20070517_113423471.pdf.= !If\ it\ doesn't\ contain\ "[TIMESTAMP]"\ it\ generates\ oldstyle\ output\ file\ names.= !Available\ variables\:\ [TIMESTAMP],\ [BASENAME].= !Encrypt\ selected\ files= !Encrypt= !Encrypt\ section\ loaded.= !Decrypt\ selected\ files= !Decrypt= !Decrypt\ section\ loaded.= #, fuzzy !Mix\ options=\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438 \u0437'\u0454\u0434\u043d\u0430\u043d\u043d\u044f\: !Reverse\ first\ document= !Reverse\ second\ document= !Number\ of\ pages\ to\ switch\ document= !Tick\ the\ boxes\ if\ you\ want\ to\ reverse\ the\ first\ or\ the\ second\ document\ (or\ both).= !Set\ the\ number\ of\ pages\ to\ switch\ from\ a\ document\ to\ the\ other\ one\ (default\ is\ 1).= !Found\ a\ password\ for\ first\ file.= !Found\ a\ password\ for\ second\ file.= !Please\ select\ two\ pdf\ documents.= !Execute\ pdf\ alternate\ mix= !Alternate\ Mix= !AlternateMix\ section\ loaded.= !Unpack\ selected\ files= !Unpack= !Unpack\ section\ loaded.= #, fuzzy !Set\ viewer\ options=\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438 \u0437'\u0454\u0434\u043d\u0430\u043d\u043d\u044f\: !Hide\ the\ menubar= !Hide\ the\ toolbar= !Hide\ user\ interface\ elements= !Rezise\ the\ window\ to\ fit\ the\ page\ size= !Center\ of\ the\ screen= !Display\ document\ title\ as\ window\ title= !Pdf\ version\ required\:= !No\ page\ scaling\ in\ print\ dialog= !Viewer\ layout\:= !Viewer\ open\ mode\:= !Non\ fullscreen\ mode\:= !Direction\:= #, fuzzy !Set\ options=\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438 \u0437'\u0454\u0434\u043d\u0430\u043d\u043d\u044f\: !Set\ viewer\ options\ for\ selected\ files= !Left\ to\ right= !Right\ to\ left= #, fuzzy !None=\u041f\u0440\u0438\u043c\u0456\u0442\u043a\u0430 !Fullscreen= !Attachments= !Optional\ content\ group\ panel= #, fuzzy !Document\ outline=\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442 PDF \u043c\u0456\u0441\u0442\u0438\u0442\u044c \u0444\u043e\u0440\u043c\u0438 !Thumbnail\ images= !One\ page\ at\ a\ time= !Pages\ in\ one\ column= !Pages\ in\ two\ columns\ (odd\ on\ the\ left)= !Pages\ in\ two\ columns\ (odd\ on\ the\ right)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ left)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ right)= #, fuzzy !Viewer\ options=\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438 \u0437'\u0454\u0434\u043d\u0430\u043d\u043d\u044f\: !Viewer\ options\ section\ loaded.= !Save\ passwords\ informations\ (they\ will\ be\ readable\ opening\ the\ output\ file)?= !Confirm\ password\ saving= !Unknown\ action.= !Log\ saved.= !\ node\ environment\ loaded.= !Environment\ saved.= !Error\ saving\ environment,\ output\ file\ is\ null.= !Error\ saving\ environment.= !Environment\ loaded.= !Error\ loading\ environment.= !Error\ loading\ environment\ from\ input\ file.\ = !Selection\ table\ is\ full,\ please\ remove\ some\ pdf\ document.= !Table\ full= !Please\ wait\ while\ reading= !Selected\ file\ is\ not\ a\ pdf\ document.= !Error\ loading\ = !Command\ validation\ returned\ an\ empty\ value.= !Command\ executed.= !File\ name= !Number\ of\ pages= !File\ size= !Pdf\ version= !Encryption= !Not\ encrypted= !Permissions= !Title= !Author= !Subject= !Producer= !Creator= !Creation\ date= !Modification\ date= !Keywords= !Document\ properties= !File= !Close= !Copy= !Error\ creating\ properties\ panel.= !Run= !Browse= !Add= !Compress\ output\ file/files= Overwrite\ if\ already\ exists=\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u0430\u0442\u0438, \u044f\u043a\u0449\u043e \u0432\u0436\u0435 \u0456\u0441\u043d\u0443\u0454 !Don't\ preserve\ file\ order\ (fast\ load)= !Output\ document\ pdf\ version\:= !The\ cross\ reference\ table\ cantained\ some\ error\ and\ has\ been\ rebuilt= !The\ document\ has\ not\ been\ opened\ with\ the\ owner\ password.\ You\ must\ provide\ the\ owner\ password\ in\ order\ to\ manipulate\ the\ document= !An\ error\ occured\ while\ loading\ the\ document= !Same\ as\ input\ document= !Path= !Pages= !Password= !Version= !Page\ Selection= !Total\ pages\ of\ the\ document= !Password\ to\ open\ the\ document\ (if\ needed)= !Pdf\ version\ of\ the\ document= !Double\ click\ to\ set\ pages\ you\ want\ to\ merge\ (ex\:\ 2\ or\ 5-23\ or\ 2,5-7,12-)= !Add\ a\ pdf\ to\ the\ list= !Remove\ a\ pdf\ from\ the\ list= !(Canc)= !Remove= !Reload= !Error\:\ Unable\ to\ reload\ the\ selected\ file/s.= !Unable\ to\ remove\ JList\ text\ = !File\ selected\:\ = !File\ reloaded\:\ = !Move\ Up= !Move\ up\ selected\ pdf\ file= !(Alt+ArrowUp)= !Move\ Down= !Move\ down\ selected\ pdf\ file= !(Alt+ArrowDown)= !Clear= !Remove\ every\ pdf\ file\ from\ the\ merge\ list= !Set\ output\ file= !Error\:\ Unable\ to\ get\ the\ file\ path.= !Unable\ to\ get\ the\ default\ environment\ informations.= !Setting\ look\ and\ feel...= !Setting\ logging\ level...= !Unable\ to\ find\ log\ level,\ setting\ to\ default\ level\ (DEBUG).= !Logging\ level\ set\ to\ = !Unable\ to\ set\ logging\ level.= !Error\ getting\ plugins\ directory.= !Cannot\ read\ plugins\ directory\ = !Plugins\ directory\ is\ null.= !Found\ zero\ or\ many\ jars\ in\ plugin\ directory\ = !Exception\ loading\ plugins.= !Cannot\ read\ plugin\ directory\ = !\ plugin\ loaded.= !Unable\ to\ load\ a\ plugin\ that\ is\ not\ JPanel\ subclass.= !Error\ loading\ class\ = !Select\ all= !Save\ log= !Save\ environment= !Load\ environment= !Exit= !Unable\ to\ initialize\ menu\ bar.= !started\ in\ = !Loading\ plugins..= !Building\ menus..= !Building\ buttons\ bar..= !Building\ status\ bar..= !Building\ tree..= !Loading\ default\ environment.= !Error\ starting\ pdfsam.= !Clear\ log= !Unable\ to\ initialize\ button\ bar.= !Version\:\ = !Language\:\ = !Developed\ by\:\ = !Build\ date\:\ = !Java\ home\:\ = !Java\ version\:\ = !Max\ memory\:\ = !Configuration\ file\:\ = !Website\:\ = !Name= !About= !Unimplemented\ method\ for\ JInfoPanel= !Contributes\:\ = !Log\ level\:= !Settings= !Look\ and\ feel\:= !Theme\:= !Language\:= !Check\ for\ updates\:= !Load\ default\ environment\ at\ startup\:= !Default\ working\ directory\:= !Error\ getting\ default\ environment.= !Check\ now= !Play\ alert\ sounds= !Settings\ = !Language= !Set\ your\ preferred\ language\ (restart\ needed)= !Look\ and\ feel= !Set\ your\ preferred\ look\ and\ feel\ and\ your\ preferred\ theme\ (restart\ needed)= !Log\ level= !Set\ a\ log\ detail\ level\ (restart\ needed)= !Check\ for\ updates= !Set\ when\ new\ version\ availability\ should\ be\ checked\ (restart\ needed)= !Turn\ on\ or\ off\ alert\ sounds= !Default\ env.= !Select\ a\ previously\ saved\ env.\ file\ that\ will\ be\ automatically\ loaded\ at\ startup= !Default\ working\ directory= !Select\ a\ directory\ where\ documents\ will\ be\ saved\ and\ loaded\ by\ default= !Save= !Configuration\ saved.= !Unimplemented\ method\ for\ JSettingsPanel= !New\ version\ available\:\ = !Plugins= !Error\ getting\ pdf\ version\ description.= !Version\ 1.2\ (Acrobat\ 3)= !Version\ 1.3\ (Acrobat\ 4)= !Version\ 1.4\ (Acrobat\ 5)= !Version\ 1.5\ (Acrobat\ 6)= !Version\ 1.6\ (Acrobat\ 7)= !Version\ 1.7\ (Acrobat\ 8)= !Never= !pdfsam\ start\ up= Output\ file\ location\ is\ not\ correct=\u0420\u043e\u0437\u0442\u0430\u0448\u0443\u0432\u0430\u043d\u043d\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0443\u044e\u0447\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0443 \u043d\u0435\u0432\u0456\u0440\u043d\u0435 Would\ you\ like\ to\ change\ it\ to=\u0427\u0438 \u0445\u043e\u0447\u0435\u0442\u0435 \u0412\u0438 \u0437\u043c\u0456\u043d\u0438\u0442\u0438 \u0446\u0435 !Output\ location\ error= !Selected\ output\ file\ already\ exists\ = !Would\ you\ like\ to\ overwrite\ it?= !Provided\ pages\ selection\ is\ not\ valid= !Limits\ must\ be\ a\ comma\ separated\ list\ of\ "page_number"\ or\ "page_number-page_number"= !Limits\ are\ not\ valid= !Checking\ for\ a\ new\ version\ available.= !Error\ checking\ for\ a\ new\ version\ available.= !Unable\ to\ get\ latest\ available\ version= !New\ version\ available.= !No\ new\ version\ available.= !Cut= !Paste= pdfsam-1.1.4/pdfsam-langpack-br1/src/java/org/pdfsam/i18n/resources/Messages_ca.properties0000644000175000017500000004714011225342444031340 0ustar twernertwerner# Catalan translation for pdfsam # Copyright (c) 2008 Rosetta Contributors and Canonical Ltd 2008 # This file is distributed under the same license as the pdfsam package. # FIRST AUTHOR , 2008. # !=Project-Id-Version\: pdfsam\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2009-07-09 12\:23+0200\nPO-Revision-Date\: 2008-10-14 06\:34+0000\nLast-Translator\: Josep Llu\u00eds Amador Teruel \nLanguage-Team\: Catalan \nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Launchpad-Export-Date\: 2008-10-14 17\:52+0000\nX-Generator\: Launchpad (build Unknown)\n #, fuzzy !Merge\ options=Opcions de combinaci\u00f3\: PDF\ documents\ contain\ forms=Els documents PDF contenen formularis Merge\ type=Tipus de combinaci\u00f3 Unchecked=Desmarcat Use\ this\ merge\ type\ for\ standard\ pdf\ documents=Utilitza aquest tipus de combinaci\u00f3 per documents pdf est\u00e0ndards Checked=Marcat Use\ this\ merge\ type\ for\ pdf\ documents\ containing\ forms=Utilitza aquest tipus de combinaci\u00f3 per documents pdf que continguin formularis Note=Nota Setting\ this\ option\ the\ documents\ will\ be\ completely\ loaded\ in\ memory=En activar aquesta opci\u00f3 els documents es carregaran completament en mem\u00f2ria Destination\ output\ file=Fitxer de dest\u00ed Error\:\ =S'ha produ\u00eft un error\: Browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ file.=Navegueu o introdu\u00efu el cam\u00ed complet del fitxer de dest\u00ed. Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ file\ if\ it\ already\ exists.=Marqueu el quadre si voleu sobreescriure el fitxer de sortida si ja existeix. Check\ the\ box\ if\ you\ want\ compressed\ output\ files.=Marqueu el quadre si voleu els fitxers de sortida comprimits. PDF\ version\ 1.5\ or\ above.=Versi\u00f3 PDF 1.5 o superior. Set\ the\ pdf\ version\ of\ the\ ouput\ document.=Defineix la versi\u00f3 pdf del document de sortida. Please\ wait\ while\ all\ files\ are\ processed..=Espereu mentre es processen tots els fitxers. Found\ a\ password\ for\ input\ file.=S'ha trobat una contrasenya pel fitxer d'entrada. #, fuzzy !Please\ select\ at\ least\ one\ pdf\ document.=Si us plau, seleccioneu dos documents pdf !Warning= Execute\ pdf\ merge=Executa la combinaci\u00f3 de pdf Merge/Extract=Combina/Extreu Merge\ section\ loaded.=Combina la secci\u00f3 carregada. Export\ as\ xml=Exporta com a xml Unable\ to\ save\ xml\ file.=No s'ha pogut desar el fitxer xml. Ok=D'acord File\ xml\ saved.=S'ha desat el fitxer xml. Error\ saving\ xml\ file,\ output\ file\ is\ null.=Error en desar el fitxer xml, no hi ha fitxer de sortida. Split\ options=Divideix les opcions Burst\ (split\ into\ single\ pages)=Escampar (dividir en p\u00e0gines) Split\ every\ "n"\ pages=Divideix cada "n" p\u00e0gines Split\ even\ pages=Divideix les p\u00e0gines parells Split\ odd\ pages=Divideix les p\u00e0gines senars Split\ after\ these\ pages=Divideix despr\u00e9s d'aquestes p\u00e0gines Split\ at\ this\ size=Divideix en aquesta mida !Split\ by\ bookmarks\ level= Burst=Explosi\u00f3 Explode\ the\ pdf\ document\ into\ single\ pages=Escampar el document pdf en p\u00e0gines Split\ the\ document\ every\ "n"\ pages=Divideix el document cada "n" p\u00e0gines Split\ the\ document\ every\ even\ page=Divideix el document en cada p\u00e0gina parell Split\ the\ document\ every\ odd\ page=Divideix el document en cada p\u00e0gina senar Split\ the\ document\ after\ page\ numbers\ (num1-num2-num3..)=Divideix el document despr\u00e9s dels n\u00fameros de p\u00e0gina (num1-num2-num3..) #, fuzzy !Split\ the\ document\ in\ files\ of\ the\ given\ size\ (roughly)=Divideix el document en fitxers de la mida indicada (aproximadament). #, fuzzy !Split\ the\ document\ at\ pages\ referred\ by\ bookmarks\ of\ the\ given\ level=Divideix el document en fitxers de la mida indicada (aproximadament). #, fuzzy !Destination\ folder=Carpeta de dest\u00ed\: Same\ as\ source=El mateix que la font Choose\ a\ folder=Escolliu una carpeta Destination\ output\ directory=Directori dest\u00ed de la sortida Use\ the\ same\ output\ folder\ as\ the\ input\ file\ or\ choose\ a\ folder.=Empra el mateix directori de sortida com a fitxer d'entrada o tria un directori. To\ choose\ a\ folder\ browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ directory.=Per triar un directori navegueu o entroduiu el cam\u00ed absolut al directori dest\u00ed de sortida. Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ files\ if\ they\ already\ exist.=Marqueu la casella de selecci\u00f3 per sobreescriure els fitxers de sortida si ja existeixen. #, fuzzy !Output\ options=Opcions de sortida\: Output\ file\ names\ prefix\:=Prefix dels fitxers de sortida\: Output\ files\ prefix=Prefix dels fitxers de sortida !If\ it\ contains\ "[CURRENTPAGE]",\ "[TIMESTAMP]",\ "[FILENUMBER]"\ or\ "[BOOKMARK_NAME]"\ it\ performs\ variable\ substitution.= Ex.\ prefix_[BASENAME]_[CURRENTPAGE]\ generates\ prefix_FileName_005.pdf.=Ex. prefix_[BASENAME]_[CURRENTPAGE] genera prefix_FileName_005.pdf. #, fuzzy !If\ it\ doesn't\ contain\ "[CURRENTPAGE]",\ "[TIMESTAMP]"\ or\ "[FILENUMBER]"\ it\ generates\ oldstyle\ output\ file\ names.=Si no cont\u00e9 "[CURRENTPAGE]" o "[TIMESTAMP]" genera noms de fitxer de sortida de format antic. !Available\ variables= Invalid\ split\ size=Mida de divisi\u00f3 incorrecta The\ lowest\ available\ pdf\ version\ is\ =La versi\u00f3 inferior disponible de pdf \u00e9s You\ selected\ a\ lower\ output\ pdf\ version,\ continue\ anyway\ ?=Heu triat una versi\u00f3 de sortida inferior de pdf, continuar? Pdf\ version\ conflict=Conflicte de versions de pdf #, fuzzy !Please\ select\ a\ pdf\ document.=Si us plau, seleccioneu dos documents pdf Split\ selected\ file=Divideix el fitxer seleccionat Split=Divideix Split\ section\ loaded.=Divideix la secci\u00f3 carregada. Invalid\ unit\:\ =Unitat no v\u00e0lida\: #, fuzzy !Fill\ from\ document=Inverteix el primer document !Getting\ bookmarks\ max\ depth= !Frontpage\ pdf\ file= !Addendum\ pdf\ file= Select\ at\ least\ one\ cover\ or\ one\ footer=Selecciona com a m\u00ednim una p\u00e0gina de coberta i un peu de p\u00e0gina !Frontpage\ and\ Addendum= Cover\ And\ Footer\ section\ loaded.=Secci\u00f3 de p\u00e0gina de coberta i peu de p\u00e0gina carregats #, fuzzy !Encrypt\ options=Opcions de xifrat\: Owner\ password\:=Contrasenya del propietari\: Owner\ password\ (Max\ 32\ chars\ long)=Contrasenya del propietari (m\u00e0xim 32 car\u00e0cters de longitud) User\ password\:=Contrasenya d'usuari\: User\ password\ (Max\ 32\ chars\ long)=Contrasenya d'usuari (m\u00e0xim 32 car\u00e0cters de longitud) #, fuzzy !Encryption\ algorithm\:=Algoritme d'encriptaci\u00f3\: Allow\ all=Permetre'ls tots Print=Imprimeix Low\ quality\ print=Impressi\u00f3 de baixa qualitat Copy\ or\ extract=Copiar o extraure Modify=Modifica Add\ or\ modify\ text\ annotations=Afegir o modificar les anotacions del text Fill\ form\ fields=Omplenar camps del formulari Extract\ for\ use\ by\ accessibility\ dev.=Extraure per emprar amb dispositiu d'accessibilitat Manipulate\ pages\ and\ add\ bookmarks=Manipular p\u00e0gines i afegir adre\u00e7a d'inter\u00e8s Check\ the\ box\ if\ you\ want\ compressed\ output\ files\ (Pdf\ version\ 1.5\ or\ higher).=Comproveu la casella de selecci\u00f3 si voleu fitxers de sortida comprimits (versi\u00f3 pdf 1.5 o superior). If\ it\ contains\ "[TIMESTAMP]"\ it\ performs\ variable\ substitution.=Si cont\u00e9 "[TIMESTAMP]" efectua una substituci\u00f3 de variables Ex.\ [BASENAME]_prefix_[TIMESTAMP]\ generates\ FileName_prefix_20070517_113423471.pdf.=Ex. [BASENAME]_prefix_[TIMESTAMP] genera FileName_prefix_20070517_113423471.pdf. If\ it\ doesn't\ contain\ "[TIMESTAMP]"\ it\ generates\ oldstyle\ output\ file\ names.=Si no cont\u00e9 "[TIMESTAMP]" genera noms de fitxers en format antic. Available\ variables\:\ [TIMESTAMP],\ [BASENAME].=Variables disponibles\: [TIMESTAMP], [BASENAME]. Encrypt\ selected\ files=Xifra els fitxers seleccionats Encrypt=Xifra Encrypt\ section\ loaded.=Xifra la secci\u00f3 carregada. #, fuzzy !Decrypt\ selected\ files=Xifra els fitxers seleccionats #, fuzzy !Decrypt=Xifra #, fuzzy !Decrypt\ section\ loaded.=Xifra la secci\u00f3 carregada. #, fuzzy !Mix\ options=Divideix les opcions Reverse\ first\ document=Inverteix el primer document Reverse\ second\ document=Inverteix el segon document !Number\ of\ pages\ to\ switch\ document= !Tick\ the\ boxes\ if\ you\ want\ to\ reverse\ the\ first\ or\ the\ second\ document\ (or\ both).= !Set\ the\ number\ of\ pages\ to\ switch\ from\ a\ document\ to\ the\ other\ one\ (default\ is\ 1).= Found\ a\ password\ for\ first\ file.=S'ha trobat una contrassenya pel primer fitxer Found\ a\ password\ for\ second\ file.=S'ha trobat una contrassenya pel segon fitxer Please\ select\ two\ pdf\ documents.=Si us plau, seleccioneu dos documents pdf Execute\ pdf\ alternate\ mix=Efectua barreja alterna de pdf Alternate\ Mix=Barreja alterna AlternateMix\ section\ loaded.=Carregada la secci\u00f3 de barreja alterna. Unpack\ selected\ files=Descomprimeix els fitxers seleccionats Unpack=Descomprimeix Unpack\ section\ loaded.=Descomprimeix la secci\u00f3 carregada. #, fuzzy !Set\ viewer\ options=Divideix les opcions !Hide\ the\ menubar= !Hide\ the\ toolbar= !Hide\ user\ interface\ elements= !Rezise\ the\ window\ to\ fit\ the\ page\ size= !Center\ of\ the\ screen= !Display\ document\ title\ as\ window\ title= #, fuzzy !Pdf\ version\ required\:=Conflicte de versions de pdf !No\ page\ scaling\ in\ print\ dialog= !Viewer\ layout\:= !Viewer\ open\ mode\:= !Non\ fullscreen\ mode\:= !Direction\:= #, fuzzy !Set\ options=Divideix les opcions #, fuzzy !Set\ viewer\ options\ for\ selected\ files=Xifra els fitxers seleccionats !Left\ to\ right= !Right\ to\ left= #, fuzzy !None=Nota !Fullscreen= !Attachments= !Optional\ content\ group\ panel= #, fuzzy !Document\ outline=Els documents PDF contenen formularis !Thumbnail\ images= !One\ page\ at\ a\ time= !Pages\ in\ one\ column= !Pages\ in\ two\ columns\ (odd\ on\ the\ left)= !Pages\ in\ two\ columns\ (odd\ on\ the\ right)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ left)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ right)= #, fuzzy !Viewer\ options=Opcions de combinaci\u00f3\: #, fuzzy !Viewer\ options\ section\ loaded.=Xifra la secci\u00f3 carregada. Save\ passwords\ informations\ (they\ will\ be\ readable\ opening\ the\ output\ file)?=Desa informaci\u00f3 de contrassenyes (seran llegibles en obrir el fitxer de sortida)? Confirm\ password\ saving=Confirmeu el desat de contrassenyes Unknown\ action.=Acci\u00f3 desconeguda. Log\ saved.=S'ha desat el registre. \ node\ environment\ loaded.=\ carregat el node d'entorn Environment\ saved.=S'ha desat l'entorn. Error\ saving\ environment,\ output\ file\ is\ null.=Error en desar l'entorn, no existeix el fitxer de sortida. Error\ saving\ environment.=Error en desar l'entorn. Environment\ loaded.=S'ha carregat l'entorn. Error\ loading\ environment.=Error en carregar l'entorn. Error\ loading\ environment\ from\ input\ file.\ =Error en carregar l'entorn del fitxer d'entrada. Selection\ table\ is\ full,\ please\ remove\ some\ pdf\ document.=La taula de selecci\u00f3 \u00e9s plena, si us plau, esborreu algun document pdf Table\ full=Taula plena Please\ wait\ while\ reading=Espereu mentre es llegeix Selected\ file\ is\ not\ a\ pdf\ document.=El fitxer seleccionat no \u00e9s un document pdf. Error\ loading\ =S'ha produ\u00eft un error en carregar Command\ validation\ returned\ an\ empty\ value.=L'ordre de validaci\u00f3 ha tornat un valor nul. Command\ executed.=Ordre executada. File\ name=Nom del fitxer !Number\ of\ pages= !File\ size= !Pdf\ version= !Encryption= !Not\ encrypted= !Permissions= !Title= Author=Autor/a !Subject= !Producer= !Creator= !Creation\ date= !Modification\ date= !Keywords= !Document\ properties= File=Fitxer !Close= Copy=Copia !Error\ creating\ properties\ panel.= Run=Executa Browse=Navega Add=Afegeix Compress\ output\ file/files=Comprimeix el/s fitxer/s de sortida Overwrite\ if\ already\ exists=Sobreescriu si ja existeix Don't\ preserve\ file\ order\ (fast\ load)=No conservar l'ordre dels fitxers (c\u00e0rrega r\u00e0pida) Output\ document\ pdf\ version\:=Versi\u00f3 pdf de document de sortida\: !The\ cross\ reference\ table\ cantained\ some\ error\ and\ has\ been\ rebuilt= !The\ document\ has\ not\ been\ opened\ with\ the\ owner\ password.\ You\ must\ provide\ the\ owner\ password\ in\ order\ to\ manipulate\ the\ document= !An\ error\ occured\ while\ loading\ the\ document= Same\ as\ input\ document=Igual que el document d'entrada Path=Cam\u00ed Pages=P\u00e0gines Password=Contrasenya Version=Versi\u00f3 Page\ Selection=Selecci\u00f3 de p\u00e0gina Total\ pages\ of\ the\ document=Nombre total de p\u00e0gines del document Password\ to\ open\ the\ document\ (if\ needed)=Contrassenya per obrir el document (si \u00e9s necessaria) Pdf\ version\ of\ the\ document=Versi\u00f3 pdf del document !Double\ click\ to\ set\ pages\ you\ want\ to\ merge\ (ex\:\ 2\ or\ 5-23\ or\ 2,5-7,12-)= Add\ a\ pdf\ to\ the\ list=Afegeix un pdf a la llista Remove\ a\ pdf\ from\ the\ list=Elimina un pdf de la llista (Canc)=(Cancel\u00b7lar) Remove=Elimina Reload=Recarrega Error\:\ Unable\ to\ reload\ the\ selected\ file/s.=Error\: No s'ha pogut recarregar els fitxers seleccionats. Unable\ to\ remove\ JList\ text\ =No s'ha pogut eliminar el text JList File\ selected\:\ =Fitxer seleccionat\: File\ reloaded\:\ =Fitxer recarregat\: Move\ Up=Mou cap amunt Move\ up\ selected\ pdf\ file=Mou cap amunt el fitxer pdf seleccionat (Alt+ArrowUp)=(Alt+FletxaAmunt) Move\ Down=Mou cap avall Move\ down\ selected\ pdf\ file=Mou cap avall el fitxer pdf seleccionat (Alt+ArrowDown)=(Alt+FletxaAvall) Clear=Buida Remove\ every\ pdf\ file\ from\ the\ merge\ list=Elimina cada fitxer pdf de la llista de combinaci\u00f3 Set\ output\ file=Defineix el fitxer de sortida Error\:\ Unable\ to\ get\ the\ file\ path.=Error\: no s'ha pogut obtenir el cam\u00ed del fitxer Unable\ to\ get\ the\ default\ environment\ informations.=No s'ha pogut obtenir la informaci\u00f3 predeterminada de l'entorn Setting\ look\ and\ feel...=Definint aparen\u00e7a... Setting\ logging\ level...=Definint el nivell de registre... Unable\ to\ find\ log\ level,\ setting\ to\ default\ level\ (DEBUG).=No s'ha pogut trobar el nivell de registre, es defineix al nivell predeterminat (DEBUG). Logging\ level\ set\ to\ =El nivell de registre est\u00e0 definit a Unable\ to\ set\ logging\ level.=No s'ha pogut definir el nivell de registre. Error\ getting\ plugins\ directory.=Error en obtenir el directori de connectors. Cannot\ read\ plugins\ directory\ =No es pot llegir el directori de connectors Plugins\ directory\ is\ null.=El directori de connectors \u00e9s ple. Found\ zero\ or\ many\ jars\ in\ plugin\ directory\ =S'ha trobat molts o cap jar al directori de connectors Exception\ loading\ plugins.=S'ha generat una excepci\u00f3 en carregar connectors. Cannot\ read\ plugin\ directory\ =No s'ha pogut llegir el directori de connectors \ plugin\ loaded.=\ connector carregat. Unable\ to\ load\ a\ plugin\ that\ is\ not\ JPanel\ subclass.=No s'ha pogut carregar un connector que no \u00e9s una subclasse de JPanel. Error\ loading\ class\ =Error en carregar una classe Select\ all=Selecciona-ho tot Save\ log=Desa el registre Save\ environment=Desa l'entorn Load\ environment=Carrega l'entorn Exit=Surt Unable\ to\ initialize\ menu\ bar.=No s'ha pogut inicialitzar la barra de men\u00fa. started\ in\ =iniciat a Loading\ plugins..=Carregant connectors.. Building\ menus..=Muntant men\u00fas.. Building\ buttons\ bar..=Muntant barra de botons.. Building\ status\ bar..=Muntant barra d'estat.. Building\ tree..=Muntant arbre.. Loading\ default\ environment.=Carregant entorn predeterminat. Error\ starting\ pdfsam.=Error en iniciar pdfsam. Clear\ log=Neteja el registre Unable\ to\ initialize\ button\ bar.=No s'ha pogut inicialitzar la barra de botons. Version\:\ =Versi\u00f3\: Language\:\ =Idioma\: !Developed\ by\:\ = Build\ date\:\ =Data de muntatge\: Java\ home\:\ =Inici de Java\: Java\ version\:\ =Versi\u00f3 de Java\: Max\ memory\:\ =Mem\u00f2ria m\u00e0xima\: Configuration\ file\:\ =Fitxer de configuraci\u00f3\: Website\:\ =Lloc web\: Name=Nom About=Quant a Unimplemented\ method\ for\ JInfoPanel=M\u00e8tode per JInfoPanel no implementat Contributes\:\ =Contribucions\: Log\ level\:=Nivell de depuraci\u00f3\: Settings=Configuraci\u00f3 Look\ and\ feel\:=Aparen\u00e7a\: Theme\:=Tema\: Language\:=Idioma\: Check\ for\ updates\:=Comprova les actualitzacions\: Load\ default\ environment\ at\ startup\:=Carrega l'entorn predeterminat a l'arrencada\: Default\ working\ directory\:=Directori de treball predeterminat\: Error\ getting\ default\ environment.=Error en obtenir l'entorn predeterminat. Check\ now=Verifica-ho ara !Play\ alert\ sounds= Settings\ =Par\u00e0metres Language=Idioma Set\ your\ preferred\ language\ (restart\ needed)=Definiu el vostre llenguatge preferit (cal reiniciar) Look\ and\ feel=Aparen\u00e7a Set\ your\ preferred\ look\ and\ feel\ and\ your\ preferred\ theme\ (restart\ needed)=Defineix l'aparen\u00e7a i el tema (cal reiniciar) Log\ level=Nivell de depuraci\u00f3 Set\ a\ log\ detail\ level\ (restart\ needed)=Definiu el nivell de detall del registre (cal reiniciar) Check\ for\ updates=Comprova si hi ha actualitzacions Set\ when\ new\ version\ availability\ should\ be\ checked\ (restart\ needed)=Definiu quan voleu comprovar la disponibilitat de noves versions (cal reiniciar) !Turn\ on\ or\ off\ alert\ sounds= Default\ env.=Entorn predeterminat. Select\ a\ previously\ saved\ env.\ file\ that\ will\ be\ automatically\ loaded\ at\ startup=Seleccioneu un entorn predeterminat desat anteriorment. El fitxer es carregar\u00e0 autom\u00e0ticament a l'arrencada Default\ working\ directory=Directori de treball predeterminat Select\ a\ directory\ where\ documents\ will\ be\ saved\ and\ loaded\ by\ default=Seleccioneu un directori on es desin i carreguin els documents de manera predeterminada Save=Desa Configuration\ saved.=S'ha desat la configuraci\u00f3. Unimplemented\ method\ for\ JSettingsPanel=M\u00e8tode per a JSettingsPanel no implementat New\ version\ available\:\ =Disponible nova versi\u00f3\: Plugins=Connectors Error\ getting\ pdf\ version\ description.=Error en obtenir la descripci\u00f3 de versi\u00f3 de pdf. Version\ 1.2\ (Acrobat\ 3)=Versi\u00f3 1.2 (Acrobat 3) Version\ 1.3\ (Acrobat\ 4)=Versi\u00f3 1.3 (Acrobat 4) Version\ 1.4\ (Acrobat\ 5)=Versi\u00f3 1.4 (Acrobat 5) Version\ 1.5\ (Acrobat\ 6)=Versi\u00f3 1.5 (Acrobat 6) Version\ 1.6\ (Acrobat\ 7)=Versi\u00f3 1.6 (Acrobat 7) Version\ 1.7\ (Acrobat\ 8)=Versi\u00f3 1.7 (Acrobat 8) Never=Mai pdfsam\ start\ up=arrencada de pdfsam Output\ file\ location\ is\ not\ correct=La ubicaci\u00f3 del fitxer de sortida \u00e9s incorrecte Would\ you\ like\ to\ change\ it\ to=Voleu canviar-ho a Output\ location\ error=Error en la ubicaci\u00f3 de sortida !Selected\ output\ file\ already\ exists\ = !Would\ you\ like\ to\ overwrite\ it?= !Provided\ pages\ selection\ is\ not\ valid= !Limits\ must\ be\ a\ comma\ separated\ list\ of\ "page_number"\ or\ "page_number-page_number"= !Limits\ are\ not\ valid= Checking\ for\ a\ new\ version\ available.=Comprovant si hi ha noves versions disponibles. Error\ checking\ for\ a\ new\ version\ available.=Error en verificar si hi ha noves versions disponibles. Unable\ to\ get\ latest\ available\ version=No es pot obtenir l'\u00faltima versi\u00f3 disponible New\ version\ available.=Disponible nova versi\u00f3. No\ new\ version\ available.=No hi ha disponibles noves versions. Cut=Retalla Paste=Enganxa pdfsam-1.1.4/pdfsam-langpack-br1/src/java/org/pdfsam/i18n/resources/Messages_ru.properties0000644000175000017500000013036611225342444031406 0ustar twernertwerner# Russian translation for pdfsam # Copyright (c) (c) 2006 Canonical Ltd, and Rosetta Contributors 2006 # This file is distributed under the same license as the pdfsam package. # FIRST AUTHOR , 2006. # !=Project-Id-Version\: pdfsam\nReport-Msgid-Bugs-To\: \nPOT-Creation-Date\: 2009-07-09 12\:23+0200\nPO-Revision-Date\: 2009-03-21 08\:57+0000\nLast-Translator\: Maxim S. \nLanguage-Team\: Russian \nMIME-Version\: 1.0\nContent-Type\: text/plain; charset\=UTF-8\nContent-Transfer-Encoding\: 8bit\nX-Launchpad-Export-Date\: 2009-05-29 14\:40+0000\nX-Generator\: Launchpad (build Unknown)\n Merge\ options=\u041e\u043f\u0446\u0438\u0438 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f PDF\ documents\ contain\ forms=\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442 PDF \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0444\u043e\u0440\u043c\u044b Merge\ type=\u0422\u0438\u043f \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f Unchecked=\u041d\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043e Use\ this\ merge\ type\ for\ standard\ pdf\ documents=\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u0442\u0438\u043f \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0445 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e\u0432 PDF Checked=\u041f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043e Use\ this\ merge\ type\ for\ pdf\ documents\ containing\ forms=\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u0442\u0438\u043f \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e\u0432 PDF, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0445 \u0444\u043e\u0440\u043c\u044b Note=\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435 Setting\ this\ option\ the\ documents\ will\ be\ completely\ loaded\ in\ memory=\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0432 \u043f\u0430\u043c\u044f\u0442\u044c # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:289 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:440 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:255 Destination\ output\ file=\u041a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 \u0444\u0430\u0439\u043b\: # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:388 # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:535 # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:811 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:387 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:414 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:441 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:599 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:619 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:649 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:879 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:983 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:616 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:423 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:588 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:608 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:638 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:861 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:977 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:143 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:170 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:237 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:498 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:539 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:256 Error\:\ =\u041e\u0448\u0438\u0431\u043a\u0430\: Browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ file.=\u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0438\u043b\u0438 \u0432\u0432\u0435\u0441\u0442\u0438 \u043f\u043e\u043b\u043d\u044b\u0439 \u043f\u0443\u0442\u044c \u043a \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u043c\u0443 \u0444\u0430\u0439\u043b\u0443. Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ file\ if\ it\ already\ exists.=\u041f\u043e\u0441\u0442\u0430\u0432\u044c\u0435 \u043e\u0442\u043c\u0435\u0442\u043a\u0443 Check\ the\ box\ if\ you\ want\ compressed\ output\ files.=\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u0435 \u0434\u0430\u043d\u043d\u0443\u044e \u043e\u043f\u0446\u0438\u044e \u0434\u043b\u044f \u0441\u0436\u0430\u0442\u0438\u044f \u0444\u0430\u0439\u043b\u043e\u0432, \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043e\u0439. PDF\ version\ 1.5\ or\ above.=\u0412\u0435\u0440\u0441\u0438\u044f PDF 1.5 \u0438\u043b\u0438 \u0432\u044b\u0448\u0435. Set\ the\ pdf\ version\ of\ the\ ouput\ document.=\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0432\u0435\u0440\u0441\u0438\u044e PDF \u0432 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c\u043e\u043c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0435. Please\ wait\ while\ all\ files\ are\ processed..=\u0414\u043e\u0436\u0434\u0438\u0442\u0435\u0441\u044c \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0432\u0441\u0435\u0445 \u0444\u0430\u0439\u043b\u043e\u0432.. Found\ a\ password\ for\ input\ file.=\u041f\u0430\u0440\u043e\u043b\u044c \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u043d\u0430\u0439\u0434\u0435\u043d. Please\ select\ at\ least\ one\ pdf\ document.=\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0445\u043e\u0442\u044f \u0431\u044b \u043e\u0434\u0438\u043d PDF-\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442. Warning=\u0412\u043d\u0438\u043c\u0430\u043d\u0438\u0435 Execute\ pdf\ merge=\u041e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u0442\u044c \u0444\u0430\u0439\u043b\u044b Merge/Extract=\u041e\u0431\u044a\u0435\u0434\u0435\u043d\u0438\u0442\u044c/\u0418\u0437\u0432\u043b\u0435\u0447\u044c !Merge\ section\ loaded.= Export\ as\ xml=\u042d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u043a xml Unable\ to\ save\ xml\ file.=\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c xml \u0444\u0430\u0439\u043b. Ok=\u041ek File\ xml\ saved.=\u0424\u0430\u0439\u043b XML \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d. Error\ saving\ xml\ file,\ output\ file\ is\ null.=\u041e\u0448\u0438\u0431\u043a\u0430 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u0430 XML, \u0432\u044b\u0445\u043e\u0434\u043d\u043e\u0439 \u0444\u0430\u0439\u043b \u0438\u043c\u0435\u0435\u0442 \u043d\u0443\u043b\u0435\u0432\u0443\u044e \u0434\u043b\u0438\u043d\u0443. # G:\Documents\eclipse_workspace\PDFSAMsplit\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:210 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:220 Split\ options=\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0440\u0430\u0437\u0431\u0438\u0435\u043d\u0438\u044f\: Burst\ (split\ into\ single\ pages)=\u0420\u0430\u0437\u0431\u0438\u0442\u044c (\u043d\u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b) Split\ every\ "n"\ pages=\u0420\u0430\u0437\u0431\u0438\u0442\u044c \u043a\u0430\u0436\u0434\u044b\u0435 "n" \u0441\u0442\u0440\u0430\u043d\u0438\u0446 # G:\Documents\eclipse_workspace\PDFSAMsplit\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:193 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:206 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:223 Split\ even\ pages=\u0420\u0430\u0437\u0431\u0438\u0442\u044c \u043f\u043e \u0447\u0451\u0442\u043d\u044b\u043c \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u043c # G:\Documents\eclipse_workspace\PDFSAMsplit\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:196 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:209 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:224 Split\ odd\ pages=\u0420\u0430\u0437\u0431\u0438\u0442\u044c \u043f\u043e \u043d\u0435\u0447\u0451\u0442\u043d\u044b\u043c \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u043c # G:\Documents\eclipse_workspace\PDFSAMsplit\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:199 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:212 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:225 Split\ after\ these\ pages=\u0420\u0430\u0437\u0431\u0438\u0442\u044c \u043f\u043e\u0441\u043b\u0435 \u044d\u0442\u0438\u0445 \u0441\u0442\u0440\u0430\u043d\u0438\u0446 Split\ at\ this\ size=\u0420\u0430\u0437\u0431\u0438\u0442\u044c \u043d\u0430 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437\u043c\u0435\u0440 Split\ by\ bookmarks\ level=\u0420\u0430\u0437\u0431\u0438\u0442\u044c \u043f\u043e \u0443\u0440\u043e\u0432\u043b\u044e \u0437\u0430\u043a\u043b\u0430\u0434\u043e\u043a Burst=\u0420\u0430\u0437\u0431\u0438\u0432\u043a\u0430 Explode\ the\ pdf\ document\ into\ single\ pages=\u0420\u0430\u0437\u0431\u0438\u0442\u044c \u043d\u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b Split\ the\ document\ every\ "n"\ pages=\u0420\u0430\u0437\u0431\u0438\u0432\u0430\u0442\u044c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442 \u0447\u0435\u0440\u0435\u0437 \u043a\u0430\u0436\u0434\u044b\u0435 "n" \u0441\u0442\u0440\u0430\u043d\u0438\u0446 Split\ the\ document\ every\ even\ page=\u0420\u0430\u0437\u0431\u0438\u0432\u0430\u0442\u044c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442 \u043f\u043e\u0441\u043b\u0435 \u043a\u0430\u0436\u0434\u043e\u0439 \u0447\u0451\u0442\u043d\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b Split\ the\ document\ every\ odd\ page=\u0420\u0430\u0437\u0431\u0438\u0432\u0430\u0442\u044c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442 \u043f\u043e\u0441\u043b\u0435 \u043a\u0430\u0436\u0434\u043e\u0439 \u043d\u0435\u0447\u0451\u0442\u043d\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b Split\ the\ document\ after\ page\ numbers\ (num1-num2-num3..)=\u0420\u0430\u0437\u0431\u0438\u0432\u0430\u0442\u044c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442 \u043f\u043e\u0441\u043b\u0435 \u043d\u043e\u043c\u0435\u0440\u043e\u0432 \u0441\u0442\u0440\u0430\u043d\u0438\u0446 (\u043d\u043e\u043c1-\u043d\u043e\u043c2-\u043d\u043e\u043c3..) Split\ the\ document\ in\ files\ of\ the\ given\ size\ (roughly)=\u0420\u0430\u0437\u0431\u0438\u0442\u044c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442 \u0432 \u0444\u0430\u0439\u043b\u044b \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430 (\u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e) !Split\ the\ document\ at\ pages\ referred\ by\ bookmarks\ of\ the\ given\ level= Destination\ folder=\u041f\u0430\u043f\u043a\u0430 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f Same\ as\ source=\u041a\u0430\u043a \u0438 \u0443 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430 Choose\ a\ folder=\u0423\u043a\u0430\u0436\u0438\u0442\u0435 \u043f\u0430\u043f\u043a\u0443 Destination\ output\ directory=\u041a\u043e\u043d\u0435\u0447\u043d\u0430\u044f \u043f\u0430\u043f\u043a\u0430\: Use\ the\ same\ output\ folder\ as\ the\ input\ file\ or\ choose\ a\ folder.=\u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0432 \u0442\u043e\u0439 \u0436\u0435 \u043f\u0430\u043f\u043a\u0435, \u0447\u0442\u043e \u0438 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0435 \u0444\u0430\u0439\u043b\u044b, \u043b\u0438\u0431\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043f\u0430\u043f\u043a\u0443. To\ choose\ a\ folder\ browse\ or\ enter\ the\ full\ path\ to\ the\ destination\ output\ directory.=\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043f\u0430\u043f\u043a\u0443 \u0438\u043b\u0438 \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u043f\u043e\u043b\u043d\u044b\u0439 \u043f\u0443\u0442\u044c \u043a \u043f\u0430\u043f\u043a\u0435 \u0434\u043b\u044f \u0432\u044b\u0445\u043e\u0434\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432. Check\ the\ box\ if\ you\ want\ to\ overwrite\ the\ output\ files\ if\ they\ already\ exist.=\u041e\u0442\u043c\u0435\u0442\u044c\u0442\u0435 \u044d\u0442\u0443 \u043e\u043f\u0446\u0438\u044e, \u0435\u0441\u043b\u0438 \u0445\u043e\u0442\u0438\u0442\u0435 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c\u044b\u043c\u0438 \u0444\u0430\u0439\u043b\u0430\u043c\u0438 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435. Output\ options=\u041e\u043f\u0446\u0438\u0438 \u0432\u044b\u0432\u043e\u0434\u0430 Output\ file\ names\ prefix\:=\u041f\u0440\u0435\u0444\u0438\u043a\u0441 \u0438\u043c\u0435\u043d\u0438 \u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432\: Output\ files\ prefix=\u041f\u0440\u0435\u0444\u0438\u043a\u0441 \u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 !If\ it\ contains\ "[CURRENTPAGE]",\ "[TIMESTAMP]",\ "[FILENUMBER]"\ or\ "[BOOKMARK_NAME]"\ it\ performs\ variable\ substitution.= Ex.\ prefix_[BASENAME]_[CURRENTPAGE]\ generates\ prefix_FileName_005.pdf.=\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440\: \u0443\u043a\u0430\u0437\u0430\u0432 prefix_[BASENAME]_[CURRENTPAGE], \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u043d prefix_FielName_005.pdf. !If\ it\ doesn't\ contain\ "[CURRENTPAGE]",\ "[TIMESTAMP]"\ or\ "[FILENUMBER]"\ it\ generates\ oldstyle\ output\ file\ names.= !Available\ variables= Invalid\ split\ size=\u041d\u0435\u0432\u0435\u0440\u043d\u044b\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 \u0447\u0430\u0441\u0442\u0438 The\ lowest\ available\ pdf\ version\ is\ =\u041c\u043b\u0430\u0434\u0448\u0430\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f PDF You\ selected\ a\ lower\ output\ pdf\ version,\ continue\ anyway\ ?=\u0414\u043b\u044f \u0432\u044b\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0432 \u0432\u044b\u0431\u0440\u0430\u043d\u0430 \u0431\u043e\u043b\u0435\u0435 \u0440\u0430\u043d\u043d\u044f \u0432\u0435\u0440\u0441\u0438\u044f pdf, \u0432\u0441\u0435 \u0440\u0430\u0432\u043d\u043e \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c? Pdf\ version\ conflict=\u041a\u043e\u043d\u0444\u043b\u0438\u043a\u0442 \u0432\u0435\u0440\u0441\u0438\u0439 PDF Please\ select\ a\ pdf\ document.=\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430 \u0432\u044b\u0431\u0435\u0440\u0435\u0442\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442 pdf. Split\ selected\ file=\u0420\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b Split=\u0420\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c Split\ section\ loaded.=\u0421\u0435\u043a\u0446\u0438\u044f \u0444\u0430\u0439\u043b\u0430 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u0430. Invalid\ unit\:\ =\u041d\u0435\u0432\u0435\u0440\u043d\u0430\u044f \u0435\u0434\u0438\u043d\u0438\u0446\u0430\: !Fill\ from\ document= !Getting\ bookmarks\ max\ depth= !Frontpage\ pdf\ file= !Addendum\ pdf\ file= Select\ at\ least\ one\ cover\ or\ one\ footer=\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0445\u043e\u0442\u044f\u0431\u044b \u043e\u0434\u043d\u0443 \u0432\u0435\u0440\u0445\u043d\u044e\u044e \u0438\u043b\u0438 \u043d\u0438\u0436\u043d\u044e\u044e \u0447\u0430\u0441\u0442\u044c Frontpage\ and\ Addendum=\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 !Cover\ And\ Footer\ section\ loaded.= Encrypt\ options=\u041e\u043f\u0446\u0438\u0438 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f Owner\ password\:=\u041f\u0430\u0440\u043e\u043b\u044c \u0432\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u0430\: Owner\ password\ (Max\ 32\ chars\ long)=\u041f\u0430\u0440\u043e\u043b\u044c \u0432\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u0430 (\u043d\u0435 \u0431\u043e\u043b\u0435\u0435 32 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432) User\ password\:=\u041f\u0430\u0440\u043e\u043b\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\: User\ password\ (Max\ 32\ chars\ long)=\u041f\u0430\u0440\u043e\u043b\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f (\u043d\u0435 \u0431\u043e\u043b\u0435\u0435 32 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432) Encryption\ algorithm\:=\u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f\: !Allow\ all= Print=\u041f\u0435\u0447\u0430\u0442\u044c Low\ quality\ print=\u041f\u0435\u0447\u0430\u0442\u044c \u043d\u0438\u0437\u043a\u043e\u0433\u043e \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430 Copy\ or\ extract=\u041a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u043b\u0438 \u0438\u0437\u0432\u043b\u0435\u0447\u044c Modify=\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c Add\ or\ modify\ text\ annotations=\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0438\u043b\u0438 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0435 \u043f\u043e\u043c\u0435\u0442\u043a\u0438 Fill\ form\ fields=\u0417\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u043f\u043e\u043b\u044f \u0444\u043e\u0440\u043c\u044b !Extract\ for\ use\ by\ accessibility\ dev.= Manipulate\ pages\ and\ add\ bookmarks=\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u043c\u0438 \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0437\u0430\u043a\u043b\u0430\u0434\u043e\u043a Check\ the\ box\ if\ you\ want\ compressed\ output\ files\ (Pdf\ version\ 1.5\ or\ higher).=\u0412\u043a\u043b\u044e\u0447\u0438\u0442\u0435 \u0434\u0430\u043d\u043d\u0443\u044e \u043e\u043f\u0446\u0438\u044e \u0434\u043b\u044f \u0441\u0436\u0430\u0442\u0438\u044f \u0444\u0430\u0439\u043b\u043e\u0432, \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0435\u043c\u044b\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043e\u0439 (PDF \u0432\u0435\u0440\u0441\u0438\u0438 1.5 \u0438\u043b\u0438 \u0432\u044b\u0448\u0435). !If\ it\ contains\ "[TIMESTAMP]"\ it\ performs\ variable\ substitution.= !Ex.\ [BASENAME]_prefix_[TIMESTAMP]\ generates\ FileName_prefix_20070517_113423471.pdf.= !If\ it\ doesn't\ contain\ "[TIMESTAMP]"\ it\ generates\ oldstyle\ output\ file\ names.= !Available\ variables\:\ [TIMESTAMP],\ [BASENAME].= Encrypt\ selected\ files=\u0417\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b Encrypt=\u0417\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u0442\u044c !Encrypt\ section\ loaded.= Decrypt\ selected\ files=\u0420\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b. Decrypt=\u0420\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u0442\u044c !Decrypt\ section\ loaded.= !Mix\ options= !Reverse\ first\ document= !Reverse\ second\ document= !Number\ of\ pages\ to\ switch\ document= !Tick\ the\ boxes\ if\ you\ want\ to\ reverse\ the\ first\ or\ the\ second\ document\ (or\ both).= !Set\ the\ number\ of\ pages\ to\ switch\ from\ a\ document\ to\ the\ other\ one\ (default\ is\ 1).= !Found\ a\ password\ for\ first\ file.= !Found\ a\ password\ for\ second\ file.= Please\ select\ two\ pdf\ documents.=\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430 \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0434\u0432\u0430 pdf \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430. !Execute\ pdf\ alternate\ mix= !Alternate\ Mix= !AlternateMix\ section\ loaded.= Unpack\ selected\ files=\u0420\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u0430\u0442\u044c \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b Unpack=\u0420\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u0430\u0442\u044c !Unpack\ section\ loaded.= Set\ viewer\ options=\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043e\u043f\u0446\u0438\u0438 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 Hide\ the\ menubar=\u0421\u043f\u0440\u044f\u0442\u0430\u0442\u044c \u043c\u0435\u043d\u044e Hide\ the\ toolbar=\u0421\u043f\u0440\u044f\u0442\u0430\u0442\u044c \u043f\u0430\u043d\u0435\u043b\u044c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 Hide\ user\ interface\ elements=\u0421\u043f\u0440\u044f\u0442\u0430\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b Rezise\ the\ window\ to\ fit\ the\ page\ size=\u0420\u0430\u0437\u043c\u0435\u0440 \u043e\u043a\u043d\u0430 \u043f\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0443 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b Center\ of\ the\ screen=\u0426\u0435\u043d\u0442\u0440 \u044d\u043a\u0440\u0430\u043d\u0430 Display\ document\ title\ as\ window\ title=\u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 \u0432 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0435 \u043e\u043a\u043d\u0430 Pdf\ version\ required\:=\u0422\u0440\u0435\u0431\u0443\u0435\u043c\u0430\u044f PDF-\u0432\u0435\u0440\u0441\u0438\u044f\: !No\ page\ scaling\ in\ print\ dialog= Viewer\ layout\:=\u041f\u0440\u043e\u0441\u043c\u043e\u0442 \u043c\u0430\u043a\u0435\u0442\u0430\: Viewer\ open\ mode\:=\u0420\u0435\u0436\u0438\u043c \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430\: !Non\ fullscreen\ mode\:= !Direction\:= Set\ options=\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043e\u043f\u0446\u0438\u0439 Set\ viewer\ options\ for\ selected\ files=\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043e\u043f\u0446\u0438\u0438 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 Left\ to\ right=\u0421\u043b\u0435\u0432\u0430 \u043d\u0430\u043f\u0440\u0430\u0432\u043e Right\ to\ left=\u0421\u043f\u0440\u0430\u0432\u0430 \u043d\u0430\u043b\u0435\u0432\u043e None=\u041d\u0435\u0442 Fullscreen=\u041f\u043e\u043b\u043d\u043e\u044d\u043a\u0440\u0430\u043d\u043d\u044b\u0439 Attachments=\u0412\u043b\u043e\u0436\u0435\u043d\u0438\u044f !Optional\ content\ group\ panel= !Document\ outline= !Thumbnail\ images= !One\ page\ at\ a\ time= !Pages\ in\ one\ column= !Pages\ in\ two\ columns\ (odd\ on\ the\ left)= !Pages\ in\ two\ columns\ (odd\ on\ the\ right)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ left)= !Two\ pages\ at\ a\ time\ (odd\ on\ the\ right)= !Viewer\ options= !Viewer\ options\ section\ loaded.= !Save\ passwords\ informations\ (they\ will\ be\ readable\ opening\ the\ output\ file)?= !Confirm\ password\ saving= Unknown\ action.=\u041d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435. Log\ saved.=\u041b\u043e\u0433 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d. !\ node\ environment\ loaded.= !Environment\ saved.= !Error\ saving\ environment,\ output\ file\ is\ null.= !Error\ saving\ environment.= !Environment\ loaded.= !Error\ loading\ environment.= !Error\ loading\ environment\ from\ input\ file.\ = !Selection\ table\ is\ full,\ please\ remove\ some\ pdf\ document.= Table\ full=\u0422\u0430\u0431\u043b\u0438\u0446\u0430 \u043f\u043e\u043b\u043d\u0430\u044f !Please\ wait\ while\ reading= Selected\ file\ is\ not\ a\ pdf\ document.=\u0412\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f pdf \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e\u043c Error\ loading\ =\u041e\u0448\u0438\u0431\u043a\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 !Command\ validation\ returned\ an\ empty\ value.= Command\ executed.=\u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430. # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:164 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:180 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:178 File\ name=\u0418\u043c\u044f \u0444\u0430\u0439\u043b\u0430 !Number\ of\ pages= !File\ size= !Pdf\ version= !Encryption= !Not\ encrypted= !Permissions= !Title= # G:\Documents\eclipse_workspace\PDF # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:118 Author=\u0410\u0432\u0442\u043e\u0440 !Subject= !Producer= !Creator= !Creation\ date= !Modification\ date= !Keywords= !Document\ properties= # G:\Documents\eclipse_workspace\PDF # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:55 File=\u0424\u0430\u0439\u043b !Close= Copy=\u041a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c !Error\ creating\ properties\ panel.= # G:\Documents\eclipse_workspace\PDFSAMsplit\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:368 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:542 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:462 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:526 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:320 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:410 Run=\u0420\u0430\u0437\u0431\u0438\u0442\u044c # G:\Documents\eclipse_workspace\PDFSAMsplit\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:150 # G:\Documents\eclipse_workspace\PDFSAMsplit\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:278 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:394 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:421 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:448 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:175 # F:\workspace_pdfsam_enhanced\pdfsam-encrypt\it\pdfsam\plugin\encrypt\GUI\EncryptMainGUI.java:340 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:430 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:150 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:177 # F:\workspace_pdfsam_enhanced\pdfsam-mix\it\pdfsam\plugin\mix\GUI\MixMainGUI.java:244 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:164 # F:\workspace_pdfsam_enhanced\pdfsam-split\it\pdfsam\plugin\split\GUI\SplitMainGUI.java:304 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JSettingsPanel.java:233 Browse=\u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:243 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:264 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:257 Add=\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c Compress\ output\ file/files=\u0421\u0436\u0438\u043c\u0430\u0442\u044c \u0432\u044b\u0445\u043e\u0434\u043d\u043e\u0439 \u0444\u0430\u0439\u043b(\u044b). Overwrite\ if\ already\ exists=\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c, \u0435\u0441\u043b\u0438 \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 !Don't\ preserve\ file\ order\ (fast\ load)= !Output\ document\ pdf\ version\:= !The\ cross\ reference\ table\ cantained\ some\ error\ and\ has\ been\ rebuilt= !The\ document\ has\ not\ been\ opened\ with\ the\ owner\ password.\ You\ must\ provide\ the\ owner\ password\ in\ order\ to\ manipulate\ the\ document= !An\ error\ occured\ while\ loading\ the\ document= !Same\ as\ input\ document= # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:165 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:181 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:179 Path=\u041c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:166 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:182 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:180 Pages=\u0421\u0442\u0440\u0430\u043d\u0438\u0446 Password=\u041f\u0430\u0440\u043e\u043b\u044c # G:\Documents\eclipse_workspace\PDF # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:118 Version=\u0412\u0435\u0440\u0441\u0438\u044f # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:167 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:183 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:181 Page\ Selection=\u0412\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b Total\ pages\ of\ the\ document=\u041e\u0431\u0449\u0435\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0442\u0440\u0430\u043d\u0438\u0446 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 Password\ to\ open\ the\ document\ (if\ needed)=\u041f\u0430\u0440\u043e\u043b\u044c \u0434\u043b\u044f \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 (\u0435\u0441\u043b\u0438 \u043d\u0443\u0436\u0435\u043d) Pdf\ version\ of\ the\ document=Pdf \u0432\u0435\u0440\u0441\u0438\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 !Double\ click\ to\ set\ pages\ you\ want\ to\ merge\ (ex\:\ 2\ or\ 5-23\ or\ 2,5-7,12-)= # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:211 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:232 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:225 Add\ a\ pdf\ to\ the\ list=\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0444\u0430\u0439\u043b PDF \u0432 \u0441\u043f\u0438\u0441\u043e\u043a # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:248 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:269 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:262 Remove\ a\ pdf\ from\ the\ list=\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0444\u0430\u0439\u043b PDF \u0438\u0437 \u0441\u043f\u0438\u0441\u043a\u0430 !(Canc)= # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:252 # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:297 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:273 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:317 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:266 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:311 Remove=\u0423\u0434\u0430\u043b\u0438\u0442\u044c Reload=\u041e\u0431\u043d\u043e\u0432\u0438\u0442\u044c !Error\:\ Unable\ to\ reload\ the\ selected\ file/s.= !Unable\ to\ remove\ JList\ text\ = # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:532 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:596 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:646 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:585 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:635 File\ selected\:\ =\u0412\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b\: !File\ reloaded\:\ = # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:259 # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:306 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:273 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:320 Move\ Up=\u0412\u044b\u0448\u0435 # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:260 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:274 Move\ up\ selected\ pdf\ file=\u041f\u0435\u0440\u0435\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b PDF \u043d\u0430 \u0441\u0442\u0440\u043e\u043a\u0443 \u0432\u0432\u0435\u0440\u0445 (Alt+ArrowUp)=(Alt+\u0421\u0442\u0440\u0435\u043b\u043a\u0430 \u0432\u0432\u0435\u0440\u0445) # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:268 # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:315 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:282 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:329 Move\ Down=\u041d\u0438\u0436\u0435 # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:269 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:283 Move\ down\ selected\ pdf\ file=\u041f\u0435\u0440\u0435\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b PDF \u043d\u0430 \u0441\u0442\u0440\u043e\u043a\u0443 \u0432\u043d\u0438\u0437 (Alt+ArrowDown)=(Alt+\u0421\u0442\u0440\u0435\u043b\u043a\u0430 \u0432\u043d\u0438\u0437) # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:280 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:284 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:294 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\LogPanel.java:105 Clear=\u041e\u0447\u0438\u0441\u0442\u0438\u0442\u044c # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:281 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:295 Remove\ every\ pdf\ file\ from\ the\ merge\ list=\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0432\u0441\u0435 \u0444\u0430\u0439\u043b\u044b PDF \u0438\u0437 \u0441\u043f\u0438\u0441\u043a\u0430 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0435\u043c\u044b\u0445 # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:324 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:326 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:338 Set\ output\ file=\u0423\u043a\u0430\u0436\u0438\u0442\u0435 \u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 \u0444\u0430\u0439\u043b # G:\Documents\eclipse_workspace\PDFSAMmerge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:336 # F:\workspace_pdfsam_enhanced\pdfsam-cover\it\pdfsam\plugin\coverfooter\GUI\CoverFooterMainGUI.java:338 # F:\workspace_pdfsam_enhanced\pdfsam-merge\it\pdfsam\plugin\merge\GUI\MergeMainGUI.java:350 Error\:\ Unable\ to\ get\ the\ file\ path.=\u041e\u0448\u0438\u0431\u043a\u0430\: \u043d\u0435 \u0443\u0434\u0430\u0451\u0442\u0441\u044f \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430 Unable\ to\ get\ the\ default\ environment\ informations.=\u041d\u0435 \u0443\u0434\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0447\u0435\u0439 \u0441\u0440\u0435\u0434\u044b. !Setting\ look\ and\ feel...= !Setting\ logging\ level...= !Unable\ to\ find\ log\ level,\ setting\ to\ default\ level\ (DEBUG).= !Logging\ level\ set\ to\ = !Unable\ to\ set\ logging\ level.= !Error\ getting\ plugins\ directory.= !Cannot\ read\ plugins\ directory\ = !Plugins\ directory\ is\ null.= !Found\ zero\ or\ many\ jars\ in\ plugin\ directory\ = !Exception\ loading\ plugins.= !Cannot\ read\ plugin\ directory\ = \ plugin\ loaded.=\ \u043f\u043b\u0430\u0433\u0438\u043d \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d. !Unable\ to\ load\ a\ plugin\ that\ is\ not\ JPanel\ subclass.= !Error\ loading\ class\ = Select\ all=\u0412\u044b\u0431\u0440\u0430\u0442\u044c \u0432\u0441\u0435 Save\ log=\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0436\u0443\u0440\u043d\u0430\u043b !Save\ environment= !Load\ environment= # G:\Documents\eclipse_workspace\PDF # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:125 # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\MenuPanel.java:70 Exit=\u0412\u044b\u0439\u0442\u0438 !Unable\ to\ initialize\ menu\ bar.= !started\ in\ = Loading\ plugins..=\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432.. !Building\ menus..= !Building\ buttons\ bar..= !Building\ status\ bar..= !Building\ tree..= Loading\ default\ environment.=\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0430\u044f \u0440\u0430\u0431\u043e\u0447\u0430\u044f \u0441\u0440\u0435\u0434\u0430. !Error\ starting\ pdfsam.= # G:\Documents\eclipse_workspace\PDF # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\ButtonsBar.java:121 Clear\ log=\u041e\u0447\u0438\u0441\u0442\u0438\u0442\u044c \u0436\u0443\u0440\u043d\u0430\u043b !Unable\ to\ initialize\ button\ bar.= Version\:\ =\u0412\u0435\u0440\u0441\u0438\u044f\: # G:\Documents\eclipse_workspace\PDF # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 Language\:\ =\u042f\u0437\u044b\u043a\: !Developed\ by\:\ = # G:\Documents\eclipse_workspace\PDF # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 Build\ date\:\ =\u0414\u0430\u0442\u0430 \u0441\u0431\u043e\u0440\u043a\u0438\: !Java\ home\:\ = !Java\ version\:\ = !Max\ memory\:\ = !Configuration\ file\:\ = # G:\Documents\eclipse_workspace\PDF # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:107 Website\:\ =\u0421\u0430\u0439\u0442\: # G:\Documents\eclipse_workspace\PDF # F:\workspace_pdfsam_enhanced\pdfsam-maine\it\pdfsam\panels\JInfoPanel.java:118 Name=\u0418\u043c\u044f !About= !Unimplemented\ method\ for\ JInfoPanel= !Contributes\:\ = Log\ level\:=\u0423\u0440\u043e\u0432\u0435\u043d\u044c \u0436\u0443\u0440\u043d\u0430\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f\: !Settings= !Look\ and\ feel\:= !Theme\:= !Language\:= Check\ for\ updates\:=\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0439\: Load\ default\ environment\ at\ startup\:=\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0443\u044e \u0440\u0430\u0431\u043e\u0447\u0443\u044e \u0441\u0440\u0435\u0434\u0443 \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435\: Default\ working\ directory\:=\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e\: Error\ getting\ default\ environment.=\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0447\u0435\u0439 \u0441\u0440\u0435\u0434\u044b. Check\ now=\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0441\u0435\u0439\u0447\u0430\u0441 !Play\ alert\ sounds= Settings\ =\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 !Language= !Set\ your\ preferred\ language\ (restart\ needed)= !Look\ and\ feel= !Set\ your\ preferred\ look\ and\ feel\ and\ your\ preferred\ theme\ (restart\ needed)= Log\ level=\u0423\u0440\u043e\u0432\u0435\u043d\u044c \u0436\u0443\u0440\u043d\u0430\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f !Set\ a\ log\ detail\ level\ (restart\ needed)= Check\ for\ updates=\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0439\: !Set\ when\ new\ version\ availability\ should\ be\ checked\ (restart\ needed)= !Turn\ on\ or\ off\ alert\ sounds= !Default\ env.= !Select\ a\ previously\ saved\ env.\ file\ that\ will\ be\ automatically\ loaded\ at\ startup= Default\ working\ directory=\u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e\: !Select\ a\ directory\ where\ documents\ will\ be\ saved\ and\ loaded\ by\ default= Save=\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c !Configuration\ saved.= !Unimplemented\ method\ for\ JSettingsPanel= !New\ version\ available\:\ = !Plugins= !Error\ getting\ pdf\ version\ description.= !Version\ 1.2\ (Acrobat\ 3)= !Version\ 1.3\ (Acrobat\ 4)= !Version\ 1.4\ (Acrobat\ 5)= !Version\ 1.5\ (Acrobat\ 6)= !Version\ 1.6\ (Acrobat\ 7)= !Version\ 1.7\ (Acrobat\ 8)= !Never= !pdfsam\ start\ up= Output\ file\ location\ is\ not\ correct=\u041d\u0435\u0432\u0435\u0440\u043d\u043e\u0435 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432\u044b\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430. Would\ you\ like\ to\ change\ it\ to=\u0425\u043e\u0442\u0438\u0442\u0435 \u043b\u0438 \u0432\u044b \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u044d\u0442\u043e \u043d\u0430 !Output\ location\ error= !Selected\ output\ file\ already\ exists\ = !Would\ you\ like\ to\ overwrite\ it?= !Provided\ pages\ selection\ is\ not\ valid= !Limits\ must\ be\ a\ comma\ separated\ list\ of\ "page_number"\ or\ "page_number-page_number"= !Limits\ are\ not\ valid= !Checking\ for\ a\ new\ version\ available.= !Error\ checking\ for\ a\ new\ version\ available.= !Unable\ to\ get\ latest\ available\ version= !New\ version\ available.= !No\ new\ version\ available.= !Cut= !Paste= pdfsam-1.1.4/pdfsam-langpack-br1/src/java/org/pdfsam/i18n/languages.xml0000644000175000017500000000417511154256452025473 0ustar twernertwerner pdfsam-1.1.4/pdfsam-langpack-br1/src/java/org/pdfsam/i18n/GettextResource.java0000644000175000017500000002154511154256454027004 0ustar twernertwerner/* GNU gettext for Java * Copyright (C) 2001 Free Software Foundation, Inc. * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU Library General Public License as published * by the Free Software Foundation; either version 2, or (at your option) * any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. */ package org.pdfsam.i18n; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Modifier; import java.util.MissingResourceException; import java.util.ResourceBundle; /** * This class implements the main GNU libintl functions in Java. *

* Using the GNU gettext approach, compiled message catalogs are normal * Java ResourceBundle classes and are thus interoperable with standard * ResourceBundle based code. *

* The main differences between the Sun ResourceBundle approach and the * GNU gettext approach are: *

    *
  • In the Sun approach, the keys are abstract textual shortcuts. * In the GNU gettext approach, the keys are the English/ASCII version * of the messages. *
  • In the Sun approach, the translation files are called * "Resource_locale.properties" and have non-ASCII * characters encoded in the Java * \unnnn syntax. Very few editors * can natively display international characters in this format. In the * GNU gettext approach, the translation files are called * "Resource.locale.po" * and are in the encoding the translator has chosen. Many editors * can be used. There are at least three GUI translating tools * (Emacs PO mode, KDE KBabel, GNOME gtranslator). *
  • In the Sun approach, the function * ResourceBundle.getString throws a * MissingResourceException when no translation is found. * In the GNU gettext approach, the gettext function * returns the (English) message key in that case. *
  • In the Sun approach, there is no support for plural handling. * Even the most elaborate MessageFormat strings cannot provide decent * plural handling. In the GNU gettext approach, we have the * ngettext function. *
*

* To compile GNU gettext message catalogs into Java ResourceBundle classes, * the msgfmt program can be used. * * @author Bruno Haible */ public abstract class GettextResource extends ResourceBundle { public static final boolean verbose = false; /** * Returns the translation of msgid. * @param catalog a ResourceBundle * @param msgid the key string to be translated, an ASCII string * @return the translation of msgid, or msgid if * none is found */ public static String gettext (ResourceBundle catalog, String msgid) { try { String result = (String)catalog.getObject(msgid); if (result != null) return result; } catch (MissingResourceException e) { } return msgid; } /** * Returns the plural form for n of the translation of * msgid. * @param catalog a ResourceBundle * @param msgid the key string to be translated, an ASCII string * @param msgid_plural its English plural form * @return the translation of msgid depending on n, * or msgid or msgid_plural if none is found */ public static String ngettext (ResourceBundle catalog, String msgid, String msgid_plural, long n) { // The reason why we use so many reflective API calls instead of letting // the GNU gettext generated ResourceBundles implement some interface, // is that we want the generated ResourceBundles to be completely // standalone, so that migration from the Sun approach to the GNU gettext // approach (without use of plurals) is as straightforward as possible. //ResourceBundle origCatalog = catalog; do { // Try catalog itself. if (verbose) System.out.println("ngettext on "+catalog); Method handleGetObjectMethod = null; Method getParentMethod = null; try { handleGetObjectMethod = catalog.getClass().getMethod("handleGetObject", new Class[] { java.lang.String.class }); getParentMethod = catalog.getClass().getMethod("getParent", new Class[0]); } catch (NoSuchMethodException e) { } catch (SecurityException e) { } if (verbose) System.out.println("handleGetObject = "+(handleGetObjectMethod!=null)+", getParent = "+(getParentMethod!=null)); if (handleGetObjectMethod != null && Modifier.isPublic(handleGetObjectMethod.getModifiers()) && getParentMethod != null) { // A GNU gettext created class. Method lookupMethod = null; Method pluralEvalMethod = null; try { lookupMethod = catalog.getClass().getMethod("lookup", new Class[] { java.lang.String.class }); pluralEvalMethod = catalog.getClass().getMethod("pluralEval", new Class[] { Long.TYPE }); } catch (NoSuchMethodException e) { } catch (SecurityException e) { } if (verbose) System.out.println("lookup = "+(lookupMethod!=null)+", pluralEval = "+(pluralEvalMethod!=null)); if (lookupMethod != null && pluralEvalMethod != null) { // A GNU gettext created class with plural handling. Object localValue = null; try { localValue = lookupMethod.invoke(catalog, new Object[] { msgid }); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.getTargetException().printStackTrace(); } if (localValue != null) { if (verbose) System.out.println("localValue = "+localValue); if (localValue instanceof String) // Found the value. It doesn't depend on n in this case. return (String)localValue; else { String[] pluralforms = (String[])localValue; long i = 0; try { i = ((Long) pluralEvalMethod.invoke(catalog, new Object[] { new Long(n) })).longValue(); if (!(i >= 0 && i < pluralforms.length)) i = 0; } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.getTargetException().printStackTrace(); } return pluralforms[(int)i]; } } } else { // A GNU gettext created class without plural handling. Object localValue = null; try { localValue = handleGetObjectMethod.invoke(catalog, new Object[] { msgid }); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.getTargetException().printStackTrace(); } if (localValue != null) { // Found the value. It doesn't depend on n in this case. if (verbose) System.out.println("localValue = "+localValue); return (String)localValue; } } Object parentCatalog = catalog; try { parentCatalog = getParentMethod.invoke(catalog, new Object[0]); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.getTargetException().printStackTrace(); } if (parentCatalog != catalog) catalog = (ResourceBundle)parentCatalog; else break; } else // Not a GNU gettext created class. break; } while (catalog != null); // The end of chain of GNU gettext ResourceBundles is reached. if (catalog != null) { // For a non-GNU ResourceBundle we cannot access 'parent' and // 'handleGetObject', so make a single call to catalog and all // its parent catalogs at once. Object value; try { value = catalog.getObject(msgid); } catch (MissingResourceException e) { value = null; } if (value != null) // Found the value. It doesn't depend on n in this case. return (String)value; } // Default: English strings and Germanic plural rule. return (n != 1 ? msgid_plural : msgid); } } pdfsam-1.1.4/emp4j/0000755000175000017500000000000010711357506013751 5ustar twernertwernerpdfsam-1.1.4/emp4j/ant/0000755000175000017500000000000010724051212014520 5ustar twernertwernerpdfsam-1.1.4/emp4j/ant/build.properties0000644000175000017500000000044011050023446017734 0ustar twernertwerner#where classes are compiled, jars distributed, javadocs created and release created build.dir=f:/build #libraries libs.dir=F:/pdfsam/workspace-enhanced/pdfsam-maine/lib log4j.jar.name=log4j-1.2.15 dom4j.jar.name=dom4j-1.6.1 jaxen.jar.name=jaxen-1.1 emp4j.jar.name=emp4j-1.0.1 pdfsam-1.1.4/emp4j/ant/build.xml0000644000175000017500000000642610757576456016405 0ustar twernertwerner Exception Message Provider For Java pdfsam-1.1.4/emp4j/etc/0000755000175000017500000000000010711371242014515 5ustar twernertwernerpdfsam-1.1.4/emp4j/etc/log4j.xml0000644000175000017500000000123710666036064016272 0ustar twernertwerner pdfsam-1.1.4/emp4j/etc/emp4j.xml0000644000175000017500000000035110666036210016257 0ustar twernertwerner pdfsam-1.1.4/emp4j/apidocs/0000755000175000017500000000000011225360202015357 5ustar twernertwernerpdfsam-1.1.4/emp4j/src/0000755000175000017500000000000010711357506014540 5ustar twernertwernerpdfsam-1.1.4/emp4j/src/java/0000755000175000017500000000000010711357610015455 5ustar twernertwernerpdfsam-1.1.4/emp4j/src/java/org/0000755000175000017500000000000010711371242016241 5ustar twernertwernerpdfsam-1.1.4/emp4j/src/java/org/pdfsam/0000755000175000017500000000000010711371242017513 5ustar twernertwernerpdfsam-1.1.4/emp4j/src/java/org/pdfsam/emp4j/0000755000175000017500000000000010711371242020532 5ustar twernertwernerpdfsam-1.1.4/emp4j/src/java/org/pdfsam/emp4j/providers/0000755000175000017500000000000010711371242022547 5ustar twernertwernerpdfsam-1.1.4/emp4j/src/java/org/pdfsam/emp4j/providers/ExceptionMessageProvider.java0000644000175000017500000001610211050023376030367 0ustar twernertwerner/* * Created on 19-June-2006 * Copyright (C) 2007 by Andrea Vacondio. * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.emp4j.providers; import java.io.File; import java.io.Serializable; import java.lang.reflect.Constructor; import java.net.URL; import org.apache.log4j.Logger; import org.dom4j.Document; import org.dom4j.Node; import org.dom4j.io.SAXReader; import org.pdfsam.emp4j.messages.interfaces.InquirableMessagesSource; /** * Exception messages provider. Singleton. * @author a.vacondio * */ public class ExceptionMessageProvider implements Serializable{ private static final long serialVersionUID = -3579371571520612008L; public static final String CONFIGURATION_PATH_PARAM = "emp4j.configuration"; public static final String CONFIGURATION_PATH_DEFAULT = "emp4j.xml"; private static ExceptionMessageProvider providerInstance; private InquirableMessagesSource source; private static boolean errorOnCreate = false; /** * logger */ private static transient Logger log; private ExceptionMessageProvider() throws Exception { Document document = getConfiguration(); Node classNode = document.selectSingleNode("/exception-message-provider/source/@class"); if(classNode != null){ Class fileSourceClass = Class.forName(classNode.getText()); Node sourceNode = document.selectSingleNode("/exception-message-provider/source"); Constructor constructor = fileSourceClass.getConstructor(new Class[]{Node.class}); source = (InquirableMessagesSource) constructor.newInstance(new Object[]{sourceNode}); } else{ throw new Exception("Unable to find MessagesSource class name"); } } /** * @return the ExceptionMessageProvider instance */ public static synchronized ExceptionMessageProvider getInstance() throws Exception{ try{ if (providerInstance == null){ if(!ExceptionMessageProvider.errorOnCreate){ providerInstance = new ExceptionMessageProvider(); } } }catch(Throwable t){ ExceptionMessageProvider.errorOnCreate = true; getLog().fatal("Error creating instance of ExceptionMessageProvider." , t); } return providerInstance; } /** * This method tries to get the Document containing the ExceptionMessageProvider configuration. * It gets the value of the property emp4j.configuration assigning it the default value 'emp4j.xml' if the property is empty. * First it tries using the value of emp4j.configuration as an absolute path. * Second it tries using the value of emp4j.configuration Resource name or a SystemResource name. * @return the Document object * @throws Exception */ private Document getConfiguration() throws Exception{ Document retVal; SAXReader reader = new SAXReader(); String configPath = System.getProperty(CONFIGURATION_PATH_PARAM, CONFIGURATION_PATH_DEFAULT); File configFile = new File(configPath); if(configFile.exists()){ retVal = reader.read(configFile); }else{ ClassLoader cl = ExceptionMessageProvider.class.getClassLoader(); URL resourceUrl = null; if(cl != null){ resourceUrl = cl.getResource(configPath); if(resourceUrl == null){ resourceUrl = cl.getResource(configPath); } }else{ resourceUrl = ClassLoader.getSystemResource(configPath); } if(resourceUrl != null){ retVal = reader.read(resourceUrl); }else{ throw new NullPointerException("Cannot locate ExceptionMessageProvider configuration file."); } } return retVal; } /** * cannot clone a singleton */ public Object clone() throws CloneNotSupportedException { throw new CloneNotSupportedException("Cannot clone ExceptionMessageProvider object."); } /** * @param exceptionTypeKey Exception type code * @param exceptionErrorCode Exception error code * @return the exception message * @throws Exception */ public synchronized String getExceptionMessage(Object exceptionTypeKey, int exceptionErrorCode) throws Exception{ return source.getExceptionMessage(exceptionTypeKey, exceptionErrorCode); } /** * @param exceptionTypeKey Exception type code * @param exceptionErrorCode Exception error code * @param args Strings to be substituted to the message * @return the exception message * @throws Exception */ public synchronized String getExceptionMessage(Object exceptionTypeKey, int exceptionErrorCode, String[] args) throws Exception{ return source.getExceptionMessage(exceptionTypeKey, exceptionErrorCode, args); } /** * @param exceptionTypeKey Exception type code * @param exceptionErrorCode Exception error code * @return the localized exception message * @throws Exception */ public synchronized String getLocalizedExceptionMessage(Object exceptionTypeKey, int exceptionErrorCode) throws Exception{ return source.getLocalizedExceptionMessage(exceptionTypeKey, exceptionErrorCode); } /** * @param exceptionTypeKey Exception type code * @param exceptionErrorCode Exception error code * @param args Strings to be substituted to the message * @return the localized exception message * @throws Exception */ public synchronized String getLocalizedExceptionMessage(Object exceptionTypeKey, int exceptionErrorCode, String[] args) throws Exception{ return source.getLocalizedExceptionMessage(exceptionTypeKey, exceptionErrorCode, args); } /** * @return Logger */ private static Logger getLog(){ if ( log == null){ log = Logger.getLogger(ExceptionMessageProvider.class.getPackage().getName()); } return log; } } pdfsam-1.1.4/emp4j/src/java/org/pdfsam/emp4j/exceptions/0000755000175000017500000000000010711371242022713 5ustar twernertwernerpdfsam-1.1.4/emp4j/src/java/org/pdfsam/emp4j/exceptions/ClassNameKeyException.java0000644000175000017500000000715311050023240027747 0ustar twernertwerner/* * Created on 20-June-2007 * Copyright (C) 2007 by Andrea Vacondio. * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.emp4j.exceptions; /** * It behaves getting error messages from the ExceptionMessageHandler using the class name as a key String. * If you want to use ClassNameKeyException as a superclass, your InquirableMessagesSource must use the class name as key to get * the exception type description. * @author Andrea Vacondio * @see org.pdfsam.emp4j.messages.interfaces.InquirableMessagesSource */ public class ClassNameKeyException extends ParentEmp4jException { private static final long serialVersionUID = -6413113623011278491L; /** * @param e */ public ClassNameKeyException(Throwable e) { super(e); } /** * @param exceptionErrorCode * @param e */ public ClassNameKeyException(int exceptionErrorCode, Throwable e) { this(exceptionErrorCode, null, e); } /** * @param exceptionErrorCode * @param args arguments used by the MessageFormat to substitue placeholders * @param e */ public ClassNameKeyException(int exceptionErrorCode, String[] args, Throwable e) { super(e); errorMessage = getExceptionMessage(getClass().getName(), exceptionErrorCode, args); localizedErrorMessage = getLocalizedExceptionMessage(getClass().getName(), exceptionErrorCode, args); } /** * @param exceptionErrorCode */ public ClassNameKeyException(int exceptionErrorCode) { this(exceptionErrorCode, new String[0]); } /** * @param exceptionErrorCode * @param args arguments used by the MessageFormat to substitue placeholders */ public ClassNameKeyException(int exceptionErrorCode, String[] args) { super(); errorMessage = getExceptionMessage(getClass().getName(), exceptionErrorCode, args); localizedErrorMessage = getLocalizedExceptionMessage(getClass().getName(), exceptionErrorCode, args); } } pdfsam-1.1.4/emp4j/src/java/org/pdfsam/emp4j/exceptions/ObjectKeyException.java0000644000175000017500000001025311050023264027310 0ustar twernertwerner/* * Created on 20-June-2007 * Copyright (C) 2007 by Andrea Vacondio. * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.emp4j.exceptions; /** * It behaves getting error messages from the ExceptionMessageHandler using exceptionKeyCode key Object. * If you want to use ObjectKeyException as a superclass, your InquirableMessagesSource must be able to use * the Object key to get the exception type description. * @author Andrea Vacondio * @see org.pdfsam.emp4j.messages.interfaces.InquirableMessagesSource */ public class ObjectKeyException extends ParentEmp4jException { private static final long serialVersionUID = -8205856107721458720L; private static final int DEFAULT_ERROR_CODE = 0x01; /** * It doesn't use the emp4j framework to get the exception message. * @param t */ public ObjectKeyException(Throwable t) { super(t); } /** * Constructor using the DEFAULT_ERROR_CODE for this class * @param exceptionKeyCode Object key to get the exception type description * @param e */ public ObjectKeyException(Object exceptionKeyCode, Throwable e) { super(exceptionKeyCode, ObjectKeyException.DEFAULT_ERROR_CODE, e); } /** * @param exceptionKeyCode Object key to get the exception type description * @param exceptionErrorCode * @param e */ public ObjectKeyException(Object exceptionKeyCode, int exceptionErrorCode, Throwable e) { super(exceptionKeyCode, exceptionErrorCode, null, e); } /** * @param exceptionKeyCode Object key to get the exception type description * @param exceptionErrorCode * @param args arguments used by the MessageFormat to substitue place holders * @param e */ public ObjectKeyException(Object exceptionKeyCode, int exceptionErrorCode, String[] args, Throwable e) { super(exceptionKeyCode, exceptionErrorCode, args, e); } /** * @param exceptionKeyCode Object key to get the exception type description * @param exceptionErrorCode */ public ObjectKeyException(Object exceptionKeyCode,int exceptionErrorCode) { super(exceptionKeyCode, exceptionErrorCode); } /** * @param exceptionKeyCode Object key to get the exception type description * @param exceptionErrorCode * @param args arguments used by the MessageFormat to substitue place holders */ public ObjectKeyException(Object exceptionKeyCode, int exceptionErrorCode, String[] args) { super(exceptionKeyCode, exceptionErrorCode, args); } } pdfsam-1.1.4/emp4j/src/java/org/pdfsam/emp4j/exceptions/ParentEmp4jException.java0000644000175000017500000001506511050023276027573 0ustar twernertwerner/* * Created on 30-August-2007 * Copyright (C) 2007 by Andrea Vacondio. * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.emp4j.exceptions; import org.pdfsam.emp4j.providers.ExceptionMessageProvider; /** * Parent exception with already implemented protected methods getExceptionMessage and getLocalizedExceptionMessage. * @author Andrea Vacondio * @see org.pdfsam.emp4j.providers.ExceptionMessageProvider */ public class ParentEmp4jException extends Exception { private static final long serialVersionUID = 1665312932892362305L; protected String errorMessage; protected String localizedErrorMessage; /** * Empty constructor. * It doesn't use the emp4j framework to get the exception message. */ public ParentEmp4jException(){ } /** * It doesn't use the emp4j framework to get the exception message. * @param errorMessage */ public ParentEmp4jException(String errorMessage){ this.errorMessage = errorMessage; } /** * It doesn't use the emp4j framework to get the exception message. * @param t */ public ParentEmp4jException(Throwable t){ super(t); } /** * It doesn't use the emp4j framework to get the exception message. * @param errorMessage * @param t */ public ParentEmp4jException(String errorMessage, Throwable t){ super(t); this.errorMessage = errorMessage; } /** * @param exceptionKeyCode Object key to get the exception type description * @param exceptionErrorCode * @param e */ public ParentEmp4jException(Object exceptionKeyCode, int exceptionErrorCode, Throwable e) { this(exceptionKeyCode, exceptionErrorCode, null, e); } /** * @param exceptionKeyCode Object key to get the exception type description * @param exceptionErrorCode * @param args arguments used by the MessageFormat to substitue placeholders * @param e */ public ParentEmp4jException(Object exceptionKeyCode, int exceptionErrorCode, String[] args, Throwable e) { super(e); errorMessage = getExceptionMessage(exceptionKeyCode, exceptionErrorCode, args); localizedErrorMessage = getLocalizedExceptionMessage(exceptionKeyCode, exceptionErrorCode, args); } /** * @param exceptionKeyCode Object key to get the exception type description * @param exceptionErrorCode */ public ParentEmp4jException(Object exceptionKeyCode,int exceptionErrorCode) { this(exceptionKeyCode, exceptionErrorCode, new String[0]); } /** * @param exceptionKeyCode Object key to get the exception type description * @param exceptionErrorCode * @param args arguments used by the MessageFormat to substitute place holders */ public ParentEmp4jException(Object exceptionKeyCode, int exceptionErrorCode, String[] args) { super(); errorMessage = getExceptionMessage(exceptionKeyCode, exceptionErrorCode, args); localizedErrorMessage = getLocalizedExceptionMessage(exceptionKeyCode, exceptionErrorCode, args); } /** * * @param exceptionTypeKey * @param exceptionErrorCode * @param args * @return message */ protected String getExceptionMessage(Object exceptionTypeKey, int exceptionErrorCode, String[] args){ String retVal = ""; try{ ExceptionMessageProvider emp = ExceptionMessageProvider.getInstance(); if (emp != null){ retVal = ExceptionMessageProvider.getInstance().getExceptionMessage(exceptionTypeKey, exceptionErrorCode, args); }else{ retVal = "ExceptionMessageProvider is null: exceptionTypeKey="+exceptionTypeKey.toString()+" exceptionErrorCode="+exceptionErrorCode; } }catch(Exception ex){ retVal = "Unable to get Exception message ["+ex.getMessage()+"] exceptionTypeKey="+exceptionTypeKey.toString()+" exceptionErrorCode="+exceptionErrorCode; } return retVal ; } /** * * @param exceptionTypeKey * @param exceptionErrorCode * @param args * @return localized message */ protected String getLocalizedExceptionMessage(Object exceptionTypeKey, int exceptionErrorCode, String[] args){ String retVal = ""; try{ ExceptionMessageProvider emp = ExceptionMessageProvider.getInstance(); if (emp != null){ retVal = ExceptionMessageProvider.getInstance().getLocalizedExceptionMessage(exceptionTypeKey, exceptionErrorCode, args); }else{ retVal = "ExceptionMessageProvider is null: exceptionTypeKey="+exceptionTypeKey.toString()+" exceptionErrorCode="+exceptionErrorCode; } }catch(Exception ex){ retVal = "Unable to get Localized Exception message ["+ex.getMessage()+"] exceptionTypeKey="+exceptionTypeKey.toString()+" exceptionErrorCode="+exceptionErrorCode; } return retVal ; } public String getMessage(){ return errorMessage; } public String getLocalizedMessage(){ return localizedErrorMessage; } } pdfsam-1.1.4/emp4j/src/java/org/pdfsam/emp4j/messages/0000755000175000017500000000000010711371242022341 5ustar twernertwernerpdfsam-1.1.4/emp4j/src/java/org/pdfsam/emp4j/messages/interfaces/0000755000175000017500000000000010711371242024464 5ustar twernertwernerpdfsam-1.1.4/emp4j/src/java/org/pdfsam/emp4j/messages/interfaces/AbstractMessagesSource.java0000644000175000017500000000600211050023342031731 0ustar twernertwerner/* * Created on 20-June-2007 * Copyright (C) 2007 by Andrea Vacondio. * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.emp4j.messages.interfaces; import java.io.Serializable; import java.text.MessageFormat; import org.dom4j.Node; /** * Abstract message source * @author Andrea Vacondio * */ public abstract class AbstractMessagesSource implements InquirableMessagesSource, Serializable { private static final long serialVersionUID = 8363611328909803153L; public AbstractMessagesSource(Node configurationNode){ } public abstract String getExceptionMessage(Object exceptionTypeKey, int exceptionErrorCode) throws Exception; public abstract String getLocalizedExceptionMessage(Object exceptionTypeKey, int exceptionErrorCode) throws Exception; public String getLocalizedExceptionMessage(Object exceptionTypeKey, int exceptionErrorCode, String[] args) throws Exception{ String errorString = getLocalizedExceptionMessage(exceptionTypeKey, exceptionErrorCode); if(args != null && args.length > 0){ errorString = MessageFormat.format(errorString, args); } return errorString; } public String getExceptionMessage(Object exceptionTypeKey, int exceptionErrorCode, String[] args) throws Exception{ String errorString = getExceptionMessage(exceptionTypeKey, exceptionErrorCode); if(args != null && args.length > 0){ errorString = MessageFormat.format(errorString, args); } return errorString; } } pdfsam-1.1.4/emp4j/src/java/org/pdfsam/emp4j/messages/interfaces/InquirableMessagesSource.java0000644000175000017500000000613511050023362032272 0ustar twernertwerner/* * Created on 21-June-2006 * Copyright (C) 2007 by Andrea Vacondio. * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.emp4j.messages.interfaces; /** * Interface for the message source * @author Andrea Vacondio * */ public interface InquirableMessagesSource { /** * @param exceptionTypeKey Exception type key * @param exceptionErrorCode Exception error code * @param args Strings to be substituted to the message * @return the localized exception message * @throws Exception */ public String getLocalizedExceptionMessage(Object exceptionTypeKey, int exceptionErrorCode, String[] args) throws Exception; /** * @param exceptionTypeKey Exception type key * @param exceptionErrorCode Exception error code * @param args Strings to be substituted to the message * @return the exception message * @throws Exception */ public String getExceptionMessage(Object exceptionTypeKey, int exceptionErrorCode, String[] args) throws Exception; /** * @param exceptionTypeKey Exception type key * @param exceptionErrorCode Exception error code * @return the localized exception message * @throws Exception */ public String getLocalizedExceptionMessage(Object exceptionTypeKey, int exceptionErrorCode) throws Exception; /** * @param exceptionTypeKey Exception type key * @param exceptionErrorCode Exception error code * @return the exception message * @throws Exception */ public String getExceptionMessage(Object exceptionTypeKey, int exceptionErrorCode) throws Exception; } pdfsam-1.1.4/emp4j/src/java/org/pdfsam/emp4j/messages/sources/0000755000175000017500000000000010711371242024024 5ustar twernertwernerpdfsam-1.1.4/emp4j/src/java/org/pdfsam/emp4j/messages/sources/XmlMessagesSource.java0000644000175000017500000001241211053056350030300 0ustar twernertwerner/* * Created on 21-June-2006 * Copyright (C) 2006 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.emp4j.messages.sources; import java.io.File; import java.net.URL; import org.dom4j.Document; import org.dom4j.Node; import org.dom4j.io.SAXReader; import org.pdfsam.emp4j.messages.interfaces.AbstractMessagesSource; import org.w3c.dom.DOMException; /** * Implementation of the MessageSourceInterface. * It gets exception messages from an xml source * @author Andrea Vacondio * */ public class XmlMessagesSource extends AbstractMessagesSource{ private static final long serialVersionUID = -5549563695772599153L; private transient Document document; public XmlMessagesSource(Node node) throws Exception{ super(node); Node arg1 = node.selectSingleNode("xmlsource/@filename"); if(arg1 != null){ document = getDocument(arg1.getText()); } else{ throw new DOMException(DOMException.NOT_FOUND_ERR, "Error reading configuration node, node is null."); } } /** * This method tries to get the Document containing the exception messages. * First it tries using filename as a path to file. * Second it tries to use it as Resource name or a SystemResource name. * @param filename * @return the Document object * @throws Exception */ private Document getDocument(String filename) throws Exception{ Document retVal; SAXReader reader = new SAXReader(); File resourceFile = new File(filename); if(resourceFile.exists()){ retVal = reader.read(resourceFile); }else{ ClassLoader cl = XmlMessagesSource.class.getClassLoader(); URL resourceUrl = null; if(cl != null){ resourceUrl = cl.getResource(filename); }else{ resourceUrl = ClassLoader.getSystemResource(filename); } if(resourceUrl != null){ retVal = reader.read(resourceUrl); }else{ throw new NullPointerException("Cannot locate XmlMessageSource data file."); } } return retVal; } public String getLocalizedExceptionMessage(Object exceptionTypeKey, int exceptionErrorCode) throws Exception{ return getExceptionMessage(exceptionTypeKey, exceptionErrorCode); } public String getExceptionMessage(Object exceptionTypeKey, int exceptionErrorCode) throws Exception{ String retVal = ""; retVal = getTypeDescription(exceptionTypeKey.toString())+padString(Integer.toString(exceptionErrorCode), 3, '0', true)+" - "; Node node = document.selectSingleNode("/exception-types/type[@key=\""+exceptionTypeKey.toString()+"\"]/exception[@errorcode=\""+exceptionErrorCode+"\"]/@message"); if(node != null){ retVal += node.getText(); } return retVal; } /** * * @param exceptionTypeKey the given exception type key * @return the associated description * @throws Exception */ private String getTypeDescription(String exceptionTypeKey) throws Exception{ String retVal = "UNK"; Node node = document.selectSingleNode("/exception-types/type[@key=\""+exceptionTypeKey+"\"]/@description"); if(node != null){ retVal = node.getText(); } return retVal; } /** * Given a string s, length n it fills with char c till length n * @param s input String * @param n output string length * @param c char * @param paddingLeft if true chars are added to the left. */ private String padString(String s, int n, char c, boolean paddingLeft) { StringBuffer str = new StringBuffer(s); int strLength = str.length(); if (n > 0 && n > strLength) { for (int i = 0; i <= n; i++) { if (paddingLeft) { if (i < n - strLength) {str.insert(0, c);} } else { if (i > strLength) {str.append(c);} } } } return str.toString(); } } pdfsam-1.1.4/pdfsam-maine-br1/0000755000175000017500000000000011160740340015744 5ustar twernertwernerpdfsam-1.1.4/pdfsam-maine-br1/ant/0000755000175000017500000000000011035172176016535 5ustar twernertwernerpdfsam-1.1.4/pdfsam-maine-br1/ant/basic.properties0000644000175000017500000000013511224650170021726 0ustar twernertwernerpdfsam.jar.version=1.1.4 pdfsam.version=basic pdfsam.branch=1 pdfsam.builddate=12-Jul-2009pdfsam-1.1.4/pdfsam-maine-br1/ant/enhanced.properties0000644000175000017500000000014111224650202022403 0ustar twernertwernerpdfsam.jar.version=1.5.4e pdfsam.version=enhanced pdfsam.branch=1 pdfsam.builddate=12-Jul-2009pdfsam-1.1.4/pdfsam-maine-br1/ant/build.properties0000644000175000017500000000225211225343560021751 0ustar twernertwerner#deploy target destination dir (if you want to deploy) pdfsam.deploy.dir=/media/LACIE/build/pdfsam-basic #root dir where every src directory is located workspace.dir=/media/LACIE/pdfsam/workspace-enhanced #where classes will be compiled, jars distributed, javadocs created and release created build.dir=/media/LACIE/build-1 #version to build pdfsam.version=basic #pdfsam main version. used to find right libraries, etc pdfsam.main.version=1 #libraries itext.jar.name=iText-2.1.7 log4j.jar.name=log4j-1.2.15 dom4j.jar.name=dom4j-1.6.1 jaxen.jar.name=jaxen-1.1 bcmail.jar.name=bcmail-jdk14-138 bcprov.jar.name=bcprov-jdk14-138 looks.jar.name=looks-2.2.1 jcmdline.jar.name=pdfsam-jcmdline-1.0.3 emp4j.jar.name=emp4j-1.0.1 pdfsam-console.jar.name=pdfsam-console-2.0.6e pdfsam-split.jar.name=pdfsam-split-0.5.3 pdfsam-merge.jar.name=pdfsam-merge-0.7.0 pdfsam-cover.jar.name=pdfsam-cover-0.3.0e pdfsam-encrypt.jar.name=pdfsam-encrypt-0.3.0e pdfsam-decrypt.jar.name=pdfsam-decrypt-0.0.3e pdfsam-mix.jar.name=pdfsam-mix-0.1.9e pdfsam-unpack.jar.name=pdfsam-unpack-0.0.7e pdfsam-setviewer.jar.name=pdfsam-setviewer-0.0.4e pdfsam-langpack.jar.name=pdfsam-langpack pdfsam-1.1.4/pdfsam-maine-br1/ant/build.xml0000644000175000017500000004441711207255652020372 0ustar twernertwerner pdfsam pdfsam-1.1.4/pdfsam-maine-br1/etc/0000755000175000017500000000000011035172306016521 5ustar twernertwernerpdfsam-1.1.4/pdfsam-maine-br1/etc/log4j.xml0000644000175000017500000000170211035172306020262 0ustar twernertwerner pdfsam-1.1.4/pdfsam-maine-br1/apidocs/0000755000175000017500000000000011225360200017361 5ustar twernertwernerpdfsam-1.1.4/pdfsam-maine-br1/images/0000755000175000017500000000000011160760176017222 5ustar twernertwernerpdfsam-1.1.4/pdfsam-maine-br1/images/add.png0000644000175000017500000000065211035172250020452 0ustar twernertwernerPNG  IHDRabKGD pHYs!3tIME nt7IDAT8ˍ1N@D:ptAh8J" RPDA5--Ee?f8!#Yk3?k%Ev Υכ/#@'f/ģ@8Qcʪף1a_xs?;.p JEn୶zD?3 6)}$p@ם  ܗ_s|Z ̈^F ¾nU쬪;I=[*'aOW~V`WC#,9m.r1&|G>^st<[q.IENDB`pdfsam-1.1.4/pdfsam-maine-br1/images/remove.png0000644000175000017500000000054411035172250021217 0ustar twernertwernerPNG  IHDRabKGD pHYs!3tIME"ѪIDAT8˝S;0 }<##p6n+!!X6ll#: 4!*@'!s'B>K\|j K-R$$ml89||fC,[msYo6V{:@vh6$V7@xW'xQh( +[&e+9.Ey}{>_1OVւ W뢗< :c`ygt5fRibԺ!N<#Wɝ"č1& 4F܍;n+6cħv;\1n0?0~);ڀ)`Uĉ5"djl/$Pt@IENDB`pdfsam-1.1.4/pdfsam-maine-br1/images/settings.png0000644000175000017500000000077311035172250021566 0ustar twernertwernerPNG  IHDRabKGDb_ pHYs!3tIMEYDjIDAT8ˍJPٴEUfc 1tygv馳Mšucj v% ԶCB"Dw7Af[K Z524mӳn4&Dd2a\7p $O7*GA6o[- \ɲ8]4{H|+'o3,;Y6,<U+[`L1c"°IN>şN(ߟVbLkՊPY)gg?m522<'s:jE,vuR"v\^^ x) __]xknrx~t|1g.A\;X$IENDB`pdfsam-1.1.4/pdfsam-maine-br1/images/info.png0000644000175000017500000000070111035172252020652 0ustar twernertwernerPNG  IHDRabKGDk:w pHYs!3tIME+hNIDAT8˥SKNA] F<ބ1"&kMpٰpB0r1L;z]R}c) X XMՌt*f}a~<&'a}m8h돣۾J)%@'e^v}3"y6O\rUv=0FI)󳽪XȋGH)IxPYr\4_[] YX9M-8F&,t N(@ze8hR뫃@)=/=Yw"g f9OG*ӥb6,?fj߹j{tk"5+izT]8 X}K@Nwlza4B-;^ ~*tdgz xx EHVx4CS.L%7,cgn]&W_B7ҏtm׬H6x|974چ~x2jI+VIʋhdt}5]!JOWo\W!WU|?ΕF"&E*]gnôVS‚+df8?\IENDB`pdfsam-1.1.4/pdfsam-maine-br1/images/erroronload.png0000644000175000017500000000057711035172250022256 0ustar twernertwernerPNG  IHDRasRGBbKGD~c pHYs!3tIME aotEXtCommentCreated with GIMPWIDAT8˥= 08xLG28+A\] 6Nj"${DЋfcgY3nEr~6']^(N|CXcdjJ!CF0O BJXk/ug0Dr*)w]+h\fP!$RrCDp:+ ,|^nF.I<IENDB`pdfsam-1.1.4/pdfsam-maine-br1/images/edit-select-all.png0000644000175000017500000000065311035172250022673 0ustar twernertwernerPNG  IHDRabKGDC pHYs!3tIME aitEXtComment ,IDAT8˝J1F-.(?OV|QAJAt >TߢM-溘i&q2 ܐ'Mdq#Ws-ξ{XF)Ɠip=r'Aq+ԒxqU2b.CA*D ]F= Dϵ"PZi㭏 P'kpT WXm(!NPKN;.uͤ \}8pLMt=+WGVA_:& auC;J6eiq(Fѭ7leɸ[IENDB`pdfsam-1.1.4/pdfsam-maine-br1/images/edit-paste.png0000644000175000017500000000065011035172250021757 0ustar twernertwernerPNG  IHDRabKGD7mPz pHYs!3tIME 4T&5IDAT8˕O@-XL`:D+*I*f:\Raf#EG`,A ^ ^r\wZ̧EX @ec `^aiDC`9)Ƀ儡;~/cz-WR ݜzQ{B#63ref!*vtT@3YZv8(lM@L R]،}'H#LTɭH` 08*ҁ&iD|R _b>犍}6CV&IENDB`pdfsam-1.1.4/pdfsam-maine-br1/images/pdf_basic16.png0000644000175000017500000000145511035172250022005 0ustar twernertwernerPNG  IHDRasRGBbKGD pHYs!3tIME  8GIDAT8}͋G7g'Y]Wŕq~70E hT0BSk|čb<o5ZS.S0yкN [GvWMq~u}_ERg[[|o_1S}yGۯ|| ̈}o,s?,N`[(X.mnf;H ҦɏY8,ul՚`xQX% ѕ~P{ >(ݞV5^h zD(bl\δa!BP&`Ig=&;]p&Gvq9 lIENDB`pdfsam-1.1.4/pdfsam-maine-br1/images/pdf.png0000644000175000017500000000613111035172250020471 0ustar twernertwernerPNG  IHDR@@iqbKGDkJq pHYs!3tIME 1x IDATx[MGwgfC;;l`q|n#D)$$[G1 8@.pEXJ e;ٝݙ??3FcvU51%Oy?&g> ;BF7;Rǜ6!׌[!' $s^,I.Zhq0 ~So*4VLN>݃UӀd.W{8_0C>m C9? L10a~9 "![1ܰ\X\$ɒY} َn7>"@#ӄxx9&a'- `o@:`";f(^yP/I(0j55*:$yAUf{ SϪU' Be4̙)IOÂp}{s~}9z18 Z21Lޚ:ZcqlzY~C) EOJhUD9\/CdxZW)HAG )R+'⌗%zx*YU3  E%! TcTty]]חUժ2?=q /7L}~޼\ vD]3 38b%z=@V"0M_h':U {d!ADJeJc,o[6\dG  B?DcyLY [K;;tKۣ鳈 X ?^ 9u<=K7gcguJc`- -Vl$@1M꺊U+?:AL3vM~N+a]`/6\΅"*j9y3ztoƩS \h@/J&Nn*+*8_ц72"BvSYA" ݅7r9H7s私e"X{>qz۪V..& V[! RX,eUEr RT >KRn¿yLۜ97ڲ 6q'RuT`#XFC< 'A(DnT*54@xUqaw J*MLZmCd8DC#XK@$kEP8>e1 `Z'pyN.h3Nl;\Pr{]BL30$ =-vENУ'>u.>DZ(ݵ[[8k&%߇s d8w)ϴy?{mT wKsp8̔˵%8 ;N ML@Y|6 8DAkN M| o25Swvxē5 g;XڲrV*OLwSv{Js/ >&`H%0Acuctofs؞#;wϖ4<3>gW]k^,[:Zur: XꗫVsE`}TsyõN Hͦ ;cVwvwBM!Qo3<:'& BӜ߆0 .=#MWXU+0 ;{\#?23h@ԞDRlz^ jx74y8^xm_]i0S UjjJ1fdkbid @D "Eu Ð:@Doo9F|rfʞNS; "*Ά*Pp΍D#[. |8^8Ƙ3vEoy?v{5PU2;lÊEZ򙪥X<IENDB`pdfsam-1.1.4/pdfsam-maine-br1/images/exit.png0000644000175000017500000000156711035172250020701 0ustar twernertwernerPNG  IHDRabKGDssa pHYs!3tIME!0=!IDAT8˥KHQ6:,JJ" ^DP!mkZDZDD("Bݴ(7բ=-202Modf{[H;,ǟsYFv *31J2H> @-Je5~Ysrx7Jr劺Z]O7`]3c PE& +2o9 y$c3}ٝrfZfp]9,u|ܱ-K A^8xSzUt07[S؂g ut<:I/-XG*Yw,w脫g ::M=N<JA[_{*ƜONSj䉼c.X;.5dOKok-* C+*:v-5@B9 X`{:Ɩ>:nKͧ (h_bk (C8Vzm B\y= N"[ g<ؘ 'ػ)myLVklރWG]7s*y ? %L=I|Cw4poȱ#˿s4n>۷fT+=_SFcSDn Du: XFcS$W&, ՓZ}@ټiY*}uF*~!"7Vd&&D}edyIENDB`pdfsam-1.1.4/pdfsam-maine-br1/images/down.png0000644000175000017500000000126511035172250020672 0ustar twernertwernerPNG  IHDRabKGDssa pHYs9tIME &RBIDAT8œIOQs-҂Le q&ā.ab?0qcbLC\(m4 Р`D T.8\xV'M -ڲ$ۉ "5m[+c@2:[(noS xFc5H|*l[W*R۳p:M/3yÓ;Vy`m+v&;Rb.Z.m$f&LQ óL7[97QsT,UuD NNgSG~,#o+Tʹ>V z}C9:J| gN {mqn, 9-9P5q`8zsiBA?-l }oP"X\zLL1˱xhJDخ՛Ñ+g<CmӁ̺/HP_>AG^eC^T#ҿFkAdcL?ԋIENDB`pdfsam-1.1.4/pdfsam-maine-br1/images/log.png0000644000175000017500000000052011035172250020475 0ustar twernertwernerPNG  IHDRabKGDC pHYs!3tIME 0 OIDAT8˕10&MLtL Ȫ1^G7"xaBi)׾_xt+ °.dx>ay_F0Yܟ=08%UپEGAJ tPO04,5wz4pl%4욈f@j$,:h4 %Ԗk%58KPPH[nݥ^&$0V~k/BCpIENDB`pdfsam-1.1.4/pdfsam-maine-br1/images/edit-cut.png0000644000175000017500000000113011035172250021430 0ustar twernertwernerPNG  IHDRabKGD> pHYs!3tIME: R3IDAT8˥MOQ;Z!(Ƙ$qW ~: 1LԘ@IC"~,p"tP83.`&zy{sxQzT@yD`Q~Ki%wyq/}Q$D`휓ߨ:lJg6o/a%iirELcj6@0$*}Y⡥v{"a4R\{DhR~:i{s`YM0(0KqmKqܞ罹o\'NmݪhP9Pg^+S qv+[OL^*D!&w _˛m;`xjm WWjs PEkSej:@DYxrN6n)t9t/䧓mCXkWb{ᒺ?E>nvnZLbI[4# Jk_׹鋻?_ A8ՁIENDB`pdfsam-1.1.4/pdfsam-maine-br1/images/pdf_enhanced.png0000644000175000017500000000351511035172250022321 0ustar twernertwernerPNG  IHDR@@iqbKGD!%& pHYs!3tIME')!zvtEXtCommentCreated with The GIMPd%nIDATx[=hG~:9²|]F!qTI[mګ4V&E!M *P5wB>ɠtBݛyo v}73&D?"J.ع`1A,\-Yob@xCeлȦaJ}tz%qɍ1S7@iќSq #A<𥙒n֪Kw hx`?߇G!0$`RJf > 67xDEDBCxٶo#8:dD6;mv8u"Asf+LcP& 3 #&1o(͔ ?jw(ʃJum5x^ f'wIYj$c\AEDeB 4u[ 6;}a2yq7Can:/RNSxyL˃4qLAD ޫT&*ғ996x =JpP^WO$%ܓ6$^w& 1Y{{$ewx*Z?t >aXZYIF: }oMt!#RItq Ndd~z^5w.9`p `js8=FBDt~dEJ+S2!'Gިo4#¬| z>[mk5<+'c~3ZMxA67$Ut[[҃zA@xǫ&o&l[up[""Ԥ}73b'੄<%ښx0oOd& u#ma "# ;w7_v=k3sgNܓoy 9$7'q1:bHڄQ, LSܞ4L1fkUsaLYh=VDK!NOx_u?[nO9 -Ó;> M[é#Z)Vt0{.3{w;;*(L9@<%g=EJnL* >/ rF5p3IdlAx0 0]bEЄYy#߶e'3ZNnӝ*9gD9'w֓lN z@UWtށyںݤW=3SgF Bx4xToIQ.`ˆK| __Ya$흅Gv]9?X%2b"MToZCn e}MuF]\)џgik] W66r 9\p>wO) aYaU/Թ"<1*QF G/g.*9A,N|{è>Q#U.GeM ;? TzQҝjf &^Sl}U`hA@/`0mvǐވhiUg * @ +vԳ^"rJ1,嶻)3ܣ.NHrUW\$E@ѴZb@\&V®D9;ضz.cd-֗jui]AIENDB`pdfsam-1.1.4/pdfsam-maine-br1/images/pdf_enhanced16.png0000644000175000017500000000156411035172250022472 0ustar twernertwernerPNG  IHDRasRGBbKGD pHYs!3tIME  "%atEXtCommentCreated with The GIMPd%nIDAT8˕OhTWd223$d*%A"(T*JwJ(-Н+ݸ]TQpQ-EB]hbjPm85d8y7ӀMpw&.N "S h;sСPn֌>Sh\#V1Si0-Dư'"A@Ka69bט9UB3wrxri&ή1VҒk89Ztҷe{$ҼOnih `3w5SgPJq܂"C ݉[OW+N-66DJZ#7 SOv!aL^𮣦ܜfbs^*4lU"U^>直 "+Sn(*#o7!r;gUaO_o9 f6_ԺR_J4_{񸏁{/ MiR^<޿FƒVCtSw4;rdu/hM֦gx9 NbvGFwGMqpzO>$-lI }_1(ھq01RMͶ1O}p'26PLM Rs~/c) {!'d XG3V( TϯY c3ް?IeTvdtNr%,.eY8_%XY/Nr߲)q+Z[ѭ me4F]#yAT MADvq%eߌq=r?YIENDB`pdfsam-1.1.4/pdfsam-maine-br1/images/pdf16.png0000644000175000017500000000145511035172250020644 0ustar twernertwernerPNG  IHDRasRGBbKGD pHYs!3tIME  2pIDAT8}͋G7g'Y]Wŕq~70E hT0BSk|čb<o5ZS.S0yкN [GvWMq~u}_ERg[[|o_1S}yGۯ|| ̈}o,s?,N`[(X.mnf;H ҦɏY8,ul՚`xQX% ѕ~P{ >(ݞV5^h zD(bl\δa!BP&`Ig=&;]p&Gvq9 lIENDB`pdfsam-1.1.4/pdfsam-maine-br1/images/pdf_basic.png0000644000175000017500000000613111035172250021632 0ustar twernertwernerPNG  IHDR@@iqbKGDkJq pHYs!3tIME 1x IDATx[MGwgfC;;l`q|n#D)$$[G1 8@.pEXJ e;ٝݙ??3FcvU51%Oy?&g> ;BF7;Rǜ6!׌[!' $s^,I.Zhq0 ~So*4VLN>݃UӀd.W{8_0C>m C9? L10a~9 "![1ܰ\X\$ɒY} َn7>"@#ӄxx9&a'- `o@:`";f(^yP/I(0j55*:$yAUf{ SϪU' Be4̙)IOÂp}{s~}9z18 Z21Lޚ:ZcqlzY~C) EOJhUD9\/CdxZW)HAG )R+'⌗%zx*YU3  E%! TcTty]]חUժ2?=q /7L}~޼\ vD]3 38b%z=@V"0M_h':U {d!ADJeJc,o[6\dG  B?DcyLY [K;;tKۣ鳈 X ?^ 9u<=K7gcguJc`- -Vl$@1M꺊U+?:AL3vM~N+a]`/6\΅"*j9y3ztoƩS \h@/J&Nn*+*8_ц72"BvSYA" ݅7r9H7s私e"X{>qz۪V..& V[! RX,eUEr RT >KRn¿yLۜ97ڲ 6q'RuT`#XFC< 'A(DnT*54@xUqaw J*MLZmCd8DC#XK@$kEP8>e1 `Z'pyN.h3Nl;\Pr{]BL30$ =-vENУ'>u.>DZ(ݵ[[8k&%߇s d8w)ϴy?{mT wKsp8̔˵%8 ;N ML@Y|6 8DAkN M| o25Swvxē5 g;XڲrV*OLwSv{Js/ >&`H%0Acuctofs؞#;wϖ4<3>gW]k^,[:Zur: XꗫVsE`}TsyõN Hͦ ;cVwvwBM!Qo3<:'& BӜ߆0 .=#MWXU+0 ;{\#?23h@ԞDRlzجh"&}8Wh\xMD3Г@4[n0ﺿ1JMk,1pz3jaْpڷZ?bўDĽ*aٱ-({L oRKgIENDB`pdfsam-1.1.4/pdfsam-maine-br1/images/edit-save.png0000644000175000017500000000065211035172250021603 0ustar twernertwernerPNG  IHDRabKGDԅ pHYs!3tIME ;UVtEXtCommentCreated with The GIMPd%nIDAT8˝AJ@E_GAzAW&fph]qG4ADl8mOpf$y?GKfk3 IENDB`pdfsam-1.1.4/pdfsam-maine-br1/images/set_outfile.png0000644000175000017500000000075111035172250022244 0ustar twernertwernerPNG  IHDRabKGDLC+ pHYs+tIME e33vIDAT8˥JA˹MP ?/X$Xbe*]8} "ٻKN||3i%2Nfrt^lA|8Տcv5 }50 uЯpC0om/9`e\pwdG- 36(Z:io ޾#hvnI,нԭ u# H Q#!ePlx. UAw4 OM3^uZ쇐O~{+<\>10\~zSe-ERsM麦tMtMPx@hA Ҭ̨IENDB`pdfsam-1.1.4/pdfsam-maine-br1/images/splashscreen.png0000644000175000017500000003324311035172252022420 0ustar twernertwernerPNG  IHDR,dc pHYs  tIME'OwtEXtCommentCreated with The GIMPd%n IDATx$q}v="rϪB7 @(jpA7ϙ 7wDP!#z33"͏qzd+ q䉌=w3hfHAUc.W 9p 7Ə ͗ivWm@ 5PKo5,1[@cUW;xgwm3= bs?z&8"8 Y0Aj oPB FG=Cph_H;&ӛpn. ar߷wZ,Jzq)1ž7pCauj _#t5O.y}tY )ft}?yٽc9W8  G ͔QW++zqt 'COI#Uټ0)Yny8 3HVQt «_+mV;b|=ٴ)\y`VXcLŐӭ0OF\SG3(A EDB#MT('2X0zFZxzU _BD ic 11N=M8u6jNi{Hg'_7 N@N@%!d-[S,t 58%A4&¿6Ax1~Ãp~fuD7'Wf5/?.a[*`{"]n&ԕ yƼ`V(JIS~ma/5m,dg Eߦ1 }vf-?G*K;{>~}@خd_(X^A( $dD| r&Xt_ج 380qڏlwP?|@&_߱f`1D88FQvqRL@Rdw 6w6F$\+/UTI-IK6QO@5r3RH4lFQ'X ԹqV}KmX# ԫk rP V?w;?oA+P +A@Q kc鳝2"ÑOX-vR i$k';KeM8 jяbҖ8gq6צa0*ρ  R՟i eB2dp(bi ak1W0[ "Oh Pe(f:"1[>Ae4IӰ1}k.2>L)K,'2;YB#%[\JlMNlI`lLHW(ވ1m#{}.fm[ i;NM#w1h$w6յ;:I=gby_,oMèBQ)8E>C(=nOıg>䇱Y؊)4h7-8l "Gǭhe=65}?5VZ#͎G8`=Bl{ƭ>{m⢹a5 D`ai ߳.G'OuEay:pBch=v {6z>bYܳF p=05?C乗$.ޏ޷wZzٷR~VlÃs3jkk=4ZaTT']V:Zn&GQ\ 3(loeD)C1jA}mSwl"3~,]j;RPӖߵUe㱌{&}(#itNZ4@Bm GLݮm (%جm,TDE N2FFcWYޝĐr[ªP4$s`\qi2ߚ/C'jKQ nkn }2A7ӛD.e9EK!Mi8u{ g&pحZ?͉#pqvnKNlP6l̦ [o,ۮBE의J#hnK0ڗ'6sIW }eߤ[>ل>n1,f.NEG| &6xgNoyt "j-B#;H cqKkcB`3؝A۸mm^0Ac$ͦ)Or0IW bd hS[=NLG:᥵MqvQS/Ƕt+0Tj01j69 LYmA:^DJ sG6&,2-F]S:Ռ鄸u۸ƃzJe?`C%Oy1=SPGP4?`-MXǥ6F:RK?w5Tk,/XM}m-#5˚!6w%M̋J8ru-s֯CO9?^,q|utH\mD*B+TkI7u*A}wyak0{v};{h P7Fھۥ0ZIBk&[s٨2#,ʂ=!k cyyQ1h azU{}괃i}l'5Ux ]"׉VkKzGfw?}^FNgffBv3j_amfضQ%DSO=fWZU\So;bĵx0e٦ cZ &ƞFwgxU]W+"=HR%l5 NQׄ:N{c %?CrqDðizc5xNoBu>RnUG9룋}S#%ectmݕ~f[C9|2h [/QU(׀&|qDZ)sp2ai7vaax@ 3mQ0,{jn%H㘧(O [-qKڌ`vixCM#9ɱdLe7S;͠Qڊ0Z"?ly;BM}'#^>b8D@⾧3m,\~qG^"t NjJ%Ͼ]n,;jAK̺Mն ֺ nCd:wdM3GgrI[k+{M{׵TVxۤH&Ru~`h^<(OS=:B`g>V=$?˿xS[TƩ+0VGmNհ@4w"k=4><+&ry~m9L׳zXzLP 4E6tMN6A:Yfa QW(c`Dο`7~57HBPR8MկE Nivq͒]y&Ū`c9w-o7}[[]?xd\iJ 344Q;̎5I,:>}wfa,A"+0kdNϜ릲=#2LhP )Dhcg*ʔw0ӭdER8Ug]`w={t.Vw%I'5R)R^qQy(?_l⊾hlPD0_O]uKӺ%2PRF @t(N1S6a0)K(Ig8lյu}~WBU4j{Y N) Krme9oA!{[K}cy7$_0Z" 1jgma\f _bnHkcpJ) ʯzq, sz]dYq :P+rjM7| xw^ʁ(B&a23ShI`GNwO_H[mhCD`3AĠ{|KalPU!D>㗾*GY&\=xּWMSe,c9 IStoMGx7ME0WK!VKJf^{Qed.~uŨ-AI^Ri!#+sO٥d.oV_Bs6$H )QZ+.մUtx }  >Nn|)_9Nk>z? vqQYU+Hx!7DZ1N2:Iǻ89qFؾ0+S^Sk yc S:Nļ̮DWlN%] M[/=ݳڳ;|<8ͯmtNnț}d?>TiތQOTJP&Rq5Gcga:3ٱbMC"%(ܱ. f+ r0ؚR·QLxDRi#D.{i/.(,\B ,y5 l!N[ꄲ+)N0_tus%!՜C#$ eh8"6/ax*m+&FK0^4zo~G}oy`ı|&&,gKm_crA[UrXSo%G>K(4[r6ߩ}M'$lJ> y&bRw`Ͻ.-VK, )^C"ڠ8ޒH9eݝ7£k%-t;*"NE}T<6 :'zkMկnKrc,?פV2y~lyna\%D2?a6z$jR*KS ѱ4msyay,;QMo%*CA^& 1)sc6Nj{S -k{$oJ@Q$|{6֏mH%c-DbN[`6Y#+e|"OpW=][ɍ]uW7w !|9]zM4Si|&%zۨf`$TX#zpjv*P;.kivR?`iMV瓳 8NdFѶN{`p{Yq`oo61F~>Edm$N¯[w~_۹zLHjXhfTx-&z*a "ϰXd^;`$m3ײ7i~@Fp4d fq@yu9_KԠ5#/w3˹w/G5kGj%7屡S@Z1Vк=B(bj';,g3M`ڴ3Fn4tP_H#<% UX^` nE`.J>|F?|r+,p3d9²P˚ -rGїOw͏e,{J}+y4pAn0LCTdȽ=w~JVK{x+L`aBf7lMPl֞iOc?v(JV9{_]-vh7`^X^0+̗-qq%%0~H}F4ʋ[d6 LG6قzq?VVtNR) ֦mf8hh{F8' fW~#dvyr$j$dMRt]hhϵ1wV{CG4wݜ.vNܗ3 [tr`}R4 0t,st` yA^yff9DnO -bMdU>rONt^S6Ѱe$7ݐ}o?3={k3Sm*t4V@I֐ fEc]9ސb[.a[dm}1N/jBF)& ±Zy7_TiV@Wv}Y~#wJ+~$s_ .s y;|=eM݌ұK#&A 0yWG]6(76p6aPdP7c|pk[t9e!#Ytǿ \b(ra$1n!](=w^cCܰkN}YZ^`V4.(Ͱa'؝ԛ\φp\pvl&(i]u а>,Uz8tC="n28fysRYc+ښPCՐ uBð-A&Mܨt:7;5R7F/dG7N:e; &&,1HtnAVR؛Q, IDATv,ݥ-:5Ɠ1-(~5܀Vi[ns{qJw#ɘPYfe3n%fj1و煻:UPU&+ ԙA=HԵL94חO;Z̐( yY)nƦU-2fLoDqO0?Ͼ,ʟ8ޢ027L>)K+T ueue-5;c}2hcG #W#I6CŹu4߳} ~9ndlKiC&W|{ LUUe@ |<'jkB>;so.O'?J0PudVxU,QWʼ7 K,} }\6ZKTp(D R遒׌u<F4%(0_d?Wt'qL} U3m9ԕ%bՕU%|QWM)tp{3>%N5?I"V( duh",aZј {<:gphPNz5JoՅ;}+\4BO{MOu/Pݤ~@_of LR]X7& 0|a!9ۏc˯k]{vC=4xRcU[7?9p4kDX_`6L c&e&[AV|"1ckEH[V QtMiiPm643g@>Cӧ s[-qg\Pլ+0Ȳ|58@`JƀvE$P("F>K ڿSO}_2Kk` $lnF\L!жFF B288xVxpggL]LEUT|bOP7пlu1咕7>2+f$'/Ϳk,a/,4)nFQɄoB&B8AOy%sēCxyY8 a*IqgZTk ü0>UzcJqP-aL6^@}J 9׿"^`*E9Ng/k98 {?|L.EM_[;?Dy?5j>a@`ZB{qjavfϦYb[)BV5c_gxlQfo'I:w}sQXIKjO5:%c=Pa6>Oxt{͌g,@?dUiu !̚b0/r 牭+\"Y-U3|G$ů`*|V:Ynժ~8"G;a+ق*L 굮 -f hAx% 5A[4k}ImɆx]:+ Oo8ʥmuubFҼ&G!LsG:^pџoұq *j>#H8w?Dp5D?Ms| 64Bk_)D].W^Z+#{qᕶs:gY0Cr^︋W u3@pNx6OnrY WѻR,K>d,a 8 t{_S8>2'Zkɾ\ԁ 'ΗVע/-(Y%:꺖_ojh UiR_UVVi ? ܅$e!<ǒeK3o2Q IynFG,|T5ZD~r:vp8GF`KZE ]B#nF Xohhg0Ll,V?Stkߐ#<蛯8rJ= u[/RWM mՕ +~1M-tqhCF qY,o|Yd"2Q d<t3 l,n]Lq0]M831BAT .\YiYkPNeiR%ҟG_8?z8gsaya`,ܮKUc|l4TQuEl\>;8֣S9tcaX=E@ki̺e \D :dDΕOnm8߃{։,3]5kDN W9MD_Df=U;hx?i8,0#`P35J]5]h XQ^#BBFFǨ7_bޏ8s?mt{Gn6/B,}Q$ f4lEi BFAP(e9k_|l`'^іvYQ'=G,*cd0m [ OuBμ{.8*6U*BgČv*| PYMc0`[rA\>N9QdG<BE:#D1XBiq6|%J$D,/0cWVZ;x)Oཾ?_~'[VzJ1'_lfD8LN~&7v\Zf_s 3r 0o$b,]ȳ rawl2 ![@fxC ׷m؃/jYٌ8:1>,4=J]/,/,QPcfhǥ09RaH61V]M}CuJT#i!1U0& :Ƨz2M&|/pt4: YkY=WszhuŚ8B`Pxpo"˟suڂT/Ww5 UE( M5 :&ɾ9Cs x?*٢mv5dKo鄌h"kgE629aG'q ppbF K[Xp2\c)DXhuQҜ0/wȓr3<dF9d9yr7o&{(fpn׺:^R?]ceb޶*Qhc8Xޞ" ?xBSmЕ̿՟k;T ©jٞ!%~ (5˪;c?v<]|Ѐ&ϱaj$I0G8:IS{}U/W8#V%..PWhqj,lh smY7U0䠰)b}Q!n8<<捗xzKN9{:[N پcogJjOm@[He#"ԍjb0ᎎ4fM:r"`kD%E9BMA#JOK8ɛq|ϼ SBY'wЏ>Dd)TCD `-q͟ 6Y)8YWvVU hhz.b`\Ań%LSp\&qLrxq}8%i[xg2hgԵ>aSxǭ52+x Y,m@æI Q{cCհ'Bͺ{oWٕʸ#Bl]\F*2H"QxWs#c0cO}b6i!e:&'4"iXnsZq =,ypv\ƫ lVL]DNK[%ovx63ZWc7qe-Z i=ӥOٗ~L!@q#C1dPǾ(`c?.M`kiCAP {8:!f$ 7L/(Y^2+FlӰU %aoGrt[<8lv=y0V__]d.][>}4\r͝v5~E "l4xn$ D(DW_F#Jx0fpl#O"]9- YeZYC4_^U*Xdc7nˍقO=u[]?˒eMP $$B`%2!`T:QF!V FMQcEOLayxLA-@5S#Gn}G'͑/ 8* 4tн=U*TUS~cc<:M7ӭlԼ ]sr)wSW@@W, MV1mHȘ;xE4}\H4A$HNXNal#1%DRĜb7ppgsHin}Y.|E{xۄ}s cf[R/{ȺJV0Pq้ ĸ{,;- R9eB 5 *LA*m86zIROuu;,2fq>sEIH3IVA;2IENDB`pdfsam-1.1.4/pdfsam-maine-br1/images/edit-clear.png0000644000175000017500000000127311035172250021733 0ustar twernertwernerPNG  IHDRabKGDssa pHYs!3tIME# SHIDAT8˕S]HSa~vm ZRx%CX #o ś'].#)Q,#.sżJE.h쁏yyhP`親zmwńFcaԋ`~'Q}:_8Ɔşڡ˗o TwPrU,I63 h@Pz Ev~@Pb1W`؛N R:WȸnNꙆZeo08Rq>̷I,r8*zk]m6FA/YOI@ Ä2(PUW 5; _˕< %/#ÔPH,"4QI{3Qynt~I;O;D&jovLxm^ڝb̴f$KӒ8|nm9w\"=b.;G8iWQ"'5@ˆEႡ. EPTQh\dcO צꯥJ YlE܊1VIENDB`pdfsam-1.1.4/pdfsam-maine-br1/bin/0000755000175000017500000000000011207774056016531 5ustar twernertwernerpdfsam-1.1.4/pdfsam-maine-br1/bin/run.sh0000644000175000017500000000251611157514674017677 0ustar twernertwerner#!/bin/sh ### ====================================================================== ### ## ## ## pdfsam Bootstrap Script ## ## ## ### ====================================================================== ### warn() { echo "${PROGNAME}: $*" } die() { warn $* exit 1 } DIRNAME="../" PDFSAMJAR="$DIRNAME/@PDFSAM_JAR_NAME.jar" # Setup the classpath if [ ! -f "$PDFSAMJAR" ]; then die "Missing required file: $PDFSAMJAR" fi PDFSAM_CLASSPATH="$PDFSAMJAR" # Setup the JVM if [ "x$JAVA" = "x" ]; then if [ "x$JAVA_HOME" != "x" ]; then JAVA="$JAVA_HOME/bin/java" else JAVA="java" fi fi # Setup pdfsam memory properties JAVA_OPTS="-Xmx256m" # Display our environment echo "=========================================================================" echo "" echo " pdfsam" echo "" echo " JAVA: $JAVA" echo "" echo " JAVA_OPTS: $JAVA_OPTS" echo "" echo " CLASSPATH: $PDFSAM_CLASSPATH" echo "" echo "=========================================================================" echo "" # Execute the JVM in the foreground "$JAVA" $JAVA_OPTS \ -classpath "$PDFSAM_CLASSPATH" \ org.pdfsam.guiclient.GuiClient "$@"pdfsam-1.1.4/pdfsam-maine-br1/bin/run-console.sh0000644000175000017500000000300511205273712021316 0ustar twernertwerner#!/bin/sh ### ====================================================================== ### ## ## ## pdfsam Bootstrap Script ## ## ## ### ====================================================================== ### warn() { echo "${PROGNAME}: $*" } die() { warn $* exit 1 } DIRNAME="../lib/" CONSOLEJAR="$DIRNAME/@CONSOLE_JAR_NAME.jar" # Setup the classpath if [ ! -f "$CONSOLEJAR" ]; then die "Missing required file: $CONSOLEJAR" fi CONSOLE_CLASSPATH="$CONSOLEJAR" # Setup the JVM if [ "x$JAVA" = "x" ]; then if [ "x$JAVA_HOME" != "x" ]; then JAVA="$JAVA_HOME/bin/java" else JAVA="java" fi fi # Setup sepecific properties JAVA_OPTS="-Dlog4j.configuration=console-log4j.xml" # Display our environment echo "=========================================================================" echo "" echo " pdfsam console" echo "" echo " available properties:" echo " pdfsam.log.console.level" echo " pdfsam.log.file.level" echo " pdfsam.log.file.filename" echo "" echo " JAVA: $JAVA" echo "" echo " JAVA_OPTS: $JAVA_OPTS" echo "" echo " CLASSPATH: $CONSOLE_CLASSPATH" echo "" echo "=========================================================================" echo "" # Execute the JVM in the foreground "$JAVA" $JAVA_OPTS \ -classpath "$CONSOLE_CLASSPATH" \ org.pdfsam.console.ConsoleClient "$@"pdfsam-1.1.4/pdfsam-maine-br1/bin/run-console.bat0000644000175000017500000000246611205274132021461 0ustar twernertwerner@echo off set DIRNAME=..\lib\ set CONSOLEJAR=%DIRNAME%\@CONSOLE_JAR_NAME.jar if exist "%CONSOLEJAR%" goto FOUND_CONSOLE_JAR echo Could not locate %CONSOLEJAR%. Please check that you are in the echo bin directory when running this script. goto END :FOUND_CONSOLE_JAR if not "%JAVA_HOME%" == "" goto HOME_SET set JAVA=java echo JAVA_HOME is not set. Unexpected results may occur. echo Set JAVA_HOME to the directory of your local JDK to avoid this message. goto SKIP_HOME_SET :HOME_SET set JAVA=%JAVA_HOME%\bin\java :SKIP_HOME_SET set JAVA_OPTS= -Xmx256m -Dlog4j.configuration=console-log4j.xml set CONSOLE_CLASSPATH=%CONSOLEJAR% echo =============================================================================== echo. echo pdfsam console echo. echo available properties: echo pdfsam.log.console.level echo pdfsam.log.file.level echo pdfsam.log.file.filename echo. echo JAVA: %JAVA% echo. echo JAVA_OPTS: %JAVA_OPTS% echo. echo CLASSPATH: %CONSOLE_CLASSPATH% echo. echo =============================================================================== echo. :RESTART @echo on "%JAVA%" %JAVA_OPTS% -classpath "%CONSOLE_CLASSPATH%" org.pdfsam.console.ConsoleClient %* @echo off if ERRORLEVEL 10 goto RESTART :END if "%NOPAUSE%" == "" pause :END_NO_PAUSEpdfsam-1.1.4/pdfsam-maine-br1/bin/run.bat0000644000175000017500000000216011157514702020016 0ustar twernertwerner@echo off set DIRNAME=..\ set PDFSAMJAR=%DIRNAME%\@PDFSAM_JAR_NAME.jar if exist "%PDFSAMJAR%" goto FOUND_PDFSAM_JAR echo Could not locate %PDFSAMJAR%. Please check that you are in the echo bin directory when running this script. goto END :FOUND_PDFSAM_JAR if not "%JAVA_HOME%" == "" goto HOME_SET set JAVA=java echo JAVA_HOME is not set. Unexpected results may occur. echo Set JAVA_HOME to the directory of your local JDK to avoid this message. goto SKIP_HOME_SET :HOME_SET set JAVA=%JAVA_HOME%\bin\java :SKIP_HOME_SET set JAVA_OPTS= -Xmx256m set PDFSAM_CLASSPATH=%PDFSAMJAR% echo =============================================================================== echo. echo pdfsam echo. echo JAVA: %JAVA% echo. echo JAVA_OPTS: %JAVA_OPTS% echo. echo CLASSPATH: %PDFSAM_CLASSPATH% echo. echo =============================================================================== echo. :RESTART @echo on "%JAVA%" %JAVA_OPTS% -classpath "%PDFSAM_CLASSPATH%" org.pdfsam.guiclient.GuiClient %* @echo off if ERRORLEVEL 10 goto RESTART :END if "%NOPAUSE%" == "" pause :END_NO_PAUSEpdfsam-1.1.4/pdfsam-maine-br1/doc/0000755000175000017500000000000011035172200016504 5ustar twernertwernerpdfsam-1.1.4/pdfsam-maine-br1/doc/basic/0000755000175000017500000000000011035172200017565 5ustar twernertwernerpdfsam-1.1.4/pdfsam-maine-br1/doc/basic/Manual-basic.odt0000644000175000017500000127517711123503612022620 0ustar twernertwernerPK9^2 ''mimetypeapplication/vnd.oasis.opendocument.textPK9Configurations2/statusbar/PK9'Configurations2/accelerator/current.xmlPKPK9Configurations2/floater/PK9Configurations2/popupmenu/PK9Configurations2/progressbar/PK9Configurations2/menubar/PK9Configurations2/toolbar/PK9Configurations2/images/Bitmaps/PK93Lrc!c!-Pictures/10000000000001FC0000016104E360A9.pngPNG  IHDRaȏ!*IDATx}a9 />3; u*ܢ"BiPr`JM "ƉEMq++A1SXJH[EP ~g[x "v7yf}~-3쳷gVtj?߉vQϮӿ? ?'[>tYg}ʟhu_Aw@e2e"*&L(#ƌ-}rugO{{ر+G),l19{{g_s/l9ZKvC9Wܫ=g~:H֬u\7Jx B'sNiܸ'Zƌ?F߿$q;l'I;':M30Ҙ1-.,&&XIͻN>>Xp?pZYozu/pPOQW)"?:}^}s?{Jq9bAq(Λ<Tży2vO7͸A@Zf&Ո˫ f0"ǝsa^ȉO?\xB_^v%8t  ,XjU݃Mw)8_jooW̞DEVWԄ/F2a|Te +q܉U,ӭYV̦bde|L^HÌtqx?6hMM4wީTv#+yO>]wKYqcNJNYhgᓻ45a„#Gڏ<ܻwoŧpB_by3Ǐׅ|Ai0?˫5g c'{yZtѻWGz0̸1t04=e]&Jopg= ~ WX[YW+ULi;uso,2e߉=c .9O']MYnz ;N/7U3jURԩS}5lUZ+  wkn_kE]j.[+n1|%ڡ)>P|)t#}9Ɵ;wκ릴`sO5Ls5HsyPoQ.[{ߚ$QM=AO>twVٺuķ-\0t\oeurĉ"̎;Պj5;cS'('~v\z8E24YbbwܱYu---咾u}C{xcj=Qޮm|Cܟ>}Ν ThJD BרZ[t75Aaky[oLfKTn=5f);Uw,f"Ao-h[%;̑~$GD_"voYer-}}Rud/}y׬iE'waHL7ݼxy ExBwhh[O&2oڎfɊ+W~g PBJ|G\(qo?~RlK.mL՟_luUi1 t-dQ:r?Cw(cAI.hYCeŊ[[wHD8AխjV`nٱnpj]}RVZS7jQ"‚[ZX V;m'L%EkSP7 MgA>#|1ୢF9 #}iT\ZGhO-VmYGhCK<r8NhF[]Pmh Qul+NIC?b )_{Gp4LOTˑ| (?RŞjG}YY90|UDžx"+g e3i1~*"pJ}.e3xU,s9NQkF%Υ:ƅ4;>& q>D8@j7a ?иr'fVQpa,Y~nT.q f•*X Wp>}HпUG҇+BT+g-Zhz\9ιR*궹*jܞޥrA޲{K}Tj47[)؊j%ٓԽRWɕ-kܿm緟P V-@ӨՕj7׹l-hLrrVH>gT'b8%CjH+i]9Hgٴ&O5'p%ܛ4FVWg1H?4Y\Rṹ  W z_Ĥ :2r8N q9hV\9 < WJ40ggC-O= }C >x$}X"GhѢg&jrsT*y.\}q$\uYD9˦9s1bN:+n*@C,bdZyu иr;†.B>#-ZZ)c\u~a4$kVډGuqs3+龛t]h\9 <ҨW2g[Ci@|BxBxBxBxBxBxBxBxBxBx4}U:HK,E?uxBx4Y&.@ %:;Ncg"GŽyw(f+JyuQSNwrvr8ZmnnY.[-Zr-HLa|:AЯ].MU7ԟ|k!:\-QX)Ȟj]"h#}dk3PiB_&rp$65⫀z#9Nzn~6Ksf\ݪf. 6B%iGR=?!sZ<:#Й{'4k4cIB\;JDOխංGqֵĩ: gũ:ig<ز$|_h4:؏I۳= 4~jvTKs)Su9s$nH*}R|W&l F^=vZlD_hMuF;̲J )]du$X-L[(NKT?jDr}p_pU7c7jټXزc ͻ֡V`k-B̖cr^k=$tOͪG"6# {^o\q~秆3g2M4[w"^azxċ>|p޽*kkkJJL|yrRsD788K- 6ȈKr_#1V@aAo.X`ժUj#S^$ݤMyArAp1S~``M5ahG\rɱcԂU˚U+@G }|Z/u+r[0kI9uYZjz=W IJy>}33FvNzofZMs]x!G50u `~0GV\*_T_pD'O U-)STeyWU%˶mr }͊iNhhǜ~ĉr.OUkooWuT7B}+WѫF.%)^0T e~ 5x5ITifzd3(2O:;;ݭ[BSV`ħ}òDUP^O@ٳgڴiraM>ϣv;ֲ5`5]._¨e I0ٹsgܤMU3cݘb8̠okk$,1cyZOuۺDvv3*h$>#5ipne]W kF:3;}(H~"T=dԓwE(j\< 9ך;UdΚa̸Nikk۸q7zB@CƽZѿHCʻ#Pe\#7\ҝʋ(>xBxBh*pZ [-f ,XjU͍P\VZy@($S2t``׆Bôn餡_]r%ǎS@(.PڊI&#GiYVjyGj!~.bѣG3~ / BҾ9+4:t %ʡCa⇾!շO7B@b8u)S8B_>5َƌ3b́P\*ׂ.VK{ӦM+ͦBKBg }!D|7B@q`5wBC?8lCpcoio=s\/)#}Q%F9uΝ;+TY#}oW-[ US-$;A218wkƾ%o>7-u|Mzm_}K*i}eNwJ>Np]qN}s uFIki+OS(E6nx7T#{@}s#TWWWwwSO=o7BC[侹+iS@G}!#>xBwunXIENDB`PK9-Pictures/2000000700004C2D00000DC05457C962.svmyyge4$I@ '?5у@M40DbIW`9 pB 9@Ad0:N[f,} Hi(iKdmbk寒BaPT!(&g<]<ȵ-i?ݲ=%>o]cY?ʖC2jQ`cĘcVy^OVf| j rj=L9(~ڮ[C^z5{ u?GFzrP6+ i>3iWۈ/GV_PyF'61=,b y]+%At8۵7S %]D7x若۶AڸjQ :eŠDIJ~93sGZEӕm6? Ff:wK?|y:x!%W$»]OPܣki$VB|_>Bj׿B/` aAQ14=JA|>ڒьn _ \:DZ] _$v'E8; x^4i@6:B"g-* ,m~'%xebs2`~3V~EgeD v)?G"a{yĢܡW$YV7(:~H7+w ʠs@eVJHNUMi^8#5:.*eSG.oқ W=WY|/(XyM^1uPIZwfmV4q(3V~jgu17~Cmx$kr*ӭb:S &)bf! q!Nt|Ou>c+fgmf'9pV>7: ~A}1jM7d97-ޘ5GՐ"(rQbCq͆Ft51jTj>_}]sZXb;PqEEzp=[eI#੷i/t{W2]V8r򷱲D|kО[0T d*ۘb~uHo'IuX#'R(h+ Qԛ4;Hm-G _wр^rYNpfl:F|ĕQ ];m}{ҏCl)?r)}CXDj56:}=w,y7s6% 2SDTy8E'!wQ 5SSKHWkY}{OU}'OS#/f*~tBZ$2]wynMr:+@"AY.qcmߘ.}PaHt[1rzXjLtx<]ctu^C6~5ՏUW϶jc^O$2I 7r 875ܔS7vc/B AdJwEaJ][}J{^̢;`_yOԜ(3<5=a9R-!r:d}ٓ>߫6 5nFX5]z Ԙd5y͡gf4Yu6FP"1m>'RXF>qa~,3G#R+EsULm=7*p!;-W굜+&pA Ol`ss#\)bZ,m{e< fSsf&xf n&_i;tzBܥTyϗ!E{o (Ynߗ̗({_O}(\b>٪\J*عVd֥jvњY֞ϨFGMNhbϞ-_>#NJI)h*7/p#`Lz1_.OքK!" Geu=M*S8[y&`yjZg'pnAG]̪r(%qtT+J[)`]}o}"d @}_h|d](8s~d>$ 4f@ ɒ<`mnVd' M5Gxix0!PiEUD6҂> M.W5mWCD=xsak:X*"BL 998BgǗ GCxrY^\s=_<ءX^Ö3 E|wC>XɽQY?S߱zcWp%BXJ9Od;V$)gQOcsl_oTlhofL53}mE~l ?ޗQri'A~: Ip9jlXQ[5e3\U^zqCrdBMpqA>~VD/:5aP"=돋 П@p8Q1>vNM\M=d\IlV(>e`URَ 8;{d""e„[;kc'3AJ8-yK wLOq D_1)1<BK}yy=<2C.Y•fd{:@c`m|ws~I8*Y.3Y̲+uBz)!}]4݋K }^c[3[w&a>]7DngUw35JXߔn|HWK?µM'rT>$αF0n"?CJD izuҫ${ xBGNܔD< }ƃj]|K1">ks}\aqwL7!|yd7dX-{!ԥXN'VB,}zi8wSi': j)[` qJ3ݾhޠ/]}~t#n54AL!I9bHY"k+}$Cu!hEXzP1%e{S*~ז ~nn9@$vNQT<(ycsw}nʋnurG~v &Y*5'{$lF6>$#ѸMy~h:MBd0j4.LsXOnhmc4_ưYsn`d RBxQ9@Qa7L(NJqOF~\\ϩ7U `J>C&StMy [q0-~<3kbO wB/jkk%!G%GnX6%msK1bI7•^b{/K[9hH`CGQ iۈѽYG7?|VYRNK+7=h[4['80fLI6WKcXLOᅠ)z.Ij݃O!}~-t6n Yyowf-\'yn(L=weMşc'!t=o-'wn9{GY/#xeiڃ`[s8ݟUG?3B?pY/=ha&"q!U}[PQ\Nph{aF.cL+d\F.L5#~AlaV+k|Y.WT*yL^lbƖۤ >+86S-d͵yA6%!#êuۃEDNV x?ȃm73L;Wt},*O4UM7K Q9C!Cm9< S=|P,:5׎B9+!P /6d!D^ bkhD`, \5Ss/eԧ݆rxWXX[oVQE* UWOnxFY&-:2~!wSf`XdYxH0d~Svܿ6. }``hw(IQzqM7Ֆjp~E﵄# 0]QΪͨʍ-+d iE0yqŦr;^vϲgJVQ]YIl?~IJ%v@ChC>jL(&߶Mmh&{RG(ʸ7'=yȷ€6H[cY$9fҮN'uL "(fd䎭:NAV~*M(WRk6^,sQ,SG.B *r9Y2M"`[A}a2~Wc%\"}ex !]S#,5$kޒ5I;Uw$**DW*ƷՃHX*_ [.^`Ul^Z7$}Rxp/|wRuz5Ժ}Iє6gzK<9Aޑ)5s ]X PejJ"; 4LZ=6^q{IT|cG"L^MT^Tى~Lӊr%bg;"5vX }2tSA /| hCp\8M~ߎIW\ڲJ\Cuh4 54p ZNܠݪHBSP?;]ܦ17 APK[uPK9gg-Pictures/10000000000003DD00000322C8C405F1.pngPNG  IHDR"h7gIDATx ŁYpa5K ,,.h(FB<&'I4 =&J%/hļIL4N'&J\eY^v! 03OnS]=o3TWWt/o>/= <ٛ/7>j޼ybGXL*Z;w.CK[Z8JBSYxlT8wr.KNԮz^%kg%ǻJLNNJ8Jt:u*^WНwm뚮Ne}ú_m'ZwRY.Zi'V~h#vkٺD>6jސοyIzz<΃\z{dgJ{H軬oW9;DZyDʰmU䯕hPS?of#h;r>WwXirib9vҌ{ۦB|&;*kk}^' yJ$#G&}GXxZxY+6ܭY7ߥ|9~{_LʹWXֿ+j+Y$S-'gLţ敩.Mb9үrЗ7[,~BuXsM/9|@fwg~2$YS#"%Jƞ|۽5Q?~ovo6#u3Sqڞh.Ԟ5yt(7vvT0]V\HzqD^2\S\}ˉ d$1n%?rw?psT(߈cGh>q؀?>2c7&ҹzGsr^sWrR5kc({jA%{2GFsg(c *;ngnoJܦ2Tݱr9#n|2gB˶?η6]r\iPȉ[Vjmjn6=q~Ա6H)Y]SzDs.# +[/3剺:9}7̃ÎɓRjI?.*^s;;YYlX e*:Nƾ;m\%O; owD.㩕=~k}i_S|TFJf\Mքq|H2,~{J*0M;P8;X"{4~\m/h>=s?6l׷>uͷCKc߿ gS5i敷l~{d}ԥ_u6 -S " 2.cI?k%v@Сm=j%/鹿-vhSrko2Jw'&~ og3Rc'ÿ2ONe1ғX6n-snn}Կ$y,yeO39OTUgVT\.RѼetLb1lXnFZ}Z钛OBbIL?, PX\xA粗e7=|F,|7vEcVdR@~,a.҂e/˟H-͓ cq|a$1a沒8&ڒcˏҢ1or9@E?ky,[l)n?@ѐ!777Pr՗"6^nKr /rb/@ r:Ռ &)IdNA_< rDk=_ @.wmYbdBAȓEA_\~7wuWX*mL>e˖-E ####ːrʲ[b;s;;d'^_Fi$FRW3yԷ#tG|cW/3Ce[è{ɾZ>ƀM3}6'3cfWe}D_y,ۜE92~ 7hn\Xw{?.ygZ7Cp۴?y56oMﺙÇJ׎;3}\" (r׹یtMc.ӣ4IͱWr&}M1Xrמ9㉕ey%aj+>21y`; m<9wl7%SNJg82ZLg%>c|gQw >xik5B_,#NB38~?~810֭(~sy)r?ر %ֻ8.x*~d)Wa]v\/2ŰBt(D(f'Ŏle/n?~oϾjg^g~eՐAG~ےFѼvU~s?zXylsSmͰe?~=)U[K)}71h͓/w~'[>ewO0N [^|'L?,esso~r]%{sWN=\P2r%~^Om}Fσ}#U"rԦmr~\ $N[n$}㟧Psq˘1gֽ9'ϼ`iG 4ҹU?!:'76l6;w%1PlzkfclsG@_.RݣgThSv =hz}|i~fbꉁD'珙<VbOD(袋Vǯ^'^.*gxΪQӟL|q5oZo77ڶ&ycRz}@\nqqX\23<$By:?Oϻ/䚧qOY'|j%-~4ʩבq/yVՉ/nH|ffSך`\x>mʦ {O7pϾ]ڭ{ۏ}<->(i> ]zY#ϬEzi-K}z>W 5e>E47ߝ~zCƈP瓳M9=: <u<75#cE枳 #}K?<LS?v8;(=ENZ2ߟY>z ?gXhɳk vE4O^p⩎ݡ|e}̹|ھ'Fܻ 03?}w{>~2Y}ׄ}z.3r$͓ďSxvt&L4WA:'Pߧ*'D4/,DC\~ża\٠cc{nȀ؀} .i HȾ'kG{LcZcL˧8|4r9>r9>r9^o @%c]wݵ%͚5K}ywH"JeN\-[ dRq1cH_61^^D],?6y Mk}d>{477͙|ƌKh2=/,xi&I"r!By]>/\hsaȐ 3gV:#6=r%PeXP.gP-1㉙3SOVUm!"˷j<ffȫimI{k#Ds՘0cErmɒ^Zl#ж1im %VG[[hGP9l<ҥK;;;ՙ0}|y\.Un5)Am9Ƕ 4ףoF\BDW!"Q '>P.-J:2BM$rShax:r?<1"BDp!J]gg6zPsy<UW]uw(^E喼O,e4,h#!<s99CmwTٻU=\}ih$r;mQ]TMoԗm76d4D#I"(7.׻I rdn#eFnEknn d+d>#g(n\}mgSrqqt?l4amžT ֲH|y69FL/y; ^) ĵ+?y,'L?m*TRmoSqҮgӬ2*UUǪV}H^}`Qsy~{><[ ?GMe{%忈h8e2/["n܊i8CܹӻO RNh ԎrDP~[#=rbloD;en5iT3'οZQ_hic:Wl{ ԭpI9qfqu\;b4^4I&oLxP%榳aÆeGGKAǹ%ӳK`є m)D3_-JluCaڭ/}cA\xFgUǹb]8Z+kmS}8ZO=֜rn.^4hO_t6d 'o9W?{YEewu*L ~Nuh!E&_ʘ<`5ĕC>bUfM^է0ҙgЎ1b۶mbQB, f3yvͻ[xl!$'o!hS׌0zTY;eMMSm;ypӊA{hoY-ͧJRN?Z]ijjo. %3CB…'A>{6wFE[//I,Mo6>,lQE <8n|{ "ʴ7z!;UnVX\n8b$;2O3fXFSCC_fɠniƓofyעp<οD{pΪOcOvSǒ xgDb{j6yz!JDj99r|)VW$z>V_]ve?[/E4+\p>. 'ByzdduH}nф3W;U?3h'{wZ^JY zݒ"#?:YuÌEȸK=Ĺ1x"ߧo/6mGK>P#-(\.gZ2cn[de9P~(5:;ڒ3Ǎ*}"ƪea:*[Η6lݻ$ЛD.7R'5-'{h}j<F-jFm\;nVfv翠&T/f_/7c~ݕ$3&~%j[NRXn%_B_Eǎ*:_}>cf̸H-YВ-l -y\.ĪW_ϷSfcSMyg9' 8U-ٺ6P2]D(_2_eV'blhߖ-[~`KB.BDp!ʃmsBK֒FCyT8㼘1Ř!ՒЯ˭rxxEhכGsJvYrg+OBP-=ygy,}lm!Cf_'\lxlR稨՜% <۲r-[/33u9sghhhxG/rT+|rґoyÆ T(Xb* P*Ot/쎄Lrq*Z\se/yR eH匵4^߅ jgϞx5Lhj>cƌ"P4/l\Z`f<1< ߖ.]v/BVc}~9eh~ƐZt5[OJbhѢA"_ĭeɏe.Y"K3 Fsl l0koEdz9宜ӘBuǺ34{QvO %>pV6fآ[EYҙ;vѭb,K׬Y㲥@ycю'-,nȕn>׍X\1b\ٶm\ښ&7Y.-_8^~=dws܊r6['\m:솦[\Z/劶Am[(/rў8rޤ:[XDn+&p~RhD+#Gt|Ya(y,IDE(%֨g$79vokkf\Z{ۊvm5UsS˳sK;}Pl'q-S7z~c^+$Y\W-5y֗ou_i&R-F- r).Vkno68 .Ԗgk1pzOͱ aMN|N2j}{xV7\ܰaĊU1^mV[Ǫ\^k4Y-a}ƌK,ɺȣ@"jgcL̗;AIY-=uںn:K"K+jMfu,W/7R'; ,{4й~‘\ZtK}ҥw_ T䫵_9\}cT>xm+/wx5k\@Eq{@*P*"7^.?(Q//~hH˳з*\@En|…rEqk&45MVKDX1cƒ%K;:q/l\Z`f42DYDG˵̹_,=biEg|Zg+Nrr֭Ot.3dY9[KYnH1zJw8ni[C*Mi-7VLokPMmr.P97^nӹlm]*mصM 72_g}}nrmY A 4h"G&>iQkn;},Pg\^zw?G1m #k֬qҿx=SX2q: -r=rDn@/_p9*V˯fBSdD3f,Y#@(r[(,I4:|Μ;>MS[A$ :PZ<9|'d:%[PJy,%.3vYg|@%`mhL5L;/f͚v*Trͽ9vș|! R/^]mL~P-MFB43έdZaogODM˵ANuP\(x5k\|aW{'xg 8+xhO>Ek~9P<2d|…rZ/ MMg̘dɒ*CB`,y~?/3~?y=EN.ߺ X"<k[v~`V*4P!x~-skS^@/7\- Ule3^.Wܖ3O9*ܻ  ĭr-]r[U}( me5}T\f- tDt*s=j(?=@e"#####################'W|a\@i#COnKmܓ?rhd IAnɣM5\WVUsdٵPr0֮]7nm%Ytn{$"wr9R( !B"_3>H.Gy>,r942ގiޖcjwYR*oަ}&Yr9>r9* 4*iڴi[l \D$X|y]gr |r |rںk׮c666/ ##d2SOL:mmmV:t%\ҷoY7_Պ/e|pu\Ux7]*,%YKPhrLlrE)S<쳶\n ZK5قZmָsvGWwv5mߴ-{7ѬGY1hKNݮG8Ce,)u\v5uTmbQF=c5٪yGgQ۔m=~Kf~q{6Y\b@Y\7֠ǷRԮ BWWWW]][bڣG3OuzɱjLKeg=,%΢kfw'Dٵ ï8p@6gbWWWryyww^n a.Ϸ&BgHli+Yh|4h[D.qc8r90MSĵ;v>Gr9H&O=T{{{KKԩS>ֶjժC^r%} fsshEˣ{+D.G"۷ׯ_,3MV1c,[Ll Lx(t79J]I_H)@A׹瞻bŊc8ÇW\9qDuϩun;zvLn n+K#CG._#G|Gj[nhhhhjjRw;o̮K?z [{}n@ĉWZuN4iԨQܿƍ|Il#2;KKe~ \Lqmǎ?ѣG, imBه(tJ|BA.G`ia%@PA/_vzrӦM Wr[l Wr |r |r |r |rk׮ Ȭn߾}~555?\䪫 ^,Ǎ49PNDž}rA$kגˁrB.G.G`vꪮ;vlcccBp(>r9H&O=T{{{KKԩS>ֶjժC^r%} fssh!.9wϱ K\6Ķo߾뮻_~X4Zƌl2uɶ]D~=YEky蛇4@WGGG{{R+/^}Ç[O?((K}D._---&WDn2eʳ>6'U+ Ω)]vJ<ݠL/>5xoj_b|` C._v:u6Q{1u5XAG ^={9B,ѶiU `̱ kwvl(&ќP1r9ꪫsKlbY[[{Q^ :nu" !Ko472R @y#ï8p@6gbWWW|0[Q6ºyLnɭʢYќP=r9߼y㵉M,7l0dȐjtMJ.3es.cmDTr9:sWX1vؚgb;|ʕ+'NKvӶ3uy,vw%SiC)Εh𫱱qȑG_S\'Y|5s[?UŮ>jr|kܪCAOu~D$xB<;hrHީX<⥜w9!͓Q[d-Xi*"e"bMD@aB9{g{Ւ}3?9zD*WGq"WM&x9P$xB|mͼD"5Rk< Q;Vwȱyr9n|gm0O+r9cRO?4i^kZO2/L.'>2xPA'444r |r |r]6.T4r9qƅJG.G.G.G.G.G.G.G.G.G.G.G.G.G.G3˕e߻mmpа4Bm7ܚ&r9\,+rK=@##hƳrwu{vDB1~gyA.G|,SDWtrv {tߖ5cmڵk՗ƍ1(P}s`1bˑEe ,uQo* x>r9\9mjձieivтrбy3$A.Gy-L{j!c2v/~uttڵ~رaqJ$ɧzeԩuuunkk[jСC/䒾}S,v)Boݎ.8;nW2r9 r߾}]w]~bi"P3fٲebɓm&Ȝ8F*9|!ïv5AʥPSSsW.^xÇv!yU~8\9rʔ)>-D:Yc2\/m3"l5=q8wƕ29ROCV=uUAS%Nmw ۡ@"ï]vM:UrԨQ= %rΈk0쳭ܻMgvO=Ͻ{萺cW}}ԞR7'OIwtǺVB9‘WWWW]][(ڣG/GyaFwvz^ٽs{Ǽi3~ʋ%o)3` >~SIړS)%L_@"ïs=wŊcǎqÇ\rĉ.ڹMylӻ?]ʎzJ~o?e<>k{Nh:Zn-8w Wccȑ#y䑫E|]"NJF) 2GYҌ8{ߋ\:@!#'Z{4iҨQ7>"A:GvHr`;vhmm}Ǐ=Z]]=x`Q\EYr9>r9>r9>r9>r9>r9tΰ{ӧ5r9!BX.Z( ʭ2H$&'!_ќ\ltvvjC-5q+_uUwygB.@Cyru6dǣ%mcߑX$>[ r.M6m˖-n[{ҼUKu-7Gd] ֒\=&[<UdKS<~vK_ogr´ u˝o0rdcfp_n3H)cpZs/;E V.Zxr9貭r 0{#v2|^2˕Æ ;::6<%z/@TXF;E=^Y{;F&J;vmTdtkl3˙hǢ/O+]"[51F_7Jb}Ĉ۶mKQ"V&NJR63y\,9˭81^~8KgK:5vaar/֭[&Q"כĊUM[+jMmB9QOY;T=^Y %=D#=莛~Lj]0- #G:V}YnZ}Y ǒ4SAȗ֊ f4{ʏQwcі8ږmmmbEurlD-tdeB.@lO)q痟k+k˜ rԴWq(oڴY,m벂X=zQ"ʽ&cMN|~2vbGX޹n]fa[%έ.uYj5UrDZX䕵{O7pϾ]6wE׭[grQ`um5[C%\ E-_;>~lyϘB7J,fZwm7fݟy< YcVpmi^_]ړ;wQcACdK1˖b@"5:.Cܻ~_է;ۂ5D auZmmΎihEQ<_Qoϡ_Pr"Cs'.0Qx"Ǩ=ݒz|鬣;nMyvZwц#{ \/2|ǿç<D(9\{rxsg56fegeAv r9t)7D2! fwq(ԋ,961{/>1c(9rx[n`ǏCsm*sJ;UC.Ũp9v<? "w˘͟o7/{$5k՘G}VjǚM?ٲs@٠!n A.+׿/rND^n1Ō/AwCw|x~}ԑE}l3bq_&\/ P|"լY@ ########w?;r9mf,Shinn˶6륵, %r97;e@?KLTe(o0@!Ë6? ??\{r.$K)bEqkt\wOwdw :mCTp8eF)n-{w9DmĭnR퀳M{i (urx~O(Cyʋs'@% yy :p5k֬P)@@@@@@@ZtigggؽFCC @\,-Zt *HX]>(.D.MggnBCɈz},Dn|CwvQD.G577'[+b>;Ge(4{贓KSy<Wy^:(?rd :h{Uc2۷Hgķ{1]veqtEVG%y*g#6b)yP9^t0]r<նhsΌiС{,mZ:~J|򳣶줺5n$V.+ATr9\قX%ڰnM׍p]vDgԦl%Ζm[vVGG5g?m;kۙnEۙTgKQx:b9l0"U[JTrG V.em-RugzhzQ߂V}G/ʘ@!#?l ^x ;mAYb =Qs%ڮjr{;NnIۋ.~N}A)""_رCFCmf#FAKYb#ww2s/.K웶=t+׭nI(d+|irr9*syYZzs/FOk\lllɒv+,@)^*8gtd-T[ȹҹbÑ#GzqvR{*|;kmmB9\J}s]iVup[<ǕR7{ױ^ʓ`ZvF{~;q3[f^TD"D<>0M9(>r,5%'&L=%f~r <'(TW9bE&/Lt?6rH\ښyDjvoy,@A8v*6/ RMcrS2ښy~*{#H˕xτ@A8}na"H?1Wr~hvtӼ8'ze{_酙 <\N.|xe𠂶O.2hhh(!@@HYvm]hrƍ \\\\\\\\\\\\\\\+>rQ!;{a!CÙwş ymZ;gG灜- vnY[pƁvV[V[(̮ Xvrܸqa$,tn;!H,.oa=@Q鴳\ 9!Yn+tLtGge-f}`M "s rgGجۺV8r9>r9@# lF.G.G.G.G.G."mawQ4mڴ-[ @>ˁ ,. Z/_vG.G.G.G.G477e[[Z/-7Rhi&I"rQH($BeZQҀ u M 1t$(--TmVDbX;DZ*9M,BBhb½}oeo}}Guw}}7t]ČVf]-(9Ѝt9̈́JYSMP.HXOWnX6??/ot~:m-3?՞,PIك#5-ev~@39rl4IϺl>g_|ё\/[fŪ; ' es2mɭ^ɷ4y"@'>Dɟэ#<[.g%olr#'< lE-ojxSf;;[:4P9ti#Hux';}GmxIqZ]yl܏R6]}GoWkjY}4[s]%΋}$ވq:CrCj?WT+s6ٷ":\/Ջr.CFN]>&M֝_wGjS/zy]3`!FS;nJ߸e*qǯj__Hj}9LJ%M;Y[Ro_rg,}+N^}s`Jb<|esFh_3RMrjomVk3嗾<;#^W[M^J7~ٵg[˜ܜ.vT_N6D(v6UF.^8rL釕R,:]۫DKTFZ.Pr@T.t9˩yCr3<3z.t9 <]rO@x.t9 <]@7{B"Ŋ\A5(_x1ujvm۶xl.k Ս\Ob'+W;.4it=Xru9=IO:씹.GG7|#,kG cx:ޑȟe9OzV6dz Wӷx6l7׽{z][bUwy4 qKQ(}tbosmUV'tROD?.ӟ=|ǎxci>ws{I6FOuO]@y)O|{nݤ˓,Z)O$G5=gΝ5._I<و<>y%7_-~=88/Y?A]@7){Ng,^8صkW.Ͼ'u9%t4*Vڱc-~+F&ԣ:;wƯK,).hn^u9=޽{4_|yIhAɑX89}'^LrI6 ~/$3FIL>,.=F}>cvc %.T4O600Pw7HG#<2<nΝ;ure]@Xb=s-H^:.t3.t9 <]rO@x.t9 <]rO@x.t9 <]rO@x.t9 <]rO@x.t9 <]rO@x.t9 <]rO@x.t9 <]rO@x.t9 <]rO@x.t9 <]rO@x.t9{֭[CzC%|ݺu<f|o޼986/ub/^zL`\=SOݵkW`Ϥi6JsQ-˳]2E9Y{4І]hJ4Оq]e˖t{ڵ>=-{r8UW#ϗ7_[ȸ*WqxGN<ꂓy^䜃W7hS_l$]7$ir'3{:~ܿAWMg`ڴ/-(_ oE? 㺏w=S s?Kv##hO{ϗG/ΖO|t]麧{- nv}HO6>NֽBhN;jQ@'Zt˾zX%jԍV4H{L_7S>wC-}H'Ie>j%^ǒ{)Ptpn9 |y*dZ$K筛 oԔ OnC+e-tyv}<#la7G;ѐwݡfb=_>%d|l|}Mmב7H`2֗' G7 Z}găW79)>qzV ]^>Rٿ'ޔ;O^9sC9@.߲e]w)U6oޜݭ3_;\֭iy,$.t9 <]rO@x.t9 <]rO@x.t9 <]rO@x.t9 <]rO@x.t9 <]rO@x.t9 <]rO@x.t9 <]rO@x^._nzY׮]du͛Czٸ._fMq@OYt眑Y_1^tEzt7I'M,^x]MAoٲe̓{Y?tCYn(K=#[9st>L'}- mM-{+s8/w8=p[N;N0[s<5?{|?]i8Ov)ցhOe/s(#?[nIyOʥ9QKj=\HQ,MIsug93kk3Sn<&@biqR-ty_t`m3*˖6(O<݈ ;6TqRq-t{ы>p`ؑ .\|so| d;w|~YH:_bD6VS(_>):=v>x-n5[x:SB'T8_ s~}-dKwyWgq'~7|,ZBJɲ46:҄g/}GʥK*sy;  3ǯ];޽p`#"b@9Ev/-}hACX84ϯ^8c~so-ٗFQ_Gu,W.{k=X]4[QHӼm(_|90ivqȆ ;猥g=>w{=gڬ[o]3WLЀYTϙ;``6yE˖FO֭['}Hl*oڵE0\tEtq]tPޱx|y7IsơxP4j]q6g㘴AIENDB`PK9-Pictures/2000000700003CE1000012D0FA45DD05.svmzwPSo@iR#A@b 4"UjD:HTz k(Qk@z.~+372ν{sʞlvu垫j+A ߛ?@o@@!",@q@OTֈֈ}Vi=ן ?&)nqtMFTKOޛWnW ?XXXn<0'0Dʣ%^ȍzN{FjU>;p+\?o: ssݜ&N7]J4 (4kZgM8/<7 u_?R4kVM蚌'4qz*l7'eɭ3,%\w yjIa4.#ߧ`4o0!*饖58/FKa櫨8+otHT5^cu~ V5Su'(ʢ+C"o~{g}qK/gm,}gاwZ;sHA$ sX홁LDbJfڂsRpD>e$bK>6nZDF3Zj ÛX@,sa-͉pE/>VGjCs$HLJK6ENJ[ pKW.y|{]m깿|et}rQm޶aŧ4`+ g]:vŨOKүhb 7/DN\#{U+SDcOkxJYa!u?ȸB@"&m#wٶ B] TS@jc[XK ǿ;dXn)>8{Cm嶦#66j;4"rv.NlYz|=fS_(W(l9]M73֞I7ŸW2FU wSbe9Zc6dlʀE‘sW;A.Dk 79Yi z{?wd/_3נaPьGu ypk%"ҳ<׾`T;FuDil㏚JGN_6?=%KG6Y8p(U%@y#x-!"ufh2ft9RBV*1x&y45_Svilb<&dU_XWEƪ0,ڨSݸTsG][9޵|*oxqPJeW"K (Uw1D+q[v.5\Wq߁$ǦsDt\/ sӨqF >ҽah%9 1 h݉1FӪ|G 03 ETi2,.WyrAGl}?"l0pa‡4ytZ}BeR[iӞe0eEEBL/bFsHH(KM$z=~}Y;:hLT.IEWuLg4$ Q<^/j`LQˑo9a" `䤂 R2d2-|Edu+Fۻ y"7 %%5eڽ {66B<_iapd h޳nOMwh ՃT9/ z?s5?0qz7Tk qWYܘ6GbKmETU/rDqt#Z1;e:s:mU)#!}xziǧp%{UOs ti1Vd.I,s)=V`u,q#UիWŤB>nw;y ?s! D k6-:)."OU`w6S18Tpsjx"B(c`U%{өnurTo,w=id'0u%#K6<ֵY(=n'+d[鉊5-61w8Yĺ#_+2]cokM؈d{IE&wjyQ7%ȷ|EkZW"'j5S[W&3G.A^x!ZRN3M4.GAIP~v(W=<Dڠ,& mo#f~?I`/`ʴRҨ ?Wy1:ڟv 16630}6 s#YqQ{ 11;y_xFcWDf: yn.Ei+ ;q?;j3\Zn=6 `>8RыEK%qûFVUGb oQ>ST'*N&Yߓًvʋf6Gח5Ά͇J%w3MFi5hGx6 .+@+$]z=˭6-wkxm$XPT^;89 j.׷Jrvu<$/H_iy~{m50,#]R/gpjPB3ۋ4Ek/Dcfyo9qU UmoZ<ζXlSk&,t#w,Nf`b5^o&8~`B[4+UmqtÚH?O s%t']\*znĂVeU\cLB`okERI{ 6- kI tW!/<,tB[f!RL-^@2Dxb vmWj3eS8"9x[, b> BuR jpQ9H#D}e{`x#F?O7L<栒0_t&eJGC9H7ę#2\2PţJ]Pk8QvO5Q`"rZe}k XmÎ 2z zSw!ڑ:||{Ok9vȰܿsk]*=j!R&sIH~&71$$ $4+˚!ߜ{y{Bj E9qFr4״ɀdri,s(P H8I\ kn w}W L73jݟ@$&$wY8`XK0=i˹ K餽7k] k>9>! ̤S~ѽE^*ŗvLӅ)((T#].ޒw A4;Mz J+ xw9͵b@vOZgί }TrĴ)(/FHOxBgvv6s\V7P^fUg8Fį5Du{*jρS6sTUg4KYE6#źO9(ǻ\'84qRGa*] %wX}SD EGEUO, b* gAՖ ꝍZN/\䇦Oe%6qh/YżHA5YKI\eH2&YJߐ)ɚ%ǸRաWBFh.] *2H1CcZ!|>uiyY"EnҒ 7v1}ۑfH]+|43kK/#:w˾*[:ho`Ҝ>0NK+]ݛ!(jE{ &l2{aUFȶ`./IzQE{Sbw-k4EGfZ{ȣ򶍶CJL, Ά%_؝o&'I^=yun^X] .2X?.oXmp~N+3Y51?' { Z-WR֌+Wюxd 9fPqC 5%z7=jFSTԊ<aO[25>-BIʮG7f+2;2+ LN+p3l<‡4΢AضcOZэ6ѩb;,:kMAHNc"L4#fU# \s0 K/@aļ V'N,7T,"H7؏U/mL}'ǒdMizi*v jN 7M9l)Aﵫ]~2gJ!R[#4("nÀ2̷{qp:- KR_{xvJfsC\b.A)[S4mY`<҅w@s. YcD {gmUsOLЉoxn,F2%P_v>1(cӊ?s'4 ?]V] dd c0铢] AÌ/}0LV)#N)26Bc` ݿ-!+qpn*Em&'Cܬ]4j{o@LBAi c"N;fo3eiLQ0(iȆK$Rޤɐ,ʻ hxso^DTơDn}cr CGodOr_!t8ͣ۞i>doż"Y3Zܲ*mkJჵQ[HTXɓ_;1wT* tP&=dg<8 aZKqe}u/gǣJ/(O0 <@xOlˇhՓhr]tBşStno\HMSW^_r9s=U8l8E/ 1ń? Vʓ:LYuOHoAP4FCsoԱ՘kZ|yYw7IL-WʷG 1x%|m&ȃ-ږ⭋/0$Ӗ#l+"i)^muGplGK}#~'@Pj3NnqP?J_PT%##& wGsO0k,gv /doә 7Gu^gCRC!S99r6 x=?P >oĘ&+Z ?F!ƒ+U{̓;93Vw|] k d8C?k>t[-A<^Sj)ZϪSqsUY 6j(ºnY5HW) ,W{XX7n}|4MՖ{ֹ2N6V .Wf'Iw88mj{uНHCYyvouO>@]F0mC>8뒹 b!|di彫~\kyl@CM}R{_mz*}cž|sTfn$>snF[$I{-XӖJ*OجQ+|bqv\60}|;į@tE@)q*LuJu]bD9+\ 2i7+[w`3daZ< !~V/+zBqXqi x{|`vvV9MjկQhRǷC,|S/͕Fp1RD 9Á~|,FeDC&b8)0f?]F *)ZCaC{_IOQ7Z_+S_ƆI[/xZ3BiP\̛E|ax8.4֝hK yh?5Kr\ a}wka PZizwJz{9ӄÓ"H !f^y7Yp@#;vf5W s<7Y|S]F+UEi~D НaJg+P=_vV|]Ę>L{Y9v n\쿃h|1ᙺTa@yQoʶ\ vavrß{a ;yMϮ=!:JK񀎸VQ,M{@ty+qc-9qty* x)'PK2 "/%PK9-Pictures/2000000700001F8E000009C94EFD270C.svm s qcd0d```cidNr209@!& e1 J.'_̀X;@ ` [uA"휇y xZ+`qR`jtwoSuݳ/K)gZ̞9486 T|} 'aO?WCb.6M8۝%>,aD,u}LNĈ__4&D2N~7o?V{gΘo-_߽Y@%Pզ_;<)| 8=Zl)W0 rUy|iҜ|Gy{xQf BLIG7gG+wYw=[6{}O>wzd=ѝ8#Qou5KKι>؞ϐI֨'ɾr~-ǎ#4Um}a9Ý{{F[md<-Evf:uҠ5iݳ3'u5FѣI W_䋔N*7YJuz RZSSKJI |Xfbi>oU'\%x':*wr|wh(|j\%OVW!^e<\D]Bs[muuW׫g|Y5ϚmN$\ ϝP?N=LWܚB 둄P=QSv 0W Ve71=".!+WÞi6h1ĭZp](Ɓ'P-ڎq÷:4~]0;{GUc3f\mfMύ~d1}wrD/}\7?K[SMx%@BEwBrdU'ZkzKv.完-sSœ;O$gR1.W| +e>lj⦾%u7(d;UVJ*׬P}תO/YQcKWq>gSz]4\Tͮ٫PGbJ*]wnA:q3%2 [).PKU PK9-Pictures/2000000700004241000012813C00BC08.svmzPݶv$H =J *$޻tHiRCL&RHGzo7~s}gzֳf6B'jDQ@ObGӽ@ @J(D? ryr@H!:#W= #Ul3LտK<Q$Q6p|HM0B&jfxkFVc ]jJo)ۄ"<~x%+Ԭ>8#bƔ qeܖy\ն{wKHN Dxwg\RpWXJ9? l̓PC§ #eUU_y )蔁H$N;1 ?M#!^` Cw(7a8t2 Zf\cԛԷk my*R-l(*p(!)E}O]=rx6u 8'R]dB"tmx"*&W Cx= &j8 @7>!}&%) Cf E :ıX<%>qԎ éF՘4N~j6\\xw^ɀaQDRF;dlVf:iZ+ן#[GW@`ցCuL(iTuMpVQDpGH2t;bád] b%#=Q¤/a$|@ԊaϦ?2* :Ҩ?083nJQZx6^kW|rd>hL\ر}޸Q3Q(-JZmVي+h/@ &WBD,g{8RRDtJ Fӟ\N߭0%fE1UTM@M:; :rήE?G#< h@*fTF:SA*q;G llGZSǕ%Vӝf1t),2;/T>əǁƕDhYza)rP9 gkC Ż'T¢d4?ƹR58|\P\&`(Af8ݮqEVɱE̼Ƙ>!<bO}A| "܎ db5,DA0=1[MP݂sLF#0# =W7Q^- k)n@/OYRVc3gGUi2S^]f6ڿ %((=Lej+0 N0cImy޳E.cZq#Uw^;hAa}dCF^'&Aw5i>>gάvZk'1='#X| sF *{buՏga32pHEZDRv\/_ՕNP&N%_G_y7`sBqRWƤMާ'QqѮF{K. > ~ëODP\gJt4)f2i-M$>if< \:I9uJ|!f{oV,TW?(GE׫!I "t_ =)kmAvBF٧͹Vt6$;x"cYy!XH`uÌugHQiㄷ"k(.:a4qw,tRz^^3,㪨1![:9^j5T{bΎ4Q=& +\o 3O*6jE֯LT+NmP/O ίv>^:ãp Qg0W3"Tg/X as[r mkre̡gim֫@ ?gđ싖 .?~?&/Bq11+e$ECWYqڭ;}s]9m~LQю)2jy]]tn}bCϣc3mȫ]a2!ɡ!NQ.bp6%Wɍ .ws*s3QQ^yctяZCnx*# %1/'iNĔ-(zv(EF:# g }  C.иjwb$xED3r#{ /C{uB?pub,dش@iGS[;b7ǑKD|M :Nie*|Ry;4 KC c/yV8C|s|y7\|$IŊY³D׆@b?c9oԣYOS[c`]A{oڪnǮ'./6d/wOI`Li|\&SLo˙DPcmoC[ʇCzhU .,Eg,]_.l2/GǷYΒS,_0yH?Iʉ,W-7u-Ts= [EgTfҭ;ȟ~+S nV{BOֿܸV[ ]e<6"/н'*($Kwm/KGsuvO rxF! *5ond.v-X#u]o_Rq`$qh YZ~Vĝ0Y *`4:$n{,:IOۡ?VF=TN(>h v<j >_\mߖ!_N bEFsljZsL֏8A]hx~|WJ˖2>fi:J=W .(P5~ "`C9]BPE.beH4lh|iC}zB~ET6ZR gl̰Y ^^laqMka$V9tMDPnWi*(7#tc\+\9)|H>ܐa + }fN^vP=Xϸ4U,)](Zo긪M;V1^uƴN3'byQM":T8FMr:L P RNcF┾;"^7}6iHЯ 4qE͛[jQJȀͺRJ6_/O̪G;E_"}Ql_H"XX/1YIǪQLe.7Wچ`w`-e'`wY÷Da;7 j[°R݅0׍F*dꌫ$5emݴCo%hIh!2ڱO~=S^&Kӯ13I ;G.vʃ;6RfrG=;?X+:ߕq/ 8nh1g1jmxŸate]uŷ":UVȟq-KʪfLmAp zm>$GJ ,#D ?Qt6qhG ?PTm RztPsG nNӳ">MRٕ׿^\٥SAa&y8OJ'nx@V }JCя9C%.פ 0 #3W _s ']/\,rIRC|($<Q_5FHwzZN2od9 )MGyWcpcI&U&t/-[d+7fd";Wb5"Wu@»4YK> ʾcMNŚKף9Rt-ea0z/Ь$ѽY>fi47C9X+9s־ $s41(WX3ԕkTgj:L S~<W S*f:6PX4q5I}1`œaNRXo'9p ϓv`L{JihisT j2f v p5gaA<!Uϧ>}MC.SB+}l`~ "j.g /Jhq7ߞ&Mfc Zňg fŷmKdE{nwMFe8*],p?vzUUHU5B$ CQ<-q8y9쨽+(hmٸ47lћ^Dߜ{KHfHݡA¬ŏ34;VcQQ1{j|M5U/ymxԟrQT;j/7B+a݅ qè>Ìowlzݚ( dzuMSjfh&X*#-t᝘%G qiUR(Ţysгf. R| /,p܂ /zR2_qY n3PG;>UJtU6 lLCa5\UtXwte k_ )80oޑڴ<;n¢MzMt(e(05V(lUY -K)ٗ zXN>< V,!KsW ge(z,m#r2[UM-#I9˪H)U+y{{x5+k!_;伋j9]:~_ݩʷ٤WN d,C3lտ],ɛ=F;^ؑE1I0XI9MU ے4'm3UWV;F,V45ntqhV퍗;9;ėOJ_f~аʔôP3$ᩭ<;uaN~U7fe "k7ZΪr(]._gy֙Jkw A ݵMEddk2B Us-ڰ!,dԪv@lR:y2 'ASv2IƐ$+K3(Y`tS4z2ؽ/)$>P}̆ui*|QyTAXRUvmkoD+Z{I2zkU[Nh27,EΡ9j@d9u>zZR"2OCfqB4!]r|յS{7ؕdLU0U ׋HTψ6vœ4~ĥҊJAF~ Jh\xMDooy m9W[\yiqך#G 3Sf'Qf;<3k'xx>!3gBxU Aw#e>&\wX8]gysl2G`;ȷQ>ؔj 90XtIrer?bl`$$*sfnU H{BwKHuU S4{@F#K4&! Crt+R=poף' Kbj>#K6ѪjwbG7  E; $ Ō,rU}]|pw^uF8Rډ  vy-dAzEH%k~^zZFwmk #\`tbwj- l&)ϼ/h70|y"7 ʑX3_8Df/1>swl3HFp0mëO#hx8D9۽ ZJV1-bEH m=]s`ϛ)Aj'6|^uה?>ӦE o Hoөh;?݇|BFs'W4Qj$Gr]>R3['@hh->u)e.":5aL*a~&ʮ !БF!&M4~z5?Y/.ofZi{d0c=׮R} 8'˜1o3Q<]+?~NQ4Ѻ}+w]@FOD?*vSJr*90C|IX-F7P@k4^?,5bHr> qX_оL260GzS~ԯr?i>ܬi<{zWHlw3l[A6 vMFvhk< 3؇ǭgH}8e@`2f1ePdqΛq`mo;DX#WwG'&ZWE9@eן1 m"M?Rvoe6y^}sY[/-ĨJѲfu@^!4FgpikwNY=B=(.o=%{we9tq' W~ k`:?&Fୗ)> .M|O4Lb!4%lА%{p&83)TыY6Gz|Lbr%9*Ov@ߐ̄zg1OIt?rHrǻihzG/aSmժLт:V/9pR~w 1M{_lDǛ0hx-woV_3\m0U{r܋7)I.-eO@dQSi|l9PojDhg@XTt8^/ugsz_?/PK[&$(PK9'iXpXp-Pictures/10000000000003DD00000322FE50FDEE.pngPNG  IHDR"h7pIDATx ՁW=} "1""/Ԙ]vJMd7l. BBL\af'YWw7Hb@Mspa@AE~3ś_wRVzuMo޼s7we{S˗/zǍvMw@\~{1mYVv) -m]r Kɻ.9٧w5 )E}{+yu=ǯɯ᠓JxJ`-<kW^׷Sgvܧ9=XO!oy"w| :aog'﮾mEyL lq}]nMo~g$3b]#N[ ,Nkt#C.m;!_@Q+_s5U+ 8K0\Bԉ?HMK:t~ ~Uܵ޺cm;S"'r:qYO n7|p.qBǍˌmضFa2{~\9%j;rœϖ^޸B.Ϻof]tyЦR|O.Fd0l(90 ضqBtȼ^'zԩfضgOz#ç\zq^8bzsoY?Vljh j\9' }/7\MIe cIsyoP+{'lg딷ުVPԫo6lj| [Y?^|({sC{!j͝ywѣC]۶7je7s35EhSYI,%|_:55x>OמK&rE6gW>O}u[>l(?;}s>Jn6 z:w&Xd"W\d{W|l󱞀3' ;6t;u-{nQlhP>1_io7߾Gn{W=#g_EYgrmA_|UNEsy2zXrZI<۹+ڏɲ_oc3Oέ=ʝI,!|籌6|/B//]}p a3m!(rݶdȧ&1E2w^570,w&#Gd._>`Wddɏ-8G|ʣ<]3U׎Qx^rS ?%r75^^dw5^67ʧ\]q̥m^^|4W~<0H><.=_;8aqW#g8#3Yms^o7%{o1:woynjṿSSYDnKZ~l4ܱI;3%߭,Y= @⼗l⎇+@y]pY=7ó-:ѣ}cu`bWD.rI;z &՟Aխ}S?sWr5<ʥ^g\r߭^k əYLtgvZvg~Wݲ;rEiomΥy~>~^?mŹs/zo\ϟ7zת z1 #^߅c>pF]:thfЉGvٓJ3#F9]☰vM#QZz {Y`%}1>EONXuɪZC|Λ;u}l4;-EFs=kXkY2[{HONy'[IAYWݿ\;rEsߑs߱R'K)?/h ec i}ry^f@dɒ}F{K[[[y ʆ\G.#y \o$r ])P$y,rg@/SY\[ob)jk:O"c@aJrr$mܛUSN S 8$$}\G.#y}r%KL5k֘ЯXY/#yr<ݖXކO噑n;pon;1.V}պmkׄ co,mmʵ*WR]R@oGrʷnj| &wꞯM/s8sx٪7\ylYl~#:<:XC;(D_8͐|z"xeڍ}sgMӿ,B {@nH1^ ~93l8}eΆJY)ȂcvoeM ^>YT4] C-tvڴ<C6ΚP}w׻[RFBkRY>`[2lv5bp@'}n.rY77lͺe-dJ$N΍>;PĚ?Ud՗M/_p;_ٛ:to>yd*O?|ǀ>h_w}xq@@+n޼?u]/hE oM<ꬫ Rd\{}_yCWpS!C;6t&1so{~W_ku߿C7 2^̱xۖl?`+xI2oǍ1}~ȼFz„O6v]l&Զ|\Ǻ=}ڤƈcS"sKG-2ϐ 0;7I|{n㡓pN/C|Օsf:GKi{,?Ҧ\#1LgR6h^Tݱ=;6l:aSZÆ~X\8+[a_G ~16(G7tez<ٶO1r&sqh.#Wl^2c73XPT#KF7y k?!뉧dgX!P 5^mʓPwow1{|wm]ܖ#WΙUmACoani-/M&Ϟ:?Zͭsw9i-.%CyGS&uHTxXI,"GC'VD: Ea==sZo>?{_>q+?{^o˯ѶKw˳xvt]m=k^;G=Ş2I8(y g27,qmt<3sC[|8?H2m[cb֜-8%9.OlR{} =Ϊ-5 {DW@5ȓG:aƝH;&dc%N^y{y o~9R yr>|ɒ%gYǝڷxbڵkM ry_6ӽ@ܛQB.5kV9{oHc ]_om +WZҥv=!tsT\p+%pgYmjE.:Cr]?\ru2W\K&]hcaGuy ٪~CKcBZ.]-d‡-*cOC9:V=ⷅ A(p'˙3/=׷>%à/&_[kE/_s.B_gBk5&['dwt hmm!'ёTgTCCj-x +櫴{RݟǶK$z4OK,.4&ӘNc"84/N"\.Ə3$B{L&㔼Ay*y]g\GGo}iL1Dpi4yo:=Sz?H(aeħ|{=%ԼL.ILF>#gVdf˗ݳl]3w퐭jKFs&Ə5CM pPM ag,!:zl4\ГJtZO ?Ot˖{-|7=^9dRxIܭv7ӽ8^zQ"eP~w@oލVJ֏>כA\_#/ZrMJT·״ UsrpJD{Vww)^iIYˈI,jW[z+;3w^{0V#y%Q aW?}6\j=f= Y :{zaH~uV[)r/OHPFZ {Wj0T˙fq}\9z;rO^Y_+ʶU6>qDܹsg@q#u/wy2%oC=5л)X !'w+tzQ Wo=!i}zWDt'K- xWgY,[qt8sʭ+D]ޙ1B޽ F~F\?Å$!\ag[&.QUh7?'_xWRJ9q:Aq9;t~eYz5~HݯL;^.|'O}v2i$ $֓u`qc.F._|mݖQ~A[X0րY?ąߘQ5)T՞ui)j"X(c$}ҭ}Jvܜ|L2nr]zKU]OsO'xy(ZKwru2W\]hw_>>O|D̮M*~;˻cPeoyfkUXZP➽LF9WyOK/n;'0..weC~D}hCY1u'?e޳Ee=3|֭ӃRxr}e@YZ(W˥K,\p9O/n&@?Ta@Ż2/v܉ygnH92])#aj*erZjEO|.ng[+NaPIt4˻NG;g-/\v_ ^֯В+\ -K4K!} [֩[fYVz˨IgZ\t6J/iY{wq2.yxzRmͣkkk+-k?4&ӘNc"84VJy,zT- "5󝽏׀'.LYvRBݪ%o_4˝rI#/޿tK"{rcG&zYrQ&y^ӦM[fMlذ!3Nc"84&ӘNc9ljj*x\k>|RU&Mr!?|cGtwPs+<K5dWP>Q5n.5]g?1g/hܹ|k;}3ܮ˳ 勮V@(9_Y6]-{ArtIe^zio-e„[p`!ܜMPtS{bIҟ{+oǏJr:F\>-Ztod1za==Jn{Sj%6EhhhؿW2zPkK:uevy*:Jy,(j^ik],{HQt^"ԍX iDX_qߞ~0B)(Qwŭ ͟?)A)K[1A#G/Gp>H.waSU_qR|?,2P  ?6џ%GTx9J5h⚃):ޡ(%vώ-o+.gK,z̠F|ѷR'sɸ˭3*ߣ?b\<۾OL匵g )~]?ώ~?& ?}tnP#Ww#+w?b&L]roҥK >:2;f"}!W</i9(M;P] PJ/ƹS\Ȱp2j? ;:^c{QQB^t<$%W(WVXT@4[%z1| lJ= GȅA剿rT7BQ:::L°*K˗-G.Fs߱d[syXEeE*E2Đ]WcyE9fcNUVy쫟v jV7I${QP!)C+ᆴM\Yd(UV>&I}|\{T$+qKM.ooXVE/DxPP zT'ʱx[1gd ߍLF,XSUћ.]}%Q^QIoJ]fsOm>ӽw_< >[ZZdnnɑ+NaxoMf}85++mNr^"… ׯ__pWA\YqD?$\q"z T(er <۾O+xڹؽ?JP硭n;[}U< Yk5P迊rwpŊEGsF P`裞)l [!ykF_XZL?CNS@#[OPvͯWVGoyT͈E<%OU󂳲/˽*Rr㜿 ؞?S5t+_Dd< XFz _qPQB^y:,!xȃ|Ԟemrm[Dyxާٯ 4|_uWO5\!g]9.' '4n9宨˗ul<Ѿxl+ۼ9I ]5 Xޚ\vUVy~z*E_=Mq_!B~koSWNM<⳺?SEe+}B>6U@}à Mr)EO~^+۽Q0.yK x}75 rcq-k,0Wi×YW!sC ySYtnIQOERˁ"$W&H$p?~SSwm#P.OERr߫A{"h^q+W-g~ @ 宀^3\>SE ^:Tx7Ν2ZD _;G>SN3 @%6E- 5G]C %W(WVXd61SG7QDͫ⇄Y_!rSQ/Gy!>N/!oﻆ |wttq5^1/_ 27˥]u_p/CujW?|% 宇5(Cym/w^jry{*U9ѹ Hdkƅs%o ᕽLsrMGSYS+Hv/X  w|A";^̓z,׻yH}&3(d\y;m_3z A.kN4Tg\ū(dbVCR;+*RuD!pW>M6] j{ʉj*K1=VVBJ-x.(z,)~-sP.WܷEbe_/u߭] ~-{'Uw4#(۞rmaNݙ̌s{ʷ8T/ =;\MhI(1^^ZطA6y÷}˽xw*9%h:oH}Gɯer2|œ^? 7KoK@oǕx|Ffp5qbv|Ν &q=2rK窑ea|îkR=ok3d"?xE٥C ys"rzg:ۧS[ŭOk ;߿nX#FXdzEyT|cYnǒxZ ZHA Z{+Yz~(*W %}/4|gfnMAC{1e~'y?r'8C},6zXMl֭+Qy8yř` _򁹏N=ac,qn!Gz3#}boIKK\!uM֠syyBhOֶvZӽ-xy*sb {lj#GÝg6W!J*+qmҷW迊r5mڴ5k֘hs\8\W_ywlOeoӝ֏ye#KV17;^`*n0r ]6l3Nc"84&ӘNc%pcNhqjZ-k#Swvi=3X{gs3^nR5+W-gJkhh0P\]c#Y4iNr^"… ׯ_T&gU}Rx\do~pŊEDsSWN\?sٲ{24EI)x7Ν2ZD _>FP'[G쎳[^{5.wW-N9pu| r5%j~+++V,* '1HwKe5 q?iS/5e?_:RGlHĉrΝ Qi-ӗe^5徖-G.FD>4P:$><5~}SF7n띧:l}7n߾}ҤIr9ydTuSA=T+9~HJjȼ3QqcqƹovJ\B `y.7?^rU3۲5Yq!:g|sg:MhNrʔ)Lj]7ټjUFƖW(b2o  󎗋Gf.=/h݌S;J3Ju#k'm۶,ތ3uT,븚>tAո=5u˗/t΃ vwKny~w{C f< C{2Aĵ fĥWr,yQMo`nEu1̷]{u67jBsyyA (;W+/b}I 5=|H "V/KZZZdVno:"]wܗ*O5<)O/+3~G4gŇN1p`v\zrsssP\Q%zW}:zwwWޠ~h"O?HjF,@"r)}bKߓ8ޝM_s*7VG.ߴiS!%:"5EXBe3dYuxiaųS-[..gznRM|ݺu%jƹ˕8,hܻ{yӬrўUx+FեPxʩ˽W|O@qcq-k,}RCC?oU4_`ի: Hk<oQU.mOwRuri ka},KG׶q5^!iҤ;vhkf9XP)D uEjƙ7eGs6|`ߛB̺ϝ՝Po Kos۷oEȭꡬKjzg!(GD.@lr'G/Q{!Oɞ/ߗ8~}=s9 E+^qƹt{Y8eʔvP&o-Q+׃B9gV2H?yw˶\mB%N\~Q' {@zRVJ8hwSjccg||?_2bͭ[ʄ-^ -sO>]%v83S@;ByɁӎzm{ Enh\Jr[䟜mץfˤ_1{pfg]nU%fDWr9*B\Df{a6v'cq&3kwBK,>4˝rur9*k\Cb{Me+;R)Qg<'xr9bs]Q5z.g7=b-PzOT<ײr+;Opϛ7;I$,[ZZH(r3tG \Z# (r9`0\G.#yr/+2y,ro+_/,w*B.GPq~y u-$z6R'rH4[d8r8/.x?KA2#ߧo\L:#?h͌8aC7{3o ;$ˮgYb 0B.=~\I'y444r>k ɓ'o߾]-e\Q!+CߧYc>Hw܉!]O!m-\nYc6]>_vI)SZwvWA;rr9*E>UIsИg޼oAB "puLmۦVdVr BaԩS_;\;>G,s@b]i[ ;ꡳBe[Vo#y,%ޭekk\y].պZz 8Yr$uﺻ~n~Wܽy)Äʳi-g[m!V.ߺukcc\U>}tW#D?Mr9*3:;vďLW־߈jew 3fЫ#/OeKvow1{|ŷ}ۺnNysseoPVs_?_B qs,S__~'r-^񙲲C\I,+Uq"oRx,Yr9<k˥[aux˝rur9J}.j/?%qQlM QZmmm3^ A|̑1ˌrT4=jrx>PA\X\˚,<>`^CC?oyy9'=O͹֭[cwV^߿My*Ws`) |k_srToSSȾpWَ[)u_{N]~JK285Dv5(fQ332!ǫ!oe' /QԲzeM8cf'%WUmJjF+Jۯr*9r9eB(߸/nkPjϜX"{#%2&7 U^;\^.B9;L :2!|m>w>r̷P>1Ѽ>u)"E fܜ͊S+VQ.^Ҳ]d9lϴhB~^֋Ƭ]1WS-~Sr 9r9eկyKzyV쩤ܭ"= o!L>w}8%8`ђ)%٭?t׷|7X=躃EB.LWu;'۫(&ݿ0^2]M|zkJt|Es})|ly6Wsl/H.֭[hr mڴ) '@r\~r9O.P?B۷ȍ\N(s7͉kp֭uqqYzu0.6g,Ir9eB?9לs{J6 OVV^#S&7?l2Cؒ)x:Bm\vȞj_䶍p‘]h{4o(|%x&E(jPrιȎYWF\N7n?pů9!3'5^ePʻSq)[A"nۗWv@^.02!|m>w>r̷P>1Ѽ>u)a]?NTμ^ })s|OyٞiG<;6Kϫ^>@HORvn '2Q^Wk[ǎCyv|Z$)y S&K.<[֯oo&Cyzy6%'k:FҒq*혍EwVl_.w;v|R"S&+_n{ʓMoQî}E﫷^8,ar9e-φ`ٺuB^n/4;B6m{ B.P?'@r\a ڵktݳ`#@.& =3nǟs(ם;wF"9LOO}qLl$"c\{KP*Džww_ݳ`,FWT3*Dgٕ;y?O8] \#oZt>tg4tvgyVx;} /4"+~5+W|g{zQǨ>yjz/q&И{M2u5ULr9=)L3L/U}~ԩrxС6nh̸mS*sDL8Z,_r9RA<*ܰo'eysHɎ:[1uTJeXSLْ.I}ר m~GoxBx a\:٢pl|(%Ǘέh_5Emo!5}rϭя~bzQGHT%l}*fkRA|&\[]&wCRޥk{}3[D|3τɧ~:.Zs=7D𚬌dkRB8f{ć[KfXTn Qh!UgϞrEv{z!,.S(+ygp9眸Yyꩧ0 ȩ ećBԬY&{**e.rN.P\KP27֎M̱{kҵ8' V "$3`KczlDNOJ9- Vœ:ɯ}k|;k䩌^ƕd.ǣ_gaY~]'¬(G"u $ȑ~r9O.P?'@r\~r9O.P?'@r\LOOkrrzc:;?ol7Q+#y<75̖gs/͙rg u|:%r\˙{0r֭{ N.P?'@r\~r9O.P?'0zv5==],晜\~}rFLʣ{g&# Cn˅rxݹsg4\ 婀>$D^{キarFOy(v.S~U+ ˓k%~=DY},P.0J`Kj\8&'?䩎λ.|KrT*GWoXWOW~%鞯;y\8JmY_.nsYg~Q!z=|pC%yӧ>k8!('Gҩ,_7}6RxsuÆ q 703A.s9'.?3D#0z<: ;Uºx~8*\uUq:gVjye\tw$0RTٰa?/*?k8^W^rr~ޑ\I=0ćyHqA'|2kM('#\5#+I ?/?o߾?ߜj\//Z\IdPn)BDxSx[?1I͗S/,nr/78m˜~MWv]8񎩧>2^ @oz[/nzyjpˇ'r6O6Z=퓉+/-W_lNuI-TǕ#.OGW<\q(EAJ֦/ 7C}63e$wwL&R%5!zԹzTIvXrJ;ru}%OMظP`u˓[U毗'S=#d.zKomlds|erzzy<8,ٴ#/꒭,:2~@Fsn}`luėٛMIAoS[]fh¿O%װF 'c\ޚ\7y8K۷2+۶mK欗Zm޼zjz|N"uСv=3'.Zcǎ%_+K/GMՄBl\۫h+^cejJW|^%sSVo?_eK~t(䘒$:[sd/]ޥze1S~T|()@<$|jٸ$]:Kʢ1{^0oPqeV2_0rcvw& @qLMM7%zHːø)07v*Jb|m96T>޾( W\<\f͞={J/$*^XT\N az}^/Cu5d+/ݻwuY\1- ~ U6Շ7Wπ{z C=T._|J-%]Gad_%w*mG WmZ>>[tfUKƯ"Q)漒Uթn+Cӫ>B_?>+K.WԫcM__`-0F,[s={ #`I``>*vܙ``:?19EOK~r9O.0`\sK qݻ0`=_ܳgO\#[.>jZ%rG}t͚5Qa߾}%+\òw-r\~r9O.ؼys}sry?=HM62grmyok0V֮]{[.sG-p>0#/<>LʣF :)3Vz87ʷo߾m۶ vXX?tر(lWz~ik6['ffBaf:13Qnȼ^oF&3xpFƍKVB3/6fɉ3YmLok+ލ[i n:U5'[pu>xY3yo●St֭܀QW)73/_k;D[_V^g\q_ʣ_/=RԀzqJy s[ΛQn^:0l,w0>֬ iQ7YqDX^[3ǎYTDgwo +幧6^/^Z)o}1Lw+2a7))fۗͽhn{_<[ByHq!:U܀R.ϮvͩE!-Zg[/|dM^cFRS)Vq՝yK*I>bM)Pdjjӟzxzȧ?Q)/Jy&\r}*pxku`I&r۟+Qj+]]87s*:,U{Ŏu`E)W<+xSSЫ R^Q8C\ DJ|+}u'kaJ|=`|hev]̻n}ƍCT/{bEo|#[Ѹxm`;vٳM68p`.W_]1/]yXjU&^}6j^.-ySxZ@\~w= k'x=waq~uIENDB`PK9^ܕ\\-Pictures/10000000000003DD000003224A24F480.pngPNG  IHDR"h7\\IDATx-WA9&HL BB @@kZ>\AVDV1ADAjb0k{RHrT!)rsAH$$!'s̬Yf9%5k̞;k=_O1OV7ar{!kc`G;"w͹gkee12qr>f+"͙7SicJnt6MLY֛Xټ>)+Bm+јo;:6[ZwEhuiRa[o֡@+ rºv!U$G6VqДz=X"Cm'кywxԶC'>%VEFCR 79\oe5ܘ1St;tL‡UQ-/Bê%U a5pVI'UZ'g -BkxC}/S_9)\?g2ؙXV^XڸjI;WЃ_yΗq`W g>4 _?wRտKU2|ʏ.ŋwz'zKxY\3ϻ?e@.8cXY*r1뷻=䌃'|!Y=Oy%>uyӜg=5 cn_|BqǭyՕӓ{o M}574DZǯyV>zWg2ZqƳN>uG>޺%̧q]1oz';?w~׏{ O _z(Ƨ\ch>O0 mhB-L vC\Tfc)*CYX_)_ÿZUq,?ǧS_$i4/ڝ/[Z(ķe`@?̟hi(r@$yȧѼXozZ(ײ駮Z9{#Kz4s_7i'hnaI4߿}O=皟)<o_?Y ~Rc-U8 u8>-0MMy<z,Zuk>zɔwK?޿գw]P^bcyS.je|Wn)3*xmT˼gMzlM6>}=o,{ʧogS}\}Ÿ؟즯~(o},~wX څYu^z%ck_=CG/}ʅc~x`F:_tm,+gDXOLyhfV^|z:Z4<,eͧM 6屓R4/Y~\Sg_/rzS׳x[֝^XP-{ʟVYS)K~Ro=g͢80Wzѕ嫟/V^]_-v_:t13w5yjrg{wI5_[dku/"s-?\6|o:b׮#XŗqYlu5\,K/`^ε,sU\ە+->(Q~a {/}K,%ˏ3V )~0W;A#J2ۦ\ԧ?+W;`G _ʗX۷/F.rO.rO.F姝v7<{=c]}89_y- 0Ʊuyz˫CYjỚэo^fRS$:`\8e\>lbyj`'˛i{:.0W`$3>^rO.rO.roS. svM.Qj}q,[`c5Ɨ@~r9'@~r9'@~c}w}l~_Cyg/< u}'*?_N_]]]we87˟p_nRޮ5ͻ[rWbϊC_ͯNcr~㕕;wɿ?QzJqhX HMG%lDs]~'q?ၭ-?G}qŃ(9nuV{?=O_#X+3>x叛yaOYwx_$gȈ$e^}.og?Gg&~p=++V?]O}#ɟ(^3-`Hy9ze_}=o|ܦ'޲'Mj[=4s2/~,;+ʏ4laP_{p苷<?>nqozÏ/~r7|k~zƥ\'=Cڛ:|/]֣@' zͻP^tן#u{g^1qŇ?STB s7 qd#S]~>0078|lc?2}6O>8k|-:Cʝ𻏾>u4OǗneKQ>QLB vz-;7 oe1;7}l'wt '<~2ϘD#~,e˿>o>uя~n[vw 1/~Nq_b;罳(E6 |׋'/q=~޳w}>=ǝx?+eE잶3[}tr+W+I4x~8$.ێw2}qW.Iw;ߣ~5x/]E_Kkϖy<:pjI(?|s<'N?'_+1'|9gܵw\o>W>o:a}x/o|$Og7zO}o;fpezL\bd$o\|<+/Ҳ2<9]g=Y]>')Tx䕇~۾ڽw_=l嘣W(~Zc?6ЕC1-'嫹o{~$OYʟq>\<НO?EqGo?:ykV^wu\+~7~+~]ݕg?nwܗ<ރfkxӫ/zʻb|S>#v>O=C7wLGsp( kz:,fA,~y ? ?۔/\L9dpeʇrpT^~Z@kSo۷/w+ f~g|g3XdKxի^Lhwn ;[ֶbKW]:fN7w Xh{*N)<ٛ:3ga&9/~[wyp.ҕá|KέvOtݰf|D:#NB(v P>5Qꫯ,>ʧ][){\sc6wel5㯅 dמy)OOER ,VӒmKTPٝ@(XrI{.2T={3wUzk}2ًJ@!7,,I(eŕל2Ak9{mωh:kg v3 `iK|y-͛ۿ66m6 :nO{X(pe&,c h}ñzz/xۼa h[qP\7bL\0K a*͞JL_Pxa8[Z\+_zᮾ.H2k󻆑nFu'/ibesaֵY ."JeھZƂ o+_[&jٳK~8eGC7eP] b|2RaSJep6%vV~[#'!Eu??yW>D靳:/}ipK/]9ojyEguy] W@EG.`$5P>ߪNٳ皶-|1f綾^~E ^:,e/>sS&a}Ϟ= )"X/K.9@4_YYq2]|h^ybm@27M4oiB9M[vX}U;ŧɸY>H(-|zv(a[k=3Aj|y5"ǻ2 NK"c#Ɨ߹\]fdQj+UlZ}Ald~B+mEWR;2ݻ噣72_qÖ,.^ _Ϭ ̸.tӟd#g>n(_q2CM۷} ,/'Zyk6cuJ@p%K_~饗ߒW0dC|2/;2grʹ)gϞjp]5jGWV,]D-O]rGsYS*隃RHA_|6kbk9D_4\5tƸ?Zϊ2u׾(Mo~qsymiڼgk/GsqEh6`l&ζ葇j-.RY\4o?2lQ/δǗV}ƗmKf~5VueCmm2}5_$F,rspl[Z;k19WۂI,yhgac@3:3{4u\}:2vmh!hqz:Vv;epTC^ᔅ/sa[ESjcR-NfkAEE p&%s {Zj[tuD>i>[]hk]hCm n` V2*PvXj MMܓWYtNSQpD:`k~\Ж#YUbk#R_ jppjS6Hp*7עGjےΪҗmN:YP"Ei~PkOq_ǥ%1`_Qgg?~^4ײ}z8o[SY(XRrg`l^Υ5Ӑ靶YLGcT|ws' lˌKwd}#/F5*8{̣""5nryP[!mS92 R_nzmNo(v ]fΒShf2PV_~ehH@u8[iђtA?.\kpTsJJm3Oy{0gE~֧ZkGy#kmeﰶ=/ՄR$fLOUԾ"*:z2mu^Ȣ%cz ;/ϚmGxbN+2K rbjj#CU3%FJ_]6֤ڌ4@*T=,ALjvVggX`ӬV-P4wIVW(.m"+wM ` *]P%*13ꮎi?ikTL3֖;x,Gmf kXp\G֢ߖ- KlEr91ɺ&)o5e_A"*1 o 'a}ip#U0s&e ajyZVv6//Vuf7s[ι"Z2ؼr#u6[\‘5Uq_$жY:7rSzIr6`k)j+>W91jmf|{5/qʀmzrO.ly [ֆmav8#.ê-C`rO.rO.rO.ge_},vEүXŵ՟\p]bR$e󫥶.w. lR2bF\Z=e@& 6W|)̀^-֬YfWe4>[2k7՗>͒)[y.)`a`(=7I[:-mGtU6;W#̏\NLZ ޏR# ^$ga1A U%}j+ [KUYayZ -j~]MBQΑYyJ4-8&W3Qgx[HJ&QVg~pK^j^Oi|gHp`VVy`mXlWr9tg#Ji,҆Ymp[on-.\b_ހј 3F𶶍X[PIJfj?Tzn\dR&-KA>,Vt~u1/x5%Kc} `9lX hϒEaכCgiyi33?*r n~.^*8%jykeQV31֦T ~uX1B!m[9mn6,Zҹf\|C)K̘>lF2bJxZL﵈^F&v.MBA'Q6{ѲK0Ȕ}H3&Bys J h }0\[0N&LƊB9_;lr9jH$WȮ]\\\Ά_ ct͟d@)Ar6n`5f~#hYZ^n\NMgwp{'˶^ 7 0;~j6jC5OUg&r@YhbOo.tFWlr9uQ-qDkYmmY);8"ж}[sDsF.'&eu۝t.h` e3KM.8O#ӝ\N@[ 8)Zvo99faF.UbČ/BݷI90\Ά&Tep%SlUg?w9osb5&qGlį`}+~b,jdbJ"r3CJB.g{_BvI79\\\N]7]ؤz¹^e+7[۫5#?2^yYgJ#T?Z,Unf|l ;ɌZ0٦shk܀E.gZ9T%ZwśDjUy=zf|{me~f 壗w J#mXŜY\dxɭU,-j4Ӹ9K[]jpPypx=g{}Vz5ۤoylږwAK'ŪΩY_4H.'& o:^N쀯U;54K{[XimۊrdSDfmMi6ax;˷-sE" .%$6;8{Fk[Z:8o퐉Eb{Bp)*~mˤ*}M.'If_n~ݬhIjG*V[jo؝ܗֶY57G梅}iL|"RVm‘䚲 m?0ƏE|۳?8dOn%ݶi0'ফrj{oYOiaJm˽+ޞg# ,)5!m)j+߶༥Gom|dذZֶFĵV`m\V-܌ve7cx,/秚kN׷і}9/؞jچWْfmZ؞߀N `ˉfQxWkȀR}ثӫKh1 =a1jv)'6r95_G|ۋ:c0K$n[ڀ߶˓sls+2Yϖ]6w4*'`ǒ٤9rJjcC˷,ZNoau}e V=67rdSLTj:զE-2lS:Sjk6*8VX=!ʑÿv^QNnM<; 4Wخr"Ia%%TKLo2-윷-4Tt'})vu۞y#%|gm@kʦ6ݶ)z[pKa ?}$[(!.8cYoW=aD6&0  ? ?yS.G0& G|Va[¦ٰw\D9K޶փV\ l1r9|1r]@߶KT`r9Ij=a-ӉbJ2,Ҍiz611WG-=:V4׽af$P]M`Dr9Ukw;XCy?ʫ{Sʑmj@u] Wж0]+V?aj"3DsJdpa0Y07/.ldН7] hZomA ۱ b`˙ SF(B.g#NEǛ%:,@dư7ު#ścۮR Ky9o(o ɲ+*ԚWl) hR3j=mgi6VarԎ|]VauSmQ>؆䶓r`3)ym‍k-IYhpEZZ|:eȝkݶw)GޢږyMkod׊)gvh{ed 1)3apjg*hă7][jky&4 qīum;m~/e,RϜY y.ڪXh!Y[t.YET >4[\h`fs} O\D{MqE0at֜60̞d_6z %qȾ4QP5J|iNwZGu3S[Ar91tk4kl 5^su^UGokXlET^}jͣ!Y,[qeJJ.ڟD-^hO5Ϟb-wD}p;;d&6Wk{-)HuX^9aްÌ@bê+mz-I֡0Jg̸Y7,,zƃnwՙ[U.r9u6Wڑ6|\Js<8W4xpƗoFR[lߘejZlNm-I\eZ_U^_֔wjmgmi~'Ko+ߗi#ˀ^%HU}{֤aۧh;e,ly86W(o@1=R+"xE6lhm_Nr9umu؋ߏo[Js޾D/1Ҍ3h{{Iڔe/4E@dbsKβv= nwgّ<>a/qf$d&DsEJS ;fS޹R1<5xly\h5-٥|v: F!Òr^f^h;i]\\\lhnb,? 7L{K}ujf|k5[>WdJmͶ-/ӷμ;X[oCo*kf9gl2J;kr645|ja}G+벯E0k]y,ҹgG'/r!q}k۞eH;֡H}OyڋږR3fu-FU$*SYv%9Gw}rmN/g󦖼yMZ*-dKoŷ%(MZ-k=Pψa{flWsI.' N3>;ktٜƟt6rx["j^mgPo,öɌu dƾ'%Mr%0;^?,3nI?zr՚魝q wn3`Mq)lWdamy,Eρ͉s1Z/@]3l9oa5c{Ť˙^95'y:뙟iFV_[$fN?X"ڦPZGݶ5kTf|tmmB.')`g?Ou0N=9'Ӷьj\#YXSE_iޒ찘wmzɪŚ4#7e8җomz=h[zm׹r9ʝ:zN%]eZէ"ŊY`)퍡ּfk;gl͐m۰HS',߶ݶ zVқ٪U}_-q9_b؞Kժr;,mKFΰ6kK^PUy|έ9k>XH?KfpAvn-r9o$5KJJ=ՇmUuV^= [{Ie7aѲ%nčӖ _/tJS۔RY=23,Hd/19lq3ƛ<'r >=jCz%}k對,r5[mC.gs6ڧfc>xPlcm׏U~RΙKC.r9XS`oaSvFR-F.Z,y!rO.rO.rO.g?;Mr9d2R#8$I}͉ꏷ~Vݜv m(<V(\+P Tg>;Y rn Ԇҙir`+&jcZj q\8,9)Qs].@vr9վ6#a ~ 4{P?2`lMHE D4 ? ? ?5W_}u&hr9y睗 ;\NqnN't\pA&\sMSr9'@~r9'@~r9'@~r9'@~r9't_~y&gqFSr9e] .B 9L0Yo߾Me0N\\mvi7|sVD.')€¡ĎR{+ pDlEr9[lr9,$@4{2^- X>ä9pȰ]Tڝ"RN\"RhR?뇥UޝQl)8C׎EFr9d얨ť׎1hZr9W뺈vdOa';N(t66}a%_z{{);SMỳ򎔥"BS4Ό~Cs؊R2 ? ?b߾}_~yVRs@' H.馛^n,5 tr@ywF 嬙(m]}՝er^{9眓&0;ܭ`;[o!ۃ\&Sv|X[%C'GE0>UU}B1or9[s"uwUp1or998=i򶜥ݜZmYyuJِ](m,P$P9˰s-H'$9lʔgEV%;Jmo|[w-%laۼ0 ޚ݁R0l$y lEp1lGGV$%R>lp[ð`E@0l,?v-:-^2'N=dRolr9ʯ}fT\to'^lc/I7/UG*Ur-ёl\j_}æmi+R[dzI)5<ݟӟ!nR;2{{Y[G.s"@~r9'kX^0l8sr7$m8@ aqW_}ug ?\)-A.(t~;S~,+Wu]̃\ΆӍ;VO.,:serZub!%&nT}_LU@m՜Y>}s-H'&?5s>*Q{C}T}h|-:=-lF!s ̨/JѡS-:מu9؊rqte8l';7j\mmmp3ǎ>bۋw{rȸJۃ\ΆW^}&5t(Gv5^#kmK<r9W6U;GkH'Q2{ag ̉\0r9MN\Άs9'w`IM҆&wWw ?Y@A, r6~dN?`aud:O$r-vEV?72̛\΢9uuG޶9q2or9M[z;^䫖)6wצ`X);ZږUׯ-ک,m)'}Om}[r:ڝTJN̵sqLޜ9#,^ݺ(rv\ڔH"` Ql +U4 .4X>^3dy?z ~V$ӭoSh뺀qOip؛B_E[ ( 5|۠⻮h9S"o"lr9b=Q}µe ͱecI?/GMEضD2#!#O=L9OE\b:}K܇'xZS2{ag ̉\άtN.gW_=x??W2)0K a3);Mr}nN'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9'@~r9_ ;\]pS\s5mO;[M`\sU6s^vx^eQ]vYvH^ee)kթ l :nH@}Nw3OEszͅr+˛3 0@k.oB9 )_~ϳWU 7m^ʗ8SO7̛\_\xe7}驕C'?mЯ uy2v(azc6O[_܏xDǗ~OTMDZgڬKFO.?z8Zx gq?Y{_>)I7{ CV&췎 \5P`'ۻ8:qH6mPJPz*8*߶q@ 񧲢J\Nڪ78p@#hJK?4jBR{w3[|>Fo~o<˳[Uvg  w~d9Z.F]߻=29z<=%;iҽ#^E˴uoINoAu{2hzcě?ggRvF(Z]3([7\xҾ6%377׺;Gc+++fsmmm_&\K7t dY]]=7rw>t܎EVnWx6cU{i&ʩ yɮts[㿳G9_of?;{b=szGmU^zVZ-Z{(t;Ńs/\yuWɓ'/_/|Qt;ҝz=z'^yЭӠhT*?}T|hP,.0nۡh>t;GE\%79-F{^w^=#[Gsϝ Ce]Sx`ܖ__rF8L/*w܇T*zg$q@uoqKy,EJ%(9ڼdIGŻL^|J^# pJe7l.O>h'K6&PuxRpR8X/"ѣ3펻γY} Lu}0ngf5b*%N`} W;~BKܹʕsO _/e4ssf \yZmW[CwDHH^ۤrVUE@Ff\5'wnmu6y=XkY/Fh.V7LOvGѩΪ3Lޏ/v5` SotEQ]-[~ӧO7ؑkZ>gYjw_MCOvżfP 2;8xӧOGzϽ`ܼc5߫=b0n|vπz'aDŽ:|B`L\bs ?*7,#^8Xiny`RWF)58CۮLMY|BIc%g(ձCxږ,oR)]So7ûk_ }ĆGC*5wQrVth).Oj˶OV6[u[U8("2T8zzO;%5aFgzxqYdcQptJ ]rQ0tkWLIz˂L>A\wj6V-/|Mg\zc$6q0s<UAݦ!n,&Lw'd0KA5NѠ&0Cu,I=:^`|nO 9" 6+|ܵ땎 ixrK* \{* )'B\v􁇢5q, C*K3쏈 xĆ1v5 ?va ?: " UCFﳕ\Iאi$IjvHLtI;pC+OT'ܝbeD1dt\M=ETYjzZ4{^a.soS=: }}717:wfLFםT] BU0-QeIOB6>5fpvc[ |{ s 8wP7֭:w;D|?Z;8涵#96\ϥ?An dH ZT`JĠ3}VCeup6]:υA-Bry5?D-o OAtcoP"/Ga(WPG2x}&ئ Ts4PjY OR* W;OϱPsۅ+`Hq2v HRi3BX X?ݔHC64I&l<ڿ**tUb?B IOI6ne2ÖD7U6Åij3%%YxHۯa)#axp~ v9bgrw_j ̣}JT*ua_ -?mv6dY, 59vuD8D[Vh8^QqZH }znE wMAQ}qYϷqʰmsBS=˫nM닓F|kg^>W5v?FL>Mm/M`qc)b>/m glaٓACHt%$nMrB&qDĽz jn.TכxUxaKKV+|~(Mj=n>V*K.K[@ƸVCRE:$_)ѭ)ijS* . Ll ZJtBJqL^j55bw ,A'k7h/ xT~c5B+iQ6?VGov5Dk@N9ZbG+Mg^""6H[{dX39Z_>?f=r^6ղ(b?:F c]d7Z\6p騄a5 E'*f( |k Z{\2CɆZK#VMAep9ĤAAې&/bG绀A,s @Kw >cM4+}Kx {@5ʓU8}OzSw_Ӱ=%5|+,eR[j7cnj%曄jfq.7[ta !M~bk!{6M7FՔꭎ1LOs!UO2lLok6#,,gWBYOW+of~pFJ4yP%r1۲rYTm1(mea83 T~bN rHMjP_='ot0nH 9L9KmuGwz{Je1[4&5$uxOuAu*1_ 﫶~vJ?B^M8e{ QWY|.}<RUĠkm'U=B]w_ˀPK%^PK9-Pictures/2000000700002114000005E5EA912C70.svmT PSWe)PAPRPA &Q";AE#";i" P2bYCA৿8]fzgμ{Λ9< O wlA5X ]@-8tܿ X cO1;_AAJ^{X]'҆&?YOm:?Ijq;֢bX\/wIh 2gȧٔ19]o\4z׊ k7AS#`љ(e¸[ztϋt,qE鐢\#Wu^߉pdI<'ϸMBm#AϷ.jX\UUU[[[SS#pX,Vll,͎>ϛs=蛿:]f&C Z?;`&ri\lq!!U&WA( Ե?3yE,j@w4@p`R{A9@]Vw+挋M(a# o=TUw.ny릔exj~OEhf;RItcg*d-/EpQjө63$;gY0";Q8JWr%;G_n\|YJOz\6008u_ҷtHZ=Q]Txx5#ZS`덩"л3; z< W OW\'l)#>'d K5@7OL.RMz;; ʐ|fO8b.sUuwᖰD\2 Gh;9ņ{aֈ-f|^<#O}3U'9o닸|py7$sInbc{7kSs9 3MA֓qƆ1"E-9@y|frߒFu/CEq$sue1􆞨`]4,~= fఱGUcԉ%LK t*i#pcLz PKS@8|PK9-Pictures/20000007000042B10000088BC2CA2502.svm͕yTSw_bP,ƀPؒVA l!!Z! l"l$Q͔*Kb iEJégz̙sϻ{{񹡞xo죙`i= _t Ag112c drH},hxz(E:^Q5巯6z{^%/7R9KD0}*-3S&WatGړ_Pb3y$׻H#Ju0]cVW#Ѕz/V69a/@eNp,\"Dfvٖ[ /7+gEPMe>f^56:8CYћՕ-), b `&1јR#Q[tA?~cŲSM'dlgBPKߟzgZ[м/}YxU ͗n|~Sۗ}Ģ;Νi~܃a=X{mtfy;d5%m\TuYgtdXɍŽqnb`%fSӫ=ftv=iS׀WK991` 7#=;$E*}<+H6 7`IN+%l4y[09#ިؗp ooQ&WN1aCSuS `qhd#{bv))mOL;*E)?#Hb<әK [x;,96l zNp9K>LGb lX0ϺW(3Px#p8m6)C,@S=6'қ X>[T0#݂+p8D"_ 5*c5EeTw yDɡ~:Ritu_RR3M~ZWk(?g{y[6 )BѳCIQQ.wcz`]*\ugܙ=JD{A}ļDzٳ^nIs *8Xk͞L;m\1M AeD%c1~6O](d}?LWG4&|cE*'ZTwn)5ҬVK/_v3wبrΓ(]Kx=Mg{prjX^}dt5eoܿ{/<N?px4Z2'"onlV.\67\wYoM;# -o C45;wD袝$P֤>>iÔ"QrìvѪh]躿2d`: 9xp D ϑg W\'d(қmmW*D0#(q폳Wa4kVU>0q=be N @kn؆'\i[ 9'#VN*gO H&ΒqdC0.P;MfrCTM! O2 Ii^Zխ ͂+E|'_3]T yv~-fu{9s$uF_UUԲTzbt v fDoC+sHkmGvn[U ?D;g` AphעJٟVۧߖy_+PKZPK9-Pictures/20000007000041BD0000094ED934D2CC.svmu <'QmFCZlc,-[\KY*-fDiH>Mf2& !kOwy>z|?9C K{=5W<`fwC w V%\A5ŮR(3=Rx4Bb;>dgntC|.w NT'3+\6(gd *x)~xa=?%2%G˿Z64@n͔搖)PJǥ)5&=7=g4 /Ay| !+C[?O,Qx&sަ v+`Y3̺ 6)A[i~1PxmWq.U~UX*J(ZM*2UUhi9 ޣ4sVBݚkaբ(a*嚁ne< Xm%W+k򋺉P%Bqu%{a"b[Hj[ogw I^ "3)O+\-GSF)n7<54KF gZi2=92?Fxu/z>vqq^Z"%)G}z᠃HɱP,oޢUa4ՙa j [-=|$N5QBoH Yӈ`]_&RzfNSJ;FEb.^$:. ̋9td{U4t +^E 3KoJ ,s_v"Ux]+ezEO?jT5o#<$R0 ^/j֚,&cTdcvM|$ ]wh#`G(ƻƀ#_MLa FWe?rh| ,Zt4hG۷U!~G -6x Xe,JWwRrF/,&΁v&'\}%hK C+PVh:i`?J:gȘnOr"!3}X_@j^βz[l|Rtw7<a|.0[ p->*M~#)ئ,a/'؆sin=w7+[8lods<}o|xWx4෾!LYhiqBkB/vLa _/l6_1VXi]ƾDӅjhGX*pD^M{+p S99?΀VTir!npU`P%Ϩ C6y-{lh/ zXՁPVx5 d%71ϔvE@3>٦jV6tҬ6NkL-voGm6لwmyu}^ :[7wjԝ 4aDPeQ;iyd\41{OjY&OܱBo˂vxqn!,aWu1::A@\sMeK0vGulj r멠FFL8OH?$i=6O{awuCDw:w;Zxf6(nI关9Iӎ4C?n5F L:6VجƣA[Ti6saџf[ܟbզ=_R|ofc)5Zvv)H2ΣTJ$$ fR7=8g6L̨"i&~߿{43|.Pࣻ?$^dvF͠RIIY;)r 7r#EUtѱU3^rHvHWy\-ytǵM4e&,iN%U`a_/D+g<Ksn ȺpCd۶o<|P7\ub^̥LG!G:{r~aZꏵ 2@A)شKy7jfY/$ P 7Ŷ$@ݜ1<>(/떺4\4hqX;B".Wp`lĚOڰ&2BˢZ,Jxq`.F8;ĸQ]@1Tmb`&  L[v%HiCЂLKBRS%=\hDCu)FעDa3"{}u'%di[v4Bg벰3!;xgpLb A*"!Rԩ뢄mO=9FH3ԇFd8QU{##ok$[dL!{-Hn($S!zjWW<+ ۔/Q!]A Z(*-q]e}bٲ=i^uAn!KvZdU?tJԋYi6B*vߩsomA_OP }6lT6~+4nOjK1UWJ>d߬ 44~1chwc` ://*"ɲRcSǡJlleD*H?7#gp #$V9Fln11[|sgƣJ'G{|D,xN\nE*]pӯXeu!I6HYlnN|.th" J#@o\T{ r >یMM]a]Mw$1WhG@1_% xԱ.mHrᙆ!ڥ ^ 55{V{6}J3yش0qwƥY mɕ7Jg{BC׌cA2Ou䪔3hgR_u8ܚ+e^u Y iO s?5kb6>(5oI/Lj^%jg {^k0VfEJtf0EQiG `ͤ ]TS  :uSe.R˜G6F6ߓk3 Qo%YKze6H0LLh p &LG9{^7]S7X4Bmv[;Q 8+8mN3 ȑ!IVڏIKó: T<7rҟu׼i:sSʜ5gEWޜxKriSLcՐ!›ZNuQ:֖+.oRMoFZ%/h>rr {Ž/ȯ͸ӂyUV]17Q핁d*|.7*Vnp.MDMY'^P)_<*TIUh}*,?^{K *״a#=JjvlnE]wcDM.x'NJv̼ 6$[ˬ~']Cφ$nBkdƴq68  c\!h|XT){qhc{Ü8nf?]جxNW`K{b/OP9g9wߜQ b~ EŽ{Bo!|eZVUV4'f4$7ߥqnP|njPX]~gΕ@QEHxe(,evccAB[;WrV 4 g8S-[Y=Ƕ*Q3ykoYN%rr=2$6yA0٥81GV]20W"]L<e;ghoVKK$@ .s҃y:jAC(ˍ%&dyca5?y^L:$B|| 0^3%.2p(FFjLgWfrqOk[nP\^Bpps)Sg_,M 6;}%99>ۋ>Ľo8O7TWnp<+K}k6֧; 6Gǒߧp5~ĵ+ņaֽ4z7zIJ>aZKbD<R妚 ^]xsnptQ0幬ww^>9N9XGocFHSzTd΀7xfHFO5U+>y>=E*$d:|pv-.&Tk[ZɇWۃNɾɠ0LGVSqT;1bcPU ^: PT84'k(^YsPo*~RRzqu5hhdiVIM2:0,`ˑH$f$|n)ӊ8U[^Ȕ͎I/ An볚6Q[5̰'#AL+׋qk ^{}0xs 㛐ݣ4W4]J|%u>EiJšt% Aq/bn!p#Obkmӱ)RYǽ]eCCXQSiIV'C.LV4/iM2xFn$?}%=9*J'w`\~Ig阋 GW~ٿ6@Kנ] 0Ͷ}-LД/ *~[黿7]ѬA˓1!Ѯ*oqWqbm45Vkl%Ќ-W4s2l?g2˽<{_pyo=.m Jܫ0@Zy,33}E_r; 5H/B_ hLSLqfM]o!Ϣ&1o. ;dیfbDpED*gnvLjbE%GVH\"9VړT%QAq\d;*#q1 C5Ǐy RոӔqB<Ыr֌L~5ይ/V>5yo qIGqBj3|dPSv]xo;Tg`L%?oڌf 5'}&ݣwxr[:wbn017>ib=0]$ps Wd}SvKo|zj靍g\aCeHDӗ~]CskцsoOP*m@j|cM"b?A& (F:歭D v Bny}{ C1@T \^+$k }Ζo|f]ø2pPUU:p ͳ 1ìkL-j<&'9aՔ@dU=Z~}.҂{Q^Oݓ G]m!smzNAo^ Fƹ(ǁuZ(p6-)m$FhP^G(%7x;s mn*pup3_!"+68ZyVwf.དDiiİ?@WӑAkDw3xrlxǗAnS3>^;r+SL?ƴ _Bҁ7T3zx٤6,tw{.̓5U Z)!B`jrfZk~x.Ut&~v߬>=)G Rxn*Ms:9kr@J,LcKb-mmoZ9]Pv}|j77~Ez3γ#4/&Γ /@h-5*x\eϊƂE;`g3B<:g]JG sb^5v|;a'xg[w^X_{.|O.V]ۏ.b v@5v 890)|vw111y -*c p۶,ME!&H(٢%?lksqs2=t(JHVlb`}Jˣ8Ǵ:TE*jz'(+2C@ [RrrV[h;婽WYoّUEXxjns`b: >3ADrZla疧~o| k0k^=XliEBov^c\_򟈱=/]:,r5{A׋?DKY }<>.aWmς_o]{K&H -J\![01ur'9B0hJgy S3<u/# ӹ;:w|if,mҋ=F>%ٖxZelU] ,DbY¯}E7fc BfB!}i rQeQD7ˊhHmǻP%77VGIBR*W\nH2ٰb|Pb2OA6ARWmYɖbC}rRNcZ%_ `%71 </6ݚ94#vQX@@X}c.ɁaV9r00BCӾcVn8Om6쫦'S33;<블|EtoZ8]mg_YBpq9H |ZJl~b%'w,} gvjb:t!45e{"@;ATw|ޔyMፁm-焯6[Z74Jz*YU+G c?BJ}k$j6u\s&]bKw|uҼ=Y}d 3 ԏ0m(ˆ4FʝM|{5̙Ƿ_dt˰R9}"!2{AѹZ7' caWa<V>>6;XAmn4 VT>?`0CD"عS :q,}tt T>RWC?z^Ch!J#\\~>5` k︂.lkHqh 彩q"^x8ce=f(B`nq % 2 dTWb;D"YE}S9Vͬ Zf8?PPFZ7Z3 b7m=jw+)V^)C*="4t@$1jsZ>mZ32bLݝaI;Wnj^ TAn =#hKZ5-gKur8*Amƀ[d@$B& 牱~HOqKJ%d`I|]e}IҦ`@ML6ϵd|uA0Kin/p Ꮞ6zmB[\ Ay*7% EPeһH.ZIೱ<ċѻcR (o';c1n-o2[&I-ΪX MX|9h\ܺ6܂;ۡ_.?|Ƽ#S5,%>0)kQ'/sJ/ש)2A%MMY:V[ Tr'Oo*vgźMa tʨEG QZ}m0n& [FuaR)8$t.Yv;_pT5YdT3xGD= _0A?/0 Eq*vؙ썽|@/wk0TŴLRCeH'm 0iV&MK$>~O;c>)_a4ݢG{k&cP' 4 Ţ=FC`X@kk!+#< I{vqAh 9LV( ,sF < kPcbn$$$K+? 3" ̀oL|(/\5m~c4<4gA<Pa8a [' Y^+l?q1k'5L]o%S?G?kzYl9Ư9X V GxMOZ1MrJ5_VeZ;byz5}|z]48 m4̓p5CO^B:m^ bQEO!y1gyEm[cUĄKyEoty鹝bƑF#E>?u> p1=6ȏjI*3 hd֓w(2.֍?WcVv{կXݏ=2/X!rr_8̽7%$̙b_uZgK7rN my+0gjG^2*}<Ms/3LDzЅ3ligj_/zcrK_}έQϵJ>YHFfqemyp0Ңqr}7.n*N=mjBeH3QD DK*"ˆ?pZ`R u [Q%3_KlL=4u<mIǖ/oLHf\BXO_w_PdzQvˋP8V6Sf \3ZHz+bR$TY<}::g>-.m]P%] j:~1u[) /1MUROQ:;fs%nUF4t-/OݫבjqU)gg' [`ul€S6Ώ C{ñn$ʿߌ .y7~V @ !> BYrΆ;`&g|xoMAjGS{4ϭ?w}]PKsd<PK9-Pictures/20000007000041530000136F9098749C.svmzgTS[.TE U$"RHTiA:J "UiB" DJ#5%s8{Ͻ{\m9d}AH E@@@xysC߷]k/1WD'A%|p%onnah쐕HHp-yoEkuȇOn~raʱ{RQ+w?O՟-1'qᇺ 󂉮w0hmvPMR5 Od޷<8kU|>腏̹@lL*h?^(z`yHHCpy&ddt&!#]uȯeBsnW{F@rymF0˅P/@ e{ @`_@ OeW]W߂tV :ȹj&S{vRCl@ ı o @;!gb|GD,iYؘ_iw]0k!~&9D@#%f+aseBтn3:%gsve1õ?cؚ>&W tI:¤xBz>N^d ՚zoy xߵPj>X}lRlG8ǫg@_2DFz_j8R5ze66^,l,,FyldⶳUNo{g<%C+1pV%qEXZnh8 C{oו׎RJ ѸRbW({ʎlYe \ ] !ZPʇeZ>bF'XUCD|Me(GHq?.3%]9Gԋ ado!1Ԋ#49+͉P#r(E̓dL6-~`\WoP>V7ׂ0QPu.;b 8]0$ҹ].t3 BZ3aq +YgDn||/9y YGЇܶT!K&(R)#=HP#<*i+no-^" o:fVyYe2NSkP_kK_XN ycu]W cUCb|_h[X<&:Y+[cq~(_KTinaɿ,ݰ> >OwiuUɣ5meWas vWsFBB % JIZ 2p9mw{r{nՍUIgQ#z*g&y#.Ә^B@]\ a FMLS >s_{5 _ZapԮz0 ? p_rX 9t, 1Us顮|CvS> yΙ|SQ^"=pxa̱8JIgV,Jn 4E*_ӷyu_" 0Qwm ȝZj^ۑL}7H$IY Ӫqȃ6MHC5K`bQŵΦ_öy^(3 DYb-<-n4K ,\/Gjt=8nۙ:s?J\/{T}bsX>K̡$/7?+/_w.gH- ӁQn5Uk7 pNӗqgsF?郔F磠@-/Xɏv`{jEhp-emFsF { m<\ 'hUhgCO* I͘r| >J.-OJW٦HvތlV6"WmvwpYrc,/)Eo HL1^-4Gw_@F>\vp4]b{G*jt s5>Q }k7*2v!I؅ tƅ,&I#C*Q /Q6.*4udeW;\Yf UEew[dsh=u"5"˅0 q/?e4qϝF Zq+ųI[Rg?}TO ^CB::P97 6mwrVXM`y_Kzp8qpq]]2w(n‹ ݠ)lDfimo|E}1.h*,r3o"Yt[!=Y~ jE>(Psy(l6W6 h=[@6|]ܹh࠙XN)|QԷzd-s: խPr} Q+wcYZG~Ig 6?&)?YXY)?2LrisY zHӫ6wvGTWq_B&}Z6dn={1dEv( Bl6%nq'4J͐L } +gRe?;?4oe>G](d<:% qw"%A:,bwEf:xfP_iOv0? != Z ͛w{Nf벏mw/yFC<A_ۿbg3]*|3yO*QڳT|0&Gr,sn#5s. ;\mUZ<&R##iȰa]Ac]jk&/rk޵ݭ.di[ Vt̂( z~:zѬn6|ydIZ{~6*.,a(9oLnE[q姝֌|-$`R\iW `;eUï~xϾ&Garc )N %J¼{n*VO4I&) l$[W2<6v}f7.ͧIcY“TX% "\D7m,!Q' 1ZMqGf{VYB!};j!bZ# lnPH6%(9!&S  u%lUfV nJ{2g;~~ݹ*g-JywOd%c`gst41/xURKZL;bJteNt*UJяYn|k꤇ãb_hrR~҂yhH )n1!LS&'sf of!J]bjRIXxVRTMJDAfNwo'}/y/ #~'%v֙Fuև.BMby^]cf.[y3h'^"%vr΍ZEغ9A?6F@-Wzy9_w"O~/e=E 9 CH\ xaq$]<8QG?Wl%-o͗Eg|Y3b,Oa8m(d'=UH!Eh~D2UGő\S9%䞶 50CMDoƴ*. ZQpDՔ(^BYXWP{kCVm|mVamm֬qLHjyi؈5k#D$GۃCɦW3̢wQ[`k߸Z=/cDb.-ҭjHd$s1揔ne"T"X0u㾽|HSr 059{Uy=0݂ֈdBuH&Er;-}Ll(jDĞxzĭ$'p+V!6T&ᆾ®t97kԆ+2v::zS 딦,]>+Z-e@y;(U{dr-ObĀ>Xe0.,/4V1_1ίP,y[K9pXȠ{}QQLv:@Fw}?*N;MQCDr֏d8<])G;*l}K@ތ"}5q~簺#Ӻ-GU>d631]LfG1B+SͭĖz=OaC>%BNO}L:Cu%;i Uv_.O;*^+TMcuPƫWZz8g$}11/cV"c`Ƒ*'6,4-녦^ݽ)/u7Q+ z`Pz3ezs-11o̐t3 L=KLAD'PMLYwḄ%@{4՟3 mcx Intuwoۛ;?[ skۻ76HL"?^xk7tHftJ|7.\ksD̄&1h L1!k&tp㜟 j[S?]`>'7). ŋ/Ap4Z$*?.~4yqw٫d< gAkfxQr j4$:D4^3D/q%hT-,#f0A6V [/ sbgR duTkN~jiho3C<8z}a xJ,G7b=v`Iz'dB֫Ũ5C:v聈JO=]HO}z~68wyVR˝| Hp`w]XgRy0rvPQ؀|o8_{jsU` +gwȤQZ5^!r\3 'udStG# bW.xxwl8PS·!]2 ˇҮo7>pֈNLr<4 uwu$δ .s>d縹Ey[AwKv$NR΃-lg+g@;j^z S%${a 6 V[)me۞laXr ΄%O^~ǯөOfH'A>X-ߠp> W، n' I:yxGqR8r/DAB'YӁc:Ms WAU'T=EN`I]>" !Oq72^ASU+&"d>9dV0 ^_b9e&FcZYXs|f4`` /pvG6-Tu|H*]cM@B"u H*g~}&Y ZchRcnI+QN&@vn֝wzR{{h%FLh&#rP'Yn[n+C86Q3?$ls'L(;6b@rHaβ|] 5sDe$DMk?a3g0(rJd~(ݪg0%i#PRzJՓMc0am~u0&%n b,X)rLZBs/kh ꋰ&XJ9r1YRp9uw^cm)-sURA2RqW'z-Y (PULkp * J 9XKż3exfUht$A(Xs`#R-6:GQ^Ӡt1mwbs՛"%=Ǒz"{l]]})x(e}YI G.F^XrG7`Vj|J(WE|]#݄mDM}Xi zna{eIPj& pR 3iZC@Fdm_'4BB8)V8Dyv`f.أ!G]2vRjtNQ~@+e?m imQuk ˱Elm/vM2"ӰbG ;Mt˿QΝؚ~|?\󜱡tY^$9I[+y۔txG*se*1Af]\ EsM7@kpyTUm:lr0A(1pVbQzȨ^Dy gǍ)1+aqҔ b+ @%hvn ߛ5JHB OG–&4$9R=67Cvݿ] Ih ~5fu{c s{g̬ruۙjA+BWcAS ,s_|yV*nᇅV$n5%ƼQs90N)ۚy$ỗ穔ԇ?J{Iin-tw9'ng+|tnԘ4,pbĽ3!^CjOGK*Y jt3gu-_TS dі_d ʛЂ_[Ua^FQ~V {Eq=ɮT@5|b/ťtOiKind'M_zO ö@ôp=/B?m&J䚢⳴AIOd"YxVہKN y~xFG(I)}y:N8hkyϕZ\: dY&YIg!6BuRL;xy`tbx1`(jV : ȷ{e#XdZŨM^+MZJ W1e+#o"5Y:RDxbyJ[&q+"Y@ArI,la'{?SO3H@<汢uhn |z;4 qq,ŸS?lִm>!EIy=Ϲ0kgGPKo?$&PK9Yoii-Pictures/10000000000003DD000003225998F4F9.pngPNG  IHDR"h7iaIDATx 񧺇c8Pd`DD^1I$uy(k̥рx%d7Kbra4^5a@AE`~fgy{.f7xs7VNz3z ezQFO*LBƲբ5Zښ Ž{r:Z,7ԥE6u}z]c'.OՒupk=;]:K?uuy|ߵԼN{}=z 'q'뱳_з}m/Hy ݫ}mxC]Du/y{_upqL|-^;o+C^P>SW;|;ǵSup^Ϯ>|[]{}hG :y+^A%*wG_&~[esUxk?z"uZz{ݣ^Q^:2".52u?H}UYw WwH0%3N~_^6\>0KMI{lrРTe}a929t'6~a2~y\?+4w7t!v\pfOr9~#ש5R&2M?nNO@!}k4_zI_R+COܳ>Q|9=~)Џ>i_ 7\{7]*ǝyc7_(.5kxQkE.'^BCrxn7KpozwGᩗ-- R^7y,qObԀ2[ʖ}:&)vv-8޲q֥'xmh. 4}L(?ju7 ?+ۊz4?;PGrO/>Uw7_$e\Ļ/߻ehSXSZzU48^ݻk{\:x#3Er=Z,K2h.YΕt(sN:n{#o˄3:uǞ'w<-Y$h>?64>'%yc&oFP>}M 譯~Eߒ}6 -Gnq\uPT4'<%ؾ}mxH-]ybzcyW-;&ۓXxc:=uf_^//dn:[6z< ^DF>>,zܦLJ@c -syl^YIw';eWo,_7;Yٓ7Mc~MdU/cgd*ʫO';%si ^sWsWw޽o/|';.9(-߮kߐ~6ˀNt<o|zJᩩ,"3%^JOhns˿OK”y< r[6㉇+@xm4r 헼4R[Vjg ־}aL%ryNb֪^$wM.WJt9b~0r5<̭nǝy㎿.u:MOn,W̘-=\5qo"R4vS4}mz6Ϭ}N[|K[?/6`ݏJoMtS>ߧâ^B+;y,ʣ' $ 3lgΝD"9xpl"׺; >IMkl==uBǬ<:ҹ9<Ƣ6>t=?\뻥yi)2Sӹ6E8汜 3%m{o9BNL˺I,Gސ#{VOm4R~ʥ9JfWʧ\(UN(75U1vrx[IXVlPE쐶'϶I<, н~ﻵ!{|;~Mw 9Vb kuyE- Zâx$K]tQ/d/I/A,.m"+Ӈ ";(x/L/pP9˟ͧMȋ{Fi1.g:W>wK3VBwlOC]\#n Ξ8o8K+vɣ>|tjO\sesS\:nh[ V//,퉝rZSsIX wOU)X.O>V ;'_޶?*V9`?0׊ɓR?ԳNLVÏ?XS/X[Vnq]ZGnNqKJ:gKX_|=~92M#cW{o=˟Y7wŏ†#_wXQPyNS9X[Kק};cL4OO4]ĔkfGsP.˝ۏXv_&B"^.P^@}ǩPӧȋPq҄?ǫ?$>~(asm_R.+7ź6'dOGtܯHr ?s3*U4WMbv' ʟ^뾱z^o';?Kd&>tذQr2>zdС䛻}T}+=X<жսiȀ1Zkg/ݘm'2ETe8򼜎GI~\G lEn>ʖ=}WƟzq#wz(t1^jY nj%:oN>-[.U&>ۉƆ e [.~qv3 :uȿ8<džyZ-}z9A| l\z)KBݱ~qӆz ϭ7E^,H?`BV-Gϛ>k~_򿮓A3Oev̴Ugse葩?Z.uF1-)2W\=/U=GG6E"2L̓?{[d{l ^+?XX,fYvњ;*rDձxmC_ڐ+Ѽg8d/L q:!cs<ܥľwg%lS)k*LbfeiW[=pHv; ߤRO8uISPO\|+sUSbBU*_?JA\>9Ì<<2qN)=gG2NVg"r݁\G.#뮻yr7o~*3!555ts \>gΜU(h|jUdz,+JT2>xKXGByfjz\=zܹk;#JO^X-Rw vFs=1cr۶m>;ZNv2/z9S$kxy_O|i#c [s\W2:,߶QWw bܥ99̷vɕ ~UC %q8;9ְS·Zv,/y,(Ze[;?;W,SaUh'6xJWTߕ6ϟsrc-f2bj6y2=";³^>nܸ-[ȕcǪhwP-9YrU2i`9 z=Ou$gSx7&Ψw[FwK9ʍB%GA>>w_^Xs.K5`РC?ߡ[r%^cVtI\):Bvݲ-\bgK1}sY:/dݤ ssÖ+jp ?Wϳo L~%۶ ⹩ɯ|?HF>+i+*y,B K郫3~xR Iv~ڑ% %w{g2:.eH(,W-X/͘;w{_>s$`|3;n71󿯢_gYwn:lx^^+׫p%\/qO+/ì+s0 ~i;O^e0#?eK?Eek~ƍ'2{e@iZ(W̙:לM(PZcPÀ^ʬ Ia,5s\WdJf0O5f2\;w=%7[\/z]VsʲOG4ח'\f^wUgnٝP)Pl*zyLX}c^nb+&${y+v_KxG3pw5_^>ز,h|΂z̘3\jDŽI]Ho\\+*י?tYb044o?#(]/wD|2k4?cHo0q&K~TNr\tiEdOOPZzQEb卍t^BMMMˆ|h>{e˖Eua5izP^ڻ8JtzJEp(/lW%Ry`E7[*>D(xg\=EoMeqVn|U/X^7nZٲeZW=M=߬{f*Zc|Ŋ=],㸻^.:\?nnllT-2Ru_Ϟ=ByG{=',]7utz"sZټyn/G }r1}E>=&`K5E&mb?J#ݻaWͿtڔڽA.kjjvh%).i0MtIaUHEW/@s<Ľޥ).o7nMel/-y /߸qr7J'NTs={{47[gK,lg~ @'X'}>sKo>O_q̔Յ}27g1^sX>v=V/-2ϙ3gժUy"S\Fl _^~R2Suuu/j_=uBEzE\_n\xnќODN\dcBV3 ͊gZU/77ݟ,_.[s2:@Xzyuؤ}ƩwdWS?WXGT:>g 䨗OHrW/2IR҅\Y\noWW>@Lȕ]/wDU\~])#=ׂQ/ύb;V<$rԑS#ƹ,TU^"W[[Ԕۧxc_u n֯m\..]re6~`V^-/ETѼK,l:ΩkLSSSg(wr1*Ϟ={ٲeQW\1bE9sZ* Zr^)w#(A\˓r /\feT԰6NDPBܡv^&76>ҹYDgv_\yӏm,qPoYJWz +%Rcd`s6 W20dbV%g{>k ѢW⸾1|Fv\rG!YM7nz=4jF{շoGƭE[e׃ՄRBfNJĞE`Ž#@1sgqWӎ:߻ɖCD~ƌIϷm2or}KOɮ,L:W-\vEA= P*I~UsϽ|l3{v]Kk?K׼<ؒ<=k/Gc$%\t,7?%zZ[v\TvJT<zhOϬMgF⛢/|kցxoٲeرr9n8T}AT+q sf*TaP'\xߤr.qQ/[2/Wֿc?| )Ǟθo2DBv[GїՍj8u K^n~Oj#oG"P/w_?|~hϽvp <^1=ij&aYV,-Zm[Kys]/Wa)z%K<ۙPr +Dߐcv6K^~3/[dX3gΪUdQy," ݍ%=:rjr%y /L0Rymjj2}X֭[糥2B B2ҥKS.sRsr'(^Z^ywWXt203;zsOgϞlٲ-rў(Wr^)w# $eU ltܡCZB?p1-;NѾkN[l;v\7N-UbwP/Պ裳d0c&5448*]y,v[/x?l7 >Tx3! g'{N%O޳DƷdb"v`MONl;FAd1lv7NJ*#xMMM}}#j@r(YsmWK&ݲwȖ7-X}g=帚:m޼Yftgtw=e1cLT Y&\pȤsU8[Fxr(NX2[} u+}v%>ѱ1X{mjhhp x3-(zZ[Bq"Me;բwp죷ww4V+r?.:1߯gD"k.TjҨ\"g@F._nϖn:"zcZxu~%IwSxm~S\\.Ov>Q=r+id稗+k~9Яv޽g3YJrў(WvUCRr1=:rjr?PX2,n4yTUUf͚3g9F=KGzy): 5kVmmʕ+Ma2Khr,< \G.#YmmmSS0$rҥ)n OPZzQEsr9rl\}̧g^lYTG! gr^)w#< 92r~d{=րriY\-owU&<}+Nٰ.3\Ƽ09~Ãc}*,ac7n˖-U}z]-CYrU2{Hr],xz}V?Ը 8N:_B*xIǝ|pcLCFR&onQ+!~\ 3-imqfQuqѠřO^pq\.2;ZƏhټysУyfY\z孭V$ug<SeB|WSwMo9ƍe–KY -sO8Q%|>ǘTRrP˳}Ǵ}k~g ^nh];ZzyJdǦ?RjmᎭuuu*_>v_ϐ!"rsbLji׶GsbB.@XZ`O,Կ yb\ncX( zĐ5Jڷ3[lDx.,Gxr9rfQ5|. z|OPPxȩVw|y( y,erG_y0j͚53gtOeӹs{zRDur9r3k֬ڕ+W>d("Yy 0\G.#yrknnaNh@A:O:K䒳oDtK~xc>w\ _f[.S{&s_^T']2'-:c\\c7MqmߚMnw ACy9n{-᳦{>N ̰0sO _Y$xE> }L2'Iikr$8s;y\gm{~s'7g;{pL \&jsy'R;_|t<ўr c(a-3X$\&IS$E>`Y(~KTq.T}dzĬ]#^9μyL@Hq}JE J7w0sڼ.XNC.NGhi'u\x'l@D.#(fD.#yrwr1cm۶E6%R̩XؓW=;bkRB$n\yr:FغQY<y,|X[Se('9-d2QaD_/ocݵql٢EMˀGOt,W%/XrD],x@mߑ8[)ֹ%-k>!]ب6^]]-Wnj]_{(9Zb-w}91@at\?=+}c{rƍkjjұ:':-=mPtiIOqOŎLHul;{zUenV+H-[[Wp4ioGE-zy,ݲc cvSo]xvg7GC!\"k.~ޅ|91+]BJ,fỴwm|bkB%#ȃ>h@pcWrtW[ܮǰѽ>я>PJr X>>aߨ kӦMO^~|ṍ/'|0(jzHuckp}88eY~}5k̜9=N19ˋrD`֬Y+W4}"P./B޻BR)yrZ|yn3({r۲Y/-ZdsSSS# };9J#ކ\ ~@k^*l@*L9u.g[ZoG.GP+o.TE"sl)3AT*|ߟgXwzq{-!dѢEO@Hr7oS-yr!Ѽq;klo\N֔ڝNP~_|5ϗP&f֓T,/i@ }˩%7 ~gfCy~|dk-Wɯ79=>\N8K>w׎ԟ? )9]5Vg|-{5}‘w=D.J7ݿ3^S~mbY]kLOiH^ۗPv_`TI<G',˩r]wrc2)0XN'r=tPJ.ix&1I1NL"O xGG7ooO9?Sgx.G?SW9򥥥t:Hzr9]ĉU:{kjgq?^xjdܰaÏV/|ƍ>lէw3m_Zz\:F,ȖJ&RrrFZ ]S&} a$(|a~8ir9Iqb=_ LI:ז.QQS8®n',{>%'k{xʅ^/3<'(M>Iaii.k"nMW&k2?+sJc+vj2-a-1d*=J. \άOrU_/%+gL&K/4iٲeKPT OɔNSƙ6]%S2}懑nSm&&az]Ewm$r9r~hn kv+ 7SBvHON#dwyyرcIXo=BPY}\I%2 #&CʸF|ȓ\. \S([Wk'_v 9rt#|Pf|\]jW*Vj3]Sr9huk,GK7>X?Wydsϻ?:_~O:wo98\!VZnOEN߻}wQFԑhs0 9sw]ɨExKT7pw= ^Z{nnGA7CQ"rygz\.SQ^)έ#_+SKg{^.Q;wuTDm;K]t/hIۿwOz+eeU>W^2eZG'b%s8DkM4_#YąٝLmcCs};w&o-{M}ʻ?gw4&@KqaimA0ݞ{t:/F\ξƕ_ --+啽vM{r¡/@þ\͓yr9+9f\NkM`<'@rh\͓yr94O.<'@r&Ç:;v}\Bys0$N'\\V;LP COokw+0yCsy2e)ӭ\ʬ]M.OϑgV.`yfdX2\.`FUL`Kf}\,''uuǮwXP.02<*iƤb?$嗾$]˹̢̒d_|wDh{̙$oZC`ex:q<ܑt.YbUgk5'CE۝;w&w^^"ȥ^yQ(s;r9'ʣxJswB9P֨TDsY8[vNYq(q#.;l|GiӦǾvKZˢ\[s?]cp0zPn9Un?{/s.=2cYy `P~%lA k_S01·@f%땑Sofˇ3_><^f?F+VCQ=$Z[7 .WP0rW]uK/t-=eoKɐ^=y1(L!劳B̹.z)[#SgRx#Pth➦|gE,VEPW }}鲿%@UVz+LW/v]@_x. M#}ObSʊfL>]?27tK)I#GN]. ڗQȐN?׸/됺/uT=]w¡ ?u]G[2>}Q 't\c-xGoߞ.,,,--U!x$1g`?c:#8Ipa9ϐ3,bE~7XsB9PO"l?^1Srȥ^`;v,~yזe1T1a\͓yr9 ƾ}j[!8`oj0={45)[n]W'ˣ#̢ofsyʣF#̘M6-PkEڲe{۶W^}uŐo>.(s㯼m'˝7<4l޼ĉM_~\_Wmk}>} 6=4`Η&)_z챕%z(7G$:gv%6Q/̎-[WCyVToΚTy+׍g_h3VDgwϔu\+t<3S{Qbm\HnZ?IϾL0Rg\!p=cIϔ/})w|0T3Z&.l0.ćỵ>XOɟ+~76=`󎬼{5=S)/_b°Y-ha۶P'jvltO~rxcuzHyfK_ޖIˣCM6A<3SW.j>'μOz^T Oۗ-J2 QOf#^ DP.LykmIR8Z>3ω&GrC~xN`*} ~/fy*lfY}3غ'ذ6G1S($'7m5p;Sާq\^`xPm[-^ =~zʬ~]40`S>1q: Wڶu*|H>kۻwɓ'Gp!+7xcC&ƺ\u֦cӦM|y}0TruO ̦Q/;SaL;wm`:]аۘIENDB`PK9-Pictures/2000000700000262000002471174521C.svm s qcd0d```cid܁  P:1 5XJ0001`*NxE)ZMp葪+1֫_jl$o;go.vmO|Ϯ"RSlmИ&W۬{,|ku~[ͫWl!U\5DeҒH74p"] Mu r.*D8i"G8]8٣׶4}ah['b9i(P1th.4bHcbݽ(Mby&qQDn#'F5 GN0a=r$xv~کgV,LxMpgc/)᥿,}  x IAAqa8sEG.i} rZW(aquW a}ʲM5էԘ uC"\z#E?[@g0fU_B{SJRli,J^8'YPP"לqLi܃2$: u Ԗ8u_$PYK067 *9iﰑ\G9MI `w>QTlhAXΌkuP.}_T {;f ܉sLۡj`@hJՠgu+m/nR)z1mXCț$^pmo /rs ܣPp,B)By۝ RZ$P8V@5X2G Ekv<Lxpɞ@Lt/ )It@|xa@;wmm[dߙPx+Ȅ%IǻbղU/}J7˨#+m+"F fzFmwdг\YR@"fD 8_H՜_[uJőg4uVpV^9dVputMqxSY[FtLxCm~81,g%}񸁪Řa'6jàs,7RVoe% ;idžvuX}g_3U5cm&>]>`mc\IZ#B2gK5/Ew/{[_Vs ={A= XU@5: 8ȯp)Uōl..dN_;[qY_ڶqw[Qr՛{vF}/Nک&1>z䘏ve-'PvVf^-J4(k7B=?~Mnvw!DWzϕ] o-Wd,%,i|S7Lk|"HKqݥYkViIyF ,(5Z?\TY Z"eWM/!_ћ$$v]D|pqM+#UC/%wQGgz{_ĵ'HNj;,2JAiwPB>Ȳ[z|FGY,lR>!rcjqΕlͥLM(2v1ǎ.5!th%}c_AAfWgJ̃=\ߩ%!!.9֯-/kB\þY*6J}d\qUF&mY]Y !xx{]x#/Ijt ü#GB ΍o^s}T8p覇X_fZ =5Y9pjG3*`{ܺ6}X[DZMxdv rL=1k[G(^dO= O+Q]j}숥/~_v=|4 yr9{U owg_R +[בּ$TOP $9g^E-Px&RW$Е T)P4enN}e]ij~#4iOܱ)'AzW 0YկxLœ XgW^ ݰ6Wa]t!%yqUa2pIjm=`a&w/@E6%Cp5D}2kX.D7Z9 !9fV{ث/&+ʪf[> lkg]:%11-)sfZ>jFa]MIZBFŤ%1B)#ǖ8mUնQRM4l[[L3NVC ]iAYo)?njN΍9+_1wi:Z8oD̨X{m¡>*C`:&a2K!9ߍ " _~fFK[ŸqiJW?!;DKί Ա6+^Z3QTSo bZ#71!aѐw.ZR?2nG7%pR -[k s$3"C+_u/s1}ӡ׮yw,`[џoE6- m@wLxz ]=Z`lk\GtdW$qLP@7fjKʑ,k ^ L-hݯW)FL( %%7P\i~}A|Zb }}EtjWRrE[QA:Di0e$U1RLTk^a%t 6 ޅs.JX,bP!GIje6h[:QCF/Gr>w\NZ wvkp%&qR| gnk?v:`6Sjnƺʚ]ol䕆IF[vQc[*F}0;!;OD|HԐHF "7>K]H!; dl _ qϰf>c0'†W,q zޜ7l^< 6sK4[n<_|^p}7dC ؐ&S[i|VŸMd?f iuG"3=<F0"c&E58xݪs*Yx?29n4>>-a`2DTRZlzi>D"ّr,\U)$ϩ~%ZQ &U_~Wӟ9=c%K/("?+͵ǜD7/k(Ll현{DMBX;Ghy{{-^uSn@_[ҚZ*;a7NLKx$.뮬za3Ɨ:Gߘ< _Q77XN rgМygnٶ.$67Jċд]rMP l!6K!]W\E{0Se݊ILB@-'-B(}ao%zǕa_j<@tЏ4[ȋc_ ~8$aEasX1Xa5hA򰃇 v"+u55Ήʎ[#E%Kkp7_-Y36ɟ7{NR.QuZ{ tHH}I"1nD#7 .O{ bʢ[k[ S%xN5[ݖ9v#:?dϾ[z/?q9Fr ўp/&,fs$\Ÿ q5XK8/ODMln\E-jUvd"BY v|7@=5Qw =Mn ?p<6;}d>KۮݠҽڲhlǢ*Ǥȱj ;3 rUg.U`y؝o׌dM;;"FS1F%kI/R_/3S͖im,!L;e|C:Ǭ2[G%|Y{ZQ]=g=}#!sỞZcRձ/7}Yb|3ŰuK6O @'&gp*^{yVfqEC}DRXw^Z尞c3ӭrK0cz[_`:CG fexMT*42 5y}a-D@(h298N 0IJ+7ap "`'gU$Bx`Ev~͌-}'O5#}iKzi:,U<09K/N  cv[o9~s|6uYE Q'-m&ԺBaΆՍ瓯({R"ȜLv.Zd`_@= M쾣5 Q@t Ak*ZYH"rk @%R+Q=9$oaQ*0lA-1N'c Imk =חƨWQ,+TZ4[Kƃ 1k]{Ǘ&Ŀ=}Bi̤ɵ3w!'Kd67%uEA~xH gSSrMfBo< V0c8%X2]2lS(]P,g,=Nk+, v|:6D`+5PINEW4W+ }9 ){\/!x_I T/ܐ,x2c<8[hRl}wQ*60zN>,b=~=M@E.e&~eɗ]:ҍצ' 1Pj9}wQZq>v=' ׏;ؔ >inY;+ D+EUHXg}e5p^@,?UɃ"Di4V#'E{nO)YN [6U YO!AF쮓ƂX:4BLc=|{P898sOH~dxAjEWd\fpADڹ^%>od#NȝiΆVgYC5;SDTG+Q'cN ,e2AQȸ"Ky˨Mmn줯ӿg۩tclPKp}JQPK9-Pictures/200000070000409900000CECDCE1EE78.svmXy<_EBH(L>v!cP(KB=[ "dǩ%ddɒ%d˄0zy|g9s]9 }&EhA# 300(vGMT0f.< . 0@ϼ4әf0:rΧa&Q,: s:WrLP.,rG Å\H]W;zzc O|߼;oU@IuojBAL,|э @0;ehr}¤ 2L2VFB{0d˞.D.Zdr8h0eI=gOìyqqEÐ6:͌-.ȃa>pb|5&h67I#xu.VN#h|gx\ո מ)ubOwi߄ҋRv'GR?|jJ{>c7K_(W[_ńCQ+/IC^9:FIffjA o: 3xa,iJ7QMx-b9meg̍ܬڶmYA:|<>ð Kt~{6V^[EbF{0nY[t7?4VRBw95FrPleD K/&E);EM,G J`Dn%o+$&0$:D%\q1VЎa3 E HRG~N׌](ags[~S92Jzٺęa*C6|4^"LNWge$̆W!?ɑ|c +?[7Kd QK,Un8T`Ґ@C6'˱i iU(w!v|gÏtEK v*VN9H!8^aVsh;r)))B!_l[34%:gQ'L>q8  /;weEFFIHH%JPOEY'ݢ&gz?qOH5aeqJ>NN ۋU¢"w777ww="N.|5Z)y\dg%\I5k```eeED -^U.gA׏FL#Undp!/WxD3FFW9[U#>Ȗ,ZM,>oe-hF4.z{}3DrU?jfxP{{󆃃Ttrr yK+MԎ<'bw Q0kv!ڏ0<-menjj~)ґ7[T{zM5oǣI"+QqkM̳!IAEj<N/YVZtD{{x~PJ>CM?1{pI{[V(23Ym7dIRߧ;g̫4=\h]sIT4w+3pfR[j{E!=&E_:ބ"p:ʋ;OKI إglA$U'wcWK [(\!.xpD? ҾGZ pYT6n)|AGAWNsX)΁nKX ڒ66:x'a{\p2^9D }DEcn튟gy;ϷAbݔHOٖՂ8R\ ܑK!Hk ;IRvvG]F!䄤 ZT+@Bh-k,Q2:yM_qF^!Nߓdpa٫A<&ƌk; v5S P.Yỵb>?W!M績'<ЃCѡY@sީL:g ӝ- n/=!'EV:Z}0)r"|4:@46PLJKRab.ǰ?fVqʡH;eԍŠ UUcjjUU/H՚d _ nɫ8b.:qXa)7UQ-Ө)ɔ˳bbR+-]`Q3bZ#*4.\څ6Tn`!RU-):k2MW\vvv{{;(mCb[xyXt{!Xwf$:͚PE{O̻GD |ތkXu8bAtZn:d2ڒJ!Ȱ&C^qK>]Ĭ (t4w|wJTSP)J}}TAp lWig}MP](&BgvJ$%}=—Ǯ4!3p\] %u7PkxPd2e6|\Ԧ7RaYN--AgǗ5'E ڬPBmg~}}c7Y[Cb]iڶ{zg~Y8?&ϔ@_sfЯ ˃}`6܂_?&IQ R32x2# Z%Gߛ1[ ZR>/amʢtM$K3&pӓ&-IiaJnP+l.<聸3Gk @}9!`y/nE$(/Q-&)jؗ:'@*H(Mplhe)7uU1{)?5 CαUrMJ: ~M{b]G# b?rT&)"z$";~nQ?ԦQ`e X5S9Ho U7BIo{[u./Trޟ;c!ÄQR2}&J]]ѺEqksH$zLc}{U(7yhIL :rEVxQ )8NM'CT+[Y\,Xyh%F^[3RӮ7-cd&FB^7d׵R -H#\4AgSGBi**Օ%eR}ws(//~6z.ml kt/G9O✱drcOR,eNu*@WWoT/*-͹nu+?T|Ե똃MMzCMfWbő/ڮod5/4Ul)ĔIQ\1y \n<)p:P}8x<^(D233':ƅnL(Q|e5*l~|E6|f,FQx̬ub>"XN\L)Gt98n8(VUbRd{Y]]}.GѓpvrΤ]fL6i`ud+nLoC̶6/b+ZxmNlMb'WT~{N.dq[#yҩ`<}Z-&w W >$Xغa%$oԔ&[~.pN~ɫ+Ġ~OׅOw L `[t!*sJv(F5CU zݞo1 xŀZ6ZSV~% {b(2QQ˺`lVȼFo#}vXf6_] =c}\Q29L54.!nWxHnP\AOtfFhN#8np_Zs +J8 }0y"eXÆ0K:"YxYSŸ ?_#~DP=9 +AnQ;n>{xY{,Eփ{ ;nT]k<66~%~x_/ߴˁ? <ٷR3Z/S5Gqt 2bjԉs,a-x:P D_(RcxjZeyg`/@oÐ2 #0MO(KLZŇm}G~ :4w>~2bZu |>zyn⢩'Ko[o]Q:mE;OdXELs-a5q.cCQ *PFµy8ۿ:zC\Z;I cV0pt,ѷ ad9UYh'oO} /PKfFQPK9z4N[N[-Pictures/10000000000003DD00000322BDB00588.pngPNG  IHDR"h7[IDATx ]Ua/}&y S/^o>V4^U[-RM}*RmimE2IC o9wdgg}Μ>3;묽f̾["<8W=⊰?[K ho.ՅI_&WJٚ]TRM7kiwM S}o{QT *ދմ:du0?=g=IFQSYgV4⿖l׷¯u_}~,luV'˧$|E]|E5ϳ΂'?[ j:CݗwKy#n:ٚU)M ??!:}gA _1)~[EiVVC.zS) *Vm>VUu1imUY7bT eoHO\SEmwݭT(wZt@hWX9Vz]3'O6W|׿-W>6Vg}yEѬ觇N{CO=?ڱG3D= ]5n(K8]{;9*QΊpc/yICj ?D/Dc[=|>yQTf4쮫zpvٿ٣t\^0f3^~N]\^9t|4;~kʱQ4w-\Fjwѽ#lt塧ϸ/?'}>?9؜9 쳡(oK;}8kq988=Ԇ?lO4;Ų?Gݏ_^VK?My(i{!ġ]78Ho&QM/>Pv G=X'4t_7E? My?np8.<3'Pϝǎ{GO ~jtO9 my^?}ve\gA2ٻ'?6ީxz|>ZS{l\|> W)?SfEh~> LI4ONzHq.yd|eOTzjC?Zo\F-]BG:$j:%Y2XR"#C=~ՏuU&X2G;>yͣ8>^x>tg^~P3za@ٿ,q(OdAKʐhgO)Ϧ߲;?睻;o[|yh~k.oWh>'.ٰ_g˿N[&BŸ#ǡğDw '{{qIfcC@g! t@cq4^^~,Zzɡu>oP7=޿Gg YZ7~oZS~4>Grp|y%2o^%XQa|Mu_s?YMo.= @/3W2S:{7 w|BCƗW*Gc'oE438GIto\Yoqy|uGG\33f.̛ʏlK?ӆ_ۣ~2YY;K_V33_]8`Fy+}g0edd߿'@r(\|]-ڴiSB.;0dqL +:Zǒ/O&uhIk<%hIGX22 &u>==u,ВI[LB.ϧ&=P$@t4_tEOZ"@r(\|r9o\qLO.?_8`F̉gױq08|r9O.P>7I.C#LyÞzpC?Ұ}ؖvzVMY=T_TeߊJ*{L CO<6F C(߸f:%+λ_g?E!A??貕K,-W*=w`*QՊ'?ޠ3n_ԩ_jsQ4c_ohaEώ>hŕī U*^Y|-cٚT7}x>wޚ/Ѳ_ok~H \ ;gMO?Qoc喿bh6;V9aۇv< Cv+Ϭ4wOmdzxez@'` h!d]5Ⱥ3>w_Ί${b9Y}uu~4l_ǿCoJeN?ccc]׏-?;U{kks_= l~CwSU%'ͪM`&A%ߨi=%ё/GO:.ްvJ>失Z`t?1 |yƺRi-ߞ7}yw'D4_h?1sV Cy4|yvoyͿkBâR>q(">]rîwDw) g| [=x4kß?0?I-bO!z_?ܽ߿oד^G̏ Ѻ!;ǎ0T:gr>Umpt>s[~a<:^,=dsgML&8zqe+~ o}v/ݴ|lI?{y~/| ?]yT"`m{7 kƱc>-ouΊGjrm\!75y=mRr[_uĝ~0穗<xU+?}g&hzo.ٛo/5gqᨻwv@?U&:im?捧gԹcCՇhýԎ9*za}_kC 76_K㞊'8~PB;wO&-LD((;替W5}k؆GwӸ Fh[ 0ڴyx}d(֋MWwVOn]Vjp]!O+y[vkes曯?o֢:zq}e?9DG#>ZY{^<+| ?SA/O$n_ܳz}lήOO?`hvpR;9|PkB7mbkZ9s9NZߛ~n}!D+&ӵ<#、`^G`*hmKzK4񏼹&mbܗ|_Q4qgeh嵡J%hW\;`RZ,ixgn;m7qW5_yŹ5_ 5Mph{7yU{;wE>S0%LxNrϦMoVw՛/͎םoW~֛?k}ם?>5UnlW'||϶^[?KO~Yﯫ-{0y.(zUDl6^r-uQ dϐ})?ZrGEgk'E/==5g]3QjYxh7L| I6;|xUE'?upS0L{ꩮJ?ͩhFMxWwIzs"\k^|r9O.P}r3r(?5y(\rIF@435rGFF|~gjpgϑ,[0/—ECAz+*IKkYhQz%.n._t˿--{^}T*Z-.m\oB(/{(+VTOOs{7w$wQ>Bf B9%~9]t/HJu{y?- `[ yz{iE+[!8y ״4dW{g`55_ZtyqYВIipx Mڴih0&/|y*[D׭^={D4d̗!gnR8NW|yByK۾=I4ïE %{? V]wPPYD8sԸq'v͐VV 9s.]nux0{||NZKғ]oKEB.+>n(G\rIG5pqeaᅡ5[ Pb{_z+AH{/ԓK^т O#\fIr~Mh^W-o)~hsνǦ?8.OjC95I.p<z|\*K/rf>(֭l1`MellW2=}k;_x~cD͗k 66r/&6pA&ǖ/h^T|7e2_sٱcGlvUA//teׅ<C.~OmH~T}ᇧ+|hϼoCsn߾pWCӕq9Ѽ,(˫*{hLs8_/.߲euΧ)-ZiӦG^ɤ>/o2&14ٛi?ΧJMϑ\@Lf$S9uB69$3՝)--my&3lhUx;wܤͶm¼y2eaHՙÓNBͤ<,CSzK胩1_޹\{Zיٓ+ӢEB<G}t\0&p\y֭۸M('67LƇON<>$d<چnyӿh"ǝ۶yғ8߾ 4QQDdRx*L$L/bSx&ކTyL|]m)]x .Tơ\.=_m;I֋-ĚxM? vɷ3XQ<~%T;塇Uogm3apڵc{ tDn<}Zbcir.[HyI^L_$Q2m&{N>z  U zu֝vipڵu͌X_\sO(6R]-^>y)ҫgxXOqT&ׇ̝̗zq}hVor=i ۤޕ>62pawygz|91}36sfzoaA}zH0_f~_(ߦ_♾߆ (y]wաug>ƻvHT;vJLG{~)Tq|͚5u| Ԥ&Ii&"X/{wI dMlSurk˯`jox3 ϪL7^vmrT ]5IKKgy&=4/?ړ餽`-7#OJDj@֗8_4)}tpfu,͗M/|ۖOqy/{tLg7_bŊz[ cɒ%VX@f z5|  a}ҥ_}ik #&=B(n<Ȅw}òee8_^ˮ < wett Ηŋ˷lYBlqA3ePoFGGCIkF{GvG .«Z d4} T&R78`~XBSwDyG@? |5k9tc9 =9sرwC*#qkiDi-ڴiS/ 5adƠf鐝|%翌ii~&v7p+V(eC\ˉƽMzØ~,~15<@:/\0iׇﵛ7oT˓fI[~t/W, -f33wP<ܹsh":'_x2$yK; n# |;ykBX_t_)W`.S44:I.߱cGh".jڸ^tMh Mai0[N o}׮]]ʭu; v8)'_ #$o^#zqe] y;{YO ~Gh (l0%]ׇܐ45zj\ B!HR!S`g,q3D7a$~k_vs+(o#A/ϋoٲ:N嚮ѹIҿLVֻ23-L“64Gm۶e7l뮻ơ&yL52&35RNp68sn{'yG$?;"ϼҕwDzWai)3_ތpeF#z;O%J_Zo JN4ٛkށPhɒ%VX@fA zB]0} 3wzfRxI/t'k eeAwDyG@ |5k9k&@YlYCL8_~5,I㸼Π){0@#ae`_Ig/*w$[hٲeVM =/_bEakT~teBR7^|;ykBX_t_|'@###V-{ 3B|Gt֫P[b%]re-'IUeqI>'2d{ 7ܽ蝾/¶q4e$忺I}2!'92ړۓo jX[yNP )OӒt"Kr^ԓ̠ƓI9|0xz(نr9}6X/O$@Wt>Xggzx)ɢE6mc8|~I?cy_n}sm |"˫*{hLs͗ѼSxz[Dǃ&G1cǎ2}8V&5!vL܌珝!s,7̗7v]tfLw;~_B9sx(Okr>ϛ7o۶m36W$[>ݝ,F=- )4 XmHq[ƅtM\!ϟ_XmѼ` 4+ΓPH.|4sH{m%<}>l7o7K2eR2h\n.\9jz O3yʉ8`͗Wv . - e$O:3Yֱ$w3'_õk׎1s^ҫ5ks`gl-7)ɋՊۼysxWgʙ6=i5[N o}׮]oz5_~5״>^S2A,/lS$wqqMjO>9i~tMxmM[~FEd4r'G{2-L??6y)|y Cyݺu(øPX٠~|9}3X˿')D>%7ɯ#wHC1=#"ӟ^kNKw.wriw7):*ʲ8YIe i'+V(e&)Y/OVӒ|yrW|  a}ҥ_} Jh|`mDn ԫP[6yR1y7x\ry<._>e鬯/캰4 ¶IL{K,YjŲ2#P^իW=ݏ%^\e8k eeK,NOx3Qj=SiTFϻZlYCl_^O&sG4322R.kmEe2WyK$dsg)0hB(ە+Wrt( 7^|eryI[6YȈ9¾1/8» itږ䲸|E]uUe^5ks`39^hC! e ^kG=x0f岈omHgt j|`ery+Υ r9NOryў@geؘ1UΗwԖ^`Z@KA<3M̙3gǎq!l2\>suK:AwtjѢE6m!aWضaWN=xޙf-sH~-Ido=^lW/t 'p}u)&ǽ/rZP/'3fj ;Lc7~4H> O]o0ϒ)dΜ9!8˜?~\غuk45hOdO@m0)PoH?I'UXmc to[lwz\{kN'z& ]W-Z_}]'dܠ&QX90Sn2 7O58$WS+˓[f~KȠ7oN.\0)g ={ -̏? #š\|nM"rՠ&b+3NUz Bwr[X |6nqί> 1= z<|A?43=6-\y5k׮CpXz7_5Xh5wRoTq 4; ]8Xzqˀ$X}1r\NJפ{N>LMdN什CzdݺuvZ(~v2/8Uғ7fj2ߖtz]իodt\N  Dzy<#{I'4|>SCe؆x]q|yOh[eҦ&>E/M¹4y)!}:^ 6,^8l3 ) &<,m\)w fr9wae6>Dz4Olsґ"uXnݺ[f뮻YPN35Bƅ[;whx'L!鿩̗}!jFۄr&9$kwUج0%zJ.ek<2t6Yak&=:|al_Y_RxhRsy?=09QRNڤw5>^rUs^a @{。}Velڵkg{gy)Iu,Pu(j:=4VrdJa6G/O\|\ˡrW"ȭcBLp^ r9LU7x\#H<._>e FO{W|Z TdɒUV}_,{ 3B_zuX:2W+ ,T`ZaJk eeV;;_6l{$"e˖= /='=R٣C.gdd!`i@.P>'@r(\|r9O._iv%z$ӌ\NkBT*CCCmW^ٸEmڴatS\Nkgyr}IUbX>sr`$ &x/?̚;7U2tj'LƝ${'=0 ӕG ġ|ܗϋCX6;Gjiqa9]6s? ;{&@r9αO_~9evaX8_>Tw7z5nP?i>QNfRUC4COba´rnAVp-Q!Ӛ9E]y&˛ҁUңn@.5q>t_/ҡ-EzP,(Om\ tH.5I~1{5^Smb}a\Lz4~^Mah\Nkҷ-χױtrZsWsrZp%=I.P>'@r(\|r9O.P>'@rgѢE6mjcW|?L.O흱اL(\H@t$^dkOa07=˛-\?'@rZnݺmVZ5::ڟ %Kt7քwfC禛nMarZNO SWZMQ\7pCx݊r9- 噀>usX/被[gTP>syz<3eųt0lNZnnkyC<֥x<_^ 0p|ѳ5 <0:pA< Zzj+CK*?_ǮwW+|}WsyyuN.S V+vB%}e{ I$ Zx.g4sҬ1Ys=/ O&e?*s}0pc{g2e{aRCyVn2X k{3M6Bamv^:r:]ICpqPQgǗ<7^[oK|ƍ- L9nʋ/tjB}g'0: ]Qݹ~\en=qaÆ Hj{~);0}\|xyuC6ć>Rw'>6H* raLMZSGgA|.5W|-s2>^ JehV'Wmv7'%@.E.57tSCNfKR(~Z.O۰o{CQf<}:ju~vu9'rJ622RA̗gk>Q,3L 鴚]ϯ}02X2۩3Y 7ַ旲$1v$,'~6lϽ[gȒ%KVZ/}[w7Nu1Xr9O.P>'- M65ٸɖ͟v}xyr9-vATm/.v6:& S(tveSS\NBNMy2Ntτ)|Hwg.|MO>@r:U)Ӂ)ch3A6!N_+?IxL&&/LCy';p\dE. ޼fr|WC.MQ8[OToq|CtL_Rϑ . k2̈́'\m|`1djϨ3\N z;;^ /!m|r| /̱7mp氭ZN.gF(<8#J!@r(\|r9O.P>'ӂu֕=4njժgp /Y[&3?7tӤmB(ە+WrB}RjrsV4ha(+ƒ~E]uU:\@3).E.SY<$hdsr[u[K=屶.˟ǿ\с0מV.`Rx֛8Uk_9>w_R?vmиZ,%ϫsr9jp^˷FO*Q%w.K7˿ܗgH:'<^ųtA>fը`'NOM q/O?ߓQxrNެަy{7?}cT΃h#5\}d椷m}hI2+˭c`@5^Dz|z|iBxMKZ]ٯ }CG>>]Uߺuk 5J6(dZ]~eyk,ߣB+JeOs{OYRXߛnڴ)B^۸o$5b!ЩJ-'֗㶯}sGP>>[?婿9ߺ&}[7n\hQfqP^xqP<;emhڏ=-ssDn 6lDPSN9%ݬށrˇ>6z=y'>;)ARn ej:?{ sysmC)J( U*CJ|>jٷ=/Wv,r9馛0p2XBa.>W5pry2_߆E.do02;$fױTUkۨٷ=%S d<\gj`w/`jHLlz~>AYǒN\C 7ַ5%Ie#e9sܰaCx:\@G,Yjժ/}KeB(Ͻ[ttƒ|r9O.P>'@r(\|r9O.P>'@r(\|r9O.P>'@hG }F }?+Q2g0Q=QSs_|l'P3LQVkv/dwr(Rx"ƪ+^geb:4kgtPhUV+Ͼ4ddHѼ`.@yYCWP<^|wP4\鿨 U*gh;ӻB":V wUN\r9{8ga|+/2r(2CK+C,S e۳ U;Yt$@Oq<DtyOcոkVgw~,=4k_>Rcvlr9)_{+iR5,hK.E[QNr(kw?ʻ*cʉMt\E~N.>Q.P>bk׮-{3\N:!,r9O.P>'@r(\[jh٣%K>\.`P+W7j5@\7pCj\.`L@|"??{{mw+0dl.~"nz-ugu8_5@2n &|93E~yk~v1?Q(vҭ\kʣ\Xr '$Z'C.` (\boh|K%oݺ5sH#\)0e$8g3… ͛q!]Nlܸ1\.`/e9 M<Iv(g aW\N'xb\?66xu/ ZNmpt>s[:_y49>kӦMq!hѢBe+ԇm|xI'rǷљC>ƿ^|⼸f)aŋ7n? q\HmBMA r!oy/?}{'dͬkO?;h0A "p&|ׯ_v'>]nsw/`I_a/O13_X74}I9W?0͗0L%%|C?{$l}y߉|9_a._|9Qt=6}u\|n4ެli8n0y%uJg>_I2kEB>ǓL Z*|9_syeֱIr9. L t+0q<](e<3H:V.`׮d<Ÿ ̗0[]x/ &;V.` _%ݽb3<.lܸ1 nrڒ%KVZ/L"0ԶtݩB.P>'@r(\|r9O.P>'@r(\|r9O.P>'@r(\|r9O.P>'@r(\|r9O.P>'@r(\|r9O.P>'@r(\|r9O.P>'@r(\|r9O.P>'@r(\|r9O.P>'@r(\|r9O.P>'@r(\|r9O.P>'@r(\|r9O.P>'@r(\|r9O.P>'@r(\|r9O.P>'@r(\|r9O.P>'@r(\|r9O.P>'@r(\|r9O.P>'@r(\|r9O.P>'@r(\|r9O.P>'@r(\|r9O.P>'@r(\|r9O.P>'@r(\|r9O.P>'@r(\|r9O.P>'@r(\|r9O.P>ڻ8;qC^PI! `\)ʥ-rO&R*r)NVq"zK^zDBHmSjE@6@`Hܱ ;? Y3on7Ooֺr .xr .xr .xr .xr .xr .xr .xr .xr .xr .xr .xr .xr .xr .xr .xr .xMMME/yF/O4^+eգ'&&BJ_`rV E/v|ff餭[NOO|ny>}f]NUr"]^,i.S܋(.VgTڤ(ud~gϞV)N+N.?ȯ8+CCCGſXnrA_w*{iM/uu:/獿v9z9/ LX(?Տ,<_~G w9=XTo2Z?=PqO^\/I>4_[o9iqZÿKg/?W_|[<˧uN+[Z]opo *~D\}- `OhپRZuy~\忺:6VNVAڼ9j 2 w&IՁv{*Mt]ciXLο˗A 4PRs#+W Xo\xoMYtr~B~Aϗۋ$ig ͷiɣ˛.iZرi]##p6Gj3U޸k_>88yY囷ܚ^_qVtd6aG##3ώ<G/ X vyj۶;4/#[~>==tB>VQ:MwY{/o|<08vpܕ4(OĉtŰ|Rn /,^J>3 7'wߝdi]\iҝ _Qy~6Q#.Ju(.^s/=w z `z'?̳#ő|<})bE5NAQ~,Sc"ަy Sڙ=!|fy>2`mr{^yïݴ,:BIٱ<iÉs*u/43 i~_w-MC͓66"艴¯Oy6j^]eE*uy~bDzAכ}\3IE/X;*ul(Ϥi^^zkZIreGy3I=S޷C+?˿D!`9{>Iv?-y˴4`M僃7>˽XmNw<$NNUxTϗU}yw333*w^pͨu@ji/Of_,.g>8[;~6j5ПV|9|߿?z׮5@?CE`EǰIENDB`PK9-Pictures/2000000700005F5A00003205D8F8E95D.svm|y8a0 eBb1R=%3cd d -S Eʒe.[% g9q;\R{}~^6Ԡ@T/u+F  |E|ww '(K*ZZ4=ak>|BBBy:=xo뙚IּB>y}C$>3u^sakS<~BȣPW ZiFl"- ڣc/4d"*\NE`O2ol1m 1ֽ*hM1;8J|ݓ?xDUj5a9l!~,P#b`>kţy0C kosĀ'E(Oe`HboDk;RIm<5_U`X GņD ) tY" sUPqį Pr)0}*ɓ0N}C/P#G~u `+C= LOwjkR$?if}+WyaJg2Uu<_?<ߝ`b|{:*Zq?4joH2=ĕiA575$~~)qonuVs"<`wcaAE姦f>ěeg+aߎG6@yl.5^{!J"?%ď" MvФF"]rӺ*!9牄Vj2TxCbRˋO##3sq/IX]HVd1vYGrd]dd0@Z8CZ &m NZ$=Q)3(Pٛlt.ga;Fo?\>\aԿ5ll7F bS V5Pk䔟D'*y}k(N*˭vq*,w`2s >>3.Mx_bW%\ 5rxp,#pJECXq5$Jz{MKMr*=!FJsޘz _yI:OODDA1b kh:*wn@'m}՝0ͷ|]LR `yBPJ"3Ra1M3LKD+J3z.W}>P&EVe\vӹ:9eSCG?o,Ih,5vR$Q@TYB)c*ڬOnf9T` u(T-eK TeRAip@REa[y@,*M5(֧j^!' $A>uݗ ;LR! MyU,:ӹV[3CRYNl"V(2E@4%~0ϟ,kJt \zx6 1@}=#)iumݩj(:s< pxUZ3M]5\tHHL:H~;cӤ)qwc>ip( $|`YAZYY!abV3?޽{ÇS/eVp}!Y;{qwS3þx-b(|dH7RDcb:ޑ pDtePf*Pה6"47ʌzvޝQB'$#ْxO\Fe $EK0Y:~$b B:E״vg#L4ٍkscUW%hE1"#%n% -65'W*wbhTmLv/_y;hPm7XtJ%>%'_:"nj!jҏ(ukMѓt78gff(JNe`ړ-yɫVCsJp;FK(_vMQmѥyBKV|y|TG-m}WA9{_ )Xe/7 @8-# [AvOx9(-??9%3:~mUMo:Ec H ЌJ0ShO j үP1UqX3"[fsY *K{ mhf >xh'cmsc HVMJR3۹vP1:2YHhєaL^@j{=b4c)֥hM,|7D)[^DCtb"_Bd%.pw}BQ?oD:3H4QZt)rl+)f|^'[{,XF@\dx, Z<ok" :n0 s\ ְ$ sU9wf-ȥ֤PYPk(^dؚ7Ѩpk@ `jj6dFhyu~|YK,OX/|]j NOZ](f_Q' 3EK|ky Dn X_yQSƹȚzXDo$*7N}5k/ѓ'Gٚ1Ӏ70R4RǴ+_פ0^UfrNI$k3KHB$E>t9T}˙hW"FȏGP[y(Tߖ8?e9c0ʁ߫i("qAq6G*Qj(>WgoJD; yQk>nrr nsTE aI"@Ǚ{݃u UF<;p3!V'H]gBk"rMu53cSlR>oȻ,ōUl'~Lxwi/C[r[ tݎ]9nH7Iqnb쫌F q[R-ꩴ55{Fj'I޽]?r\j cu:M<2(dvv48S>.pY g¼rճϊu-nɵj/LY>|a1P0${-ų(Gcw^~.Bݸqt2-֖Z ]$r5,0:qwL]?SIc^W4 ȢP˙x;Ҵ=34dں7CvK+R480 ;jqórR$Y3hljr0aOy*\Ӳ}UP (GYB/0:`]W9 ˀwQWObҁf_w8=*S4`Zs{/f[f<. ͻE~\'ypiŗ* ri*H߯VG]!'b0Pfu'6i#ը`lԦ(״epv~k b|֙oPܧP;`I"u}ߧuG\cA25׏F[rو=oյtkOY\x4௕w8SH\rCW>#:DP҉#G ~S ,FFǺtWh%qPcEfmLxgs(C=Tg?)^ p1j̦S F Y a 8ؿS`r D,z\5e!%+e JJXJscxgfJ7K]!:d&_c eX脳j^UAq ZVa1?6uǕڪ^}f"3XТ.Y:o+D."Ux o} % _?4muHԱr h9OO45*<⿴ "T[O2 fpD_ȫbɮX()O-q?o5ض `V`>ەiȉO|!3>}*q$s;zX,LQt-/1s;(%OE@b޹U}ׯciQE*$KQ F-@Z c11'n^=T7g :!lAG#Tix@̓-w $T<=Z_{˸׃zw;)R]1.e~`f4jo(ÖEQ}sPn!it+q-y@RBUowlη:T)3K6 rCwж,+Pj/xW=^QCY2%?ZqNeXUay/7XB(|El,2صOC1 [UnQwgٓcf& z}("= cS-(p?'`1H,p2b_%$ =e[:]7=w*Nw!YˉH\{>w;r[Q1}VD\H$X/U3MMy\q.]9W6^4^cw-Gv0yx m.\?a&?Jq:F-鎄}ՠ s=cg9sJ;v^,Nvؗ<]>bU]Z_>%ngm+ģdt@K,,4EUGޒ(Ϻ3%+ ǴW;1ӻi[9V>Ri'^ETO3{! D!(n/*E*IO$^AZhFvbxu;/ wj`5ʫYܗEHbe1j=\7sb 4&DQED*f RDX?O-VWE 0<>!8 >`s: q[_oޚQCk;_I Ҏqrdѡy&zJx< gƨ9ԧ|$̊~:rkTLr6{y-NZ'y{:AgɎg*wy`Y_F!.3G(\;{EžB*MW״aL< Og'r+d[E ψڪ!3md|3D}e-yN$>GWLlhSW5ܜVV^~돛4uSfƥȇ@-9L3w63< $O3r45z@7zIBcgVM{?v(z` ȫӛ b ٳNGUٟ5X ;w:%G;r?x|E=f ip,:pA*Kޑ:(Fuǚ g?g)q Mv>?~r{.Bh3;'J[> b4Wr\9*ߦy`wvG6WF055jņ>ֽeRfPwɬ۵li ʑ` j p,"~y6ÝGap?&OЊ'ZOkBݸ7d<ն5qg76.Ա T*_jx(X0` P [~Р4..~Us+R|p0\׺R`{;"O{׆ˈD-\/K"eéߡf+@O@k}ofN2πA -Nne555֐&6^#-khszܼݧ""hw ~J!Y>a\O -cJ'RkO1]v;>1nRt/`X? |?:ZDESuWPrlbZ:dw8ֱh:Tt_#e0y Ō{DmbCĠVln-'ư`#LxD6Ż>YSq z^/QfZ;=hlḊtDGn| c9}g2r_yNm 1 xw< ATFx}H0uFf)1a!Dm[,) D&KgLtws&áK4+.ċgO*e_;DhDEI!K-PK/aLDc#WwЋX:膗H! z5 q۬>F6f;015N,)s/̇h#z=O`zzϘXg}.2 ߓenEI}p!J$pl¼̇B&DwיTp+yT-{o(͢[SP .7"kͯZpwUIᨆH$`/?7Z]& +s0yجcوEXE7en7y_yϐγ;.g:a6ֿpZWo}YD&@e23uZbCG *]8қwH$ t+b q d؍V0b="Y|) qKn̉gRw%.m*j2U, v2}{kO5>Do'ġyoߦ _AW9aZm7 "k47`"~5_WQ|S.GGЋNpJ!5t|[5fwPrNi{r=1bŠ@Y%MU=лO׳X[_0{炿ǭųzF 3\ت (Us* @d@#Hڙ>B9u>8aE1eJc0$}=cARn3<)^J9~[`#7'>*:x. _=hfC>lyI2. \޸{RXV%Ww5&'֎$s'.'¹XÙi ˖wpB݈j-Sb9zfx vc-9n |ZyrJO{q%cr}]*lS_v a^nycPJM=𞦵kUj#uCk5q3{U'IEiYRQF*hԙw]Y|껭 ZZѣkTsɻoB<=oV@Qd?5l#=u͂&L~aA 7q+FjMjX!& ^F_VC0@R9RvvZ;;E~'FzdQ_>=B_eݼ(<[x3tʫ=Kw챬եf*"wS-dY\0I-ifHdam,<'3:L-Q ]^JWc2_Z >!&\(SX[/{NIG3:E%&mW ٷ=皝|\Jk/ܺ"d[|lv7?H%!nr r5M_g j 2f;xR^4"-"}CnZG6UJAL6a`;3.d %L>8 0q?m ym&yLaNޤ2yB% o큰QHYS/(u rqKFz|Uo/~9"$^f1 >>ѣWQj Ԕ>W5~tv?"(`Ts,R-L ƌqE%:w\hWEmų;m Y:ِu 8a 3H!JZW%t+$Qw$1VUNv3cg{Z<(qm]Zv'_3SC>4*\\^yxx1 h |S1P~] n |GFn'nD3.Ga`lTu{-BnOGP0LXC `J`T^՟`l s̞HClyG4독 95^zt%T௯9$ߺR926Ƭ![##m1KuX,Z$Zt[^I}%OJ$(%:W0q'o]@G@ޜ-we>P|'O b\ڜy7 6l<<>Ba\bi_A$ض=+?ó8=Ԕ6Vxy=Q< =toB1^ad&ʎ*lϯ0C!G$WF*H\X7@ qN;>fh^; %ןG$6J9]wvQnٽ!l*JrOHTWW*O+yَS*jy&l1h@Rdj WOlwZ< ЅrblauKMx}j^%SV:Ⳗ]RFbB|9L nX( ]&9?9Q:膉/,ml)#o.G0u L&k؝]VM~%~Xiq/-@bO*~Ͼ^~\UwzQ(W^5<{?T0qoY*8N?N~ke5uosEҽ[/ >'xKYD*68arZ_ x}wc`Hd(l4M:34850_dڱD PRe-wʿWY27YޢX| }K&芶@[_[2(PnndD5.|Ij;3{t*Ko) __lڔ +4K%,B %@h<<u*@D-6:ƿUzROɥ:g.BWmAx p<1'uF g&'\NI9ZOEө(}x6Ki lԬ^tEOI3ݽ2fn܄N;ɷi5d~T!QY$`$7>/թ~gfWheK*hS2GSM=yRMܳ~dy;~rlQ.7B#MVM`g%zj aC _Xp l v* fYZ84',_V}PY4ZCiX-4ѳ uZ0/nkjh\`W$SP'l:few29ݤ+coW]huJ}fK#,N@9jM!V,f=K0"* r$TZi} OK;9qZ~Oy~j]Hͽh|.ʄ)woOCI[[>Q7Qv1lLvkȖ[ EA$l]M~En|!-7B[]_؋)yP\ET.&B>6T،o%aUa?!FA7㵿_qY:>~a_z:g iL1;?6[L1ѿ[^j?0At9Ĕ?HIgh:)xCW\Lj@=JzLmxm_#}#ܫ7A倳 "o~p}BpL>Zq[_ab2pǝLLVzIY&r]{dRWQw"+tt:@wLt HZ#d9[O2(gB=$+W=/G'x*%meu>#G.(^#lr}$8X<8ɚ zV.2h >#H֮RɁ04^ڃ8i֌4֏5, mN )DZ.0zǀNs6r#{M/r8} bKLPFMՄ 1%8߽j)S8-AV#d=E]|St?:<:+L:~`U397U9Ŭś_ )W {Xk;"׳ZDJKMTi-;XO!41cwzuܞ^mi6^ufbR_@4=аt{_HrK`J=m lC<ȳrJ~j>Ht*DNC>->V~|ߴ򐅌`Zjom;sM󫖖rWcAGm| H[h nHǧ՜ah:!wՊ@Qd!dupIs#m~:ɏ.7X|Zo7HJ*N[J I8ˢ4Gl?i0< Aq *gX})cxvb0zWO-&}ݸF*vE3,g7 ϐr/=EqNIJl,(,sn*sOp'"H):6az)Scృѡ//`8S?ohx- ;ÕdU4.[ _M_`*P3@&ZB__uRE k&vx/ /{d)W\s[Ey0u)RfSaX0M>w\JMKj58|/6+2QͥHFNPČd@wVoz);F>X aaE K:dM7ǀ:aYzXP5t:|0Ofچ+7E6WTwf ݻc$1ǧ#j^"hzdl6)^bŶPc0!GmD>>`u1h™y87B8upb8gLgyf|NWj`hP`~Y251moqxvBh_"h~Oy_wqsz.{9A@{^se{|ACk|Ak΍A>=A_{= .{śA~eû $T G#; RHP_4W\\f$"6C kV6Lo 4=^f֓;8"q0&Ѳ0 }R/j\o55Vy]"Fk℞ @g|3axbln|pJje%nw2bRj}ƺ<=;"_wGJn=2VYrz#;fz%ĶeQaGW^jsn_gwV٧[AOd6~g6;fm%.h}]`>+=ъs/T ˧]PmRbܽ ^V&oҖYY h0P)fЩ8v>)7NB|sS3Cڊ9{&Sͩ_z uBb|$Z/H+L-3Vވ_"Y)7#D)a9 (t*z;JfNJ(w|MR'2GxV ڰyb  R2qqgtQok+Iw[GkeǾR"g\P17`B钍Dҏ3>후b:7V&&*uz'&Uq^Ǿ0]%&pi^_MNr× ԷB,c({(V~4p T|–jW`e3bI3~j tYD@I:[NF}~W0uZl}_Cyy>+Tέ7V4 |d=5\2Wf'߬+|st 9; -,<5{~ۿr/ngOa>gL4[3zCܯ d[3uΥ  sϨ(0pLߋ^1.7Wc[87?WY lH{r^OU',JB#Z 'xoje6Nef`0xp}mŻilo\m9y̬P.'[ '%~)O̷XB`쉃36;\:UTCS̱zv7ŦFfέ8'+90p&|& j?Ȫe?IѾ XK/0]>+vQǎIf5b <μq#e5X~OoզlH{xM,'*1-|!b?N߽_+70>U'>lg98YXu'Jw-G:aݢ!GXM29h_bŵ=(4$4Vھagpv==j[X1K}ȖqM l)f13mgɖr8 2䜟{tC/&̒?͟k<1ɅaaAaL>b/MrtݵrqK [D{#Rͳ<5. +}š;Fq\pEn~;_vԣoboRf0!-vsįs>llܴXDV0):;ߌ5HEi'\HH3nw-W+mj9cX ;?8l7_bY m6@9ѩsq_YlJǿ|^-G2ם{ [zk\3^K赦}# =oSfanpuљav=-< ƫF^y0m M[U/0Li>"ݴ|x_l#Du2wMwm_ۚt/Щ(_XQre^>܅}WO9cǰ\@?O?V.Dpė? <㒛˴Rf\N:/>{s5_mr9/E.cͿ\wݗO=w(@gww<?/=n\v`GeEC~fN#vg2WqЖ5Z_i χS/~쾨ew^V\N/v4iqy9PGrO<Ug7!VvoJhj\9s }/5\K}Qd } =Z=~v[nS+[{r{Umﰟj|u?[^?ܾ^x0s]*W2ϭ}h~u_ 5ÎÂxȑjJݾ}u{\e[s7jvu *Br7{6cЦXFuK>ujc|T%>}L*\ϭy{7}zP>vf.{g}ltnOh,WDe/Bstǣ}G>Oзo\6 g4?[en7ߪ|[c住_)o7߶Ňo#g_YgrMA_xVULEsz2XZI8:tnǎh?.&ʒ{ӿ{bVvРy=ܞsˈk50Y1\чm 4F2C/mmn|r3X!s Z=XnOh S[G\ߦȒ?K.ʕG~;ˇo+ @Bi~RKo3+jj<'TP>͹H{\%Gs5^ssxzi?zgdF"˿ЬZ2Gmݛep|"7Fyr9›hn!T~_&M4menw|~KŒwzܞ vK6qCe~s{[kuY١Cs-+;x#G^^T0=S\XpuM?&[%}'_{0#jyK?θ]_Sp;=\?iڥ>'m,Gʕ}OMym/,xԫ׷Zi3EyVEͿywx۰0BL+xO]<Sgg?roݩt:3lXݑ#)Cξ=a9jZKOas3}WIo" >SY/Lb9y@h9R~ۗk#]œ{/ZAeitC'+:4tJe#Go:vlֻx, a/e+-&]׈"'_ ȝV^1&Va~9`0\G.# ԖG 64u/ ?x=D֘c"W^;Yfc\fgQ~ۻ٬ӌoU2oiT+:u2_+nKroe뼻Cс1HE%2YRCw/oX/{EV۾헪>\Cj (NkY!#RV~x^{@EDz]dYCoByN|&ōݞ7KּmS7=<` {jSyKRoymj1f5~ۮ+u6F }Ʌ[dyosYڵ{簁%U B.XΞug85㮗d4+;?lOCd-7?'W]6u>/|XV*yMTyg@ګga$\i奅}zI|Y+zN9 +.`+幧ըwJ <>7Ӳ'꧝~պI{H=q;J/@1kˊo/.ثt\dkL\s b ~^Ď$C~n01_uчg̫Ǎߊ)W+{N恣GW+oĽ OdzCtgSsөT>&|SWDǔiGsP. ;?~݆~>fxnBy Ç :{ u?7u yϙ~g]<1_^/A\>kXK;7&}x=N=%{dYu 뿾+ wo\~j~Z:4^*1;ŷgY!twoW*?宿<]h[SeWо??1{~2J:E^nU[ҧkgu;_Ξ{vgj[\3uʄ;c]"sK-<;!1vψ$w|NこpN+Cc~+g͘qܪفK?|{ t.y[gSu~3O-/Z/gO%:EqQc{@E_.S~ݣS<(ֽ>D=K31w@Y"CyceOޤ wŧ| W\qņ \ve6ʫȥ,yW"tuoÙP_3`#7֟z5dhmą3r}j@\cxqLgm]6g e)q'h/W}d]2#65Y1_G;?yG)֦.HO /]/çc\{@Bݵi3Gyegn};6~Gh)kċ[e<{ɻ:vfXO='.]*S\.ģ/~C'UD: ;3%a==߼}m?;~lêW~ ̾/˯!k?*%fl^{od ?xy/ b8P8_$#ĥOhؘ 2$5$bߢˊ!+Pϑxf֌Yx1˿?|<<&Ο\GjGlR{ ݯjVLi88A߉wjP ?x0݌91&v (\)}. m~9r yr^|ѢEeZڷpBիM ry_6ӽ@޹ܝQ.1cF%{o i]{to~~O-{[q466͙|k}KLڵϲl6VR2d(7x˗['Cy~v54n 6W;(̀goI $<--|K/? *@vBB?{Ds}9}٢`=zV約y7~S5P|/ǫPkkvI{ \hݱ0Z[[CFs>rɃQ555uttՙ*0wܸZ+<^.C2*➇&~=#g2 uE ~84Ƃ Nc,8 d(+Vd]D~DƆP3}j]-׭['OE\ѼxyB,(]hc,84Ƃ Nc,8futtxrG@z.Ov@7oʕ+KxyB-)EߞCy-}1d^_PD#Un/m<ƾE~y~N俰K8>RDq\%PM~!N+ӷkϼ_"/n܊eܗg`gyΝ;Kt/QՄH?#z˰Jp:dwOρ GeZ7O~8EΞ^POՂR ++u@I 7Uܫ2RwZμ;ۑ|=,5RU67y7{lK]%-wǏ;vu;[6?˼ ˑLdhm"9<)J?돌p=q~T뻷Ϟxl+F; ynRK"^+yiY3o`ojȶ S`)Fn7Wkw _u1j j}-" _&r IBΞNMœ˾%&>4a 7?Lj{_16[ܧuu,=vNK˶Tmt.wK|d#^ 俌%rVq&cDTvJo\ɓ'rE(Nӎ%eEj'X\hV.w],_n e"E,VϨq,r<og7./lK+<}VԳ/0iN  $zUFj0'H>fϼ$(^'|Sf=[T˺oٲ^:u_ \.C ~O=2K̰қGěð&3ƽLא!#='C2*➇&-6/ҦYYɸql~CmrwtK%ccYcܑ]yj=}.Xb Q/u/%Ž{ƻvw#Cj2f444w}sqOeӹ>=KGrKK<q<[P^I5Now˂[fT u#R&+sF(s9< [q+HsmjjMw0婈5x\Ǿ=ݠ0[c}+XqEe`Qv1E^׈gWz6^ddJ|u(WW{m`x9c}_oJכ㧂_;}ٱ?/P۸uk_2!|~]x>k ם{GUUh<˗/,[;2;f"x}uE!'y}%J~yTC;'70{Ҥkϟ_"BmCKUs%`(rT s`͂* vV?S׬`+ !_)OyqhO: C\X""z~cg{Һu䩈+'qMM.ooHVEߦqPkN})qޣ0-!䡕ލ s&CFt,) sҪEj* z I0a vcuttxrG@z.WyV\^fP<lUkJkZ 9l1^;"{i b::96IeT=zOo)gT~%e嗹Y~#= 3yry"U#~*FTa6 y@Usrr1GC6dϠ$=˪/W+~RyS3/ֶzjӽf6`\,KVdbˍ[V*@./f77NxYS>O.;eʔ)V2 h~<8'On<@v.WZbK_ [mciͦOUOT4_~}84Ƃ Nc,8 ֭wf~~~ؽaǏoر#[6?˜r_iLzg̀uwhh-\Rx[K;32Nc,84Ƃ NcbFo?pWf3gUw1^.rq.[h^{V@Cz,X ~&k_o ~Hex3=)}̽*:ca[D%?R. TAr,?yƬW-/7@ug{Ixŋh2 җ!<ʺGQ=G Qoxw>LGvTy,xy|Af3^}5\!cQRS@ͿNb< XFy{ _a|VXo 'cN޹\drY gJ?fJJĜwK>>=^^sǤ7^uSb}s $WfH;<2I,[_d<9~ۍZ T1_rGT:"6k_Kxy4FB+O$.Q/6 c`͢[UVio|c U><T!u<K:dW=-x{/SGN=⳺?SEe+qq ߣ*_~iFBVϐ'?|^(x~%ERuôVz~Kqcq,k,;0ޯo˃Y5<E+8dF7544w}sqOeӹ>=KGrKK<qQHN&nKԤjyr*`ܹMMMw}&C<qV;= 3@T1Q(3^~ߴ<(mmmW6 %7nyfPq{G$SLYj^-I/_fM;1^' Nc,84Ƃӈrў0o}k,w̸84Ƃ Nc,8dJx9ڢEi0mm7ۙ6c$i,1Xpci,}KSQ_r;}kPED5<^nq{'T:7+9ѹb Hdcƅs` ݻv`9RSYSQ+Hv/Z 1rv<_~@/ ~r s<۞.8Wm[,K=O%kʊ7q(3X\ff< ՐTz{Qq)GurRJF{C9J@"§RkwL)Wܳ%b_<7)R[{GjFr@\6q] j}Lf]]V[L(\&ĸ//_nvLYѠZQO÷=ݛ7LK77Z1>9Qxyi ? owGwǕ|F FX2:?>7|cχE8zfWxȧsՈ߲ua1)\zԳ~p51Axb9:^}=osSFfoz_|Mkg^yp5lub(r&d W^dRY? ~#g!+?S Wx@?Ι>jX7dcM y9F* ^0^% zw~^ţ^μtdȉq4o>⌣Ak>,ٺu r:'OkYCG#u27yg=3S~{xe C汸gqxG?ULu~ȱYo{wo?l<ı{JatO\q?l~' '7nyfP9v "`S?EY"EoKbק@bJ$urs.iekD:m)ba F{dG-[Ncc4uTYnry׬YS q:=:;v'/9ݕz]]CF IYH]Ƀl=8glwy\ϒCO =aP[[իM$ZTe:';ih#OO:|~ZY_Ess_\Q%zG}:g_B_Ex9̚2eʪUbijI+Nc,84Ƃ Nqs\8\W^~ǷoOY+_??.⍹Q;LwF_>MeXpci1$pcqOhkZ?^&,ݗ%K˺Z\LO3~\n۰Tx=˙| c\C#6ߒoaI%2ϟ?ڵ@2厨y?jW"w#k܅˖- =:rjrUy#O0R4n?Unw@HsmjjMw0婈dݿ\vvTô;X;;Zx(YyJr̓%vȝ(Ō/c{vLqU0 c2:`P旻/t8Ke>4/ WvzEkjj0 ê~,7nyfP=ƅrP.+VȺI 'OPZn<qErY&zgʥƾ3 厀^3\>SEy\2e\}'jUp(\;cK*xfqUEIjkF{Ru/j˯x|߈uu⥳hꔝO2.ܝOU׀\&ĸr/wreٲEDx?pOb!].>'?u3NJ#GdMŏ?uꬬcyrcχES(M2rO#y,C({ytſIC:4eÇ 7#2=s0,}v"3cfy,%r5!P< _wA7~xJ 1ȉ棧8!nu={-wݶmۄ rĉjzVuG#6+v5ՑՐyg%qcǹov:JB `y>7_<۷\r훧;.5~PWWwu4h8V~O|EsC5]?qS~ \qbWbs'@xzK? #5dCxzfJ urBA}jE.z)W' YXRĀ;N{\"+p?:rƍ}T=bXԊ% [8z<ӿ_e_gwY<7AeLϽmX)YL-8xrߏ7L?c8j/W Ze;j\^]{5LZ{}ŧ<Dzr#}' 544w}sqOeӹ>=KGrKK<q\hΝtwa2SWkrDcB.#yrDaq?$C\X""핚a߰ J֭"hN.@4k|h>o޼+WƵr9" 5rǐy{! 2,.].…?^Jw֥CTriY\#Ǐ4n-q5^#+ܕe.78q{I.yYO󐺎?w'Nom^;"/},?<|F|溗2˒?~~x6k0`gyΝ;K9(?zs^(;7v|Gώ5O=#9;myۡéδ8uة=m?^߱cgXdzS/y$rQ-dg> 1Mh;)Ly-= }&Lؾ}2Aw,g "xKZ_ׯ_ůgm~y7y7*L;쉡]~6'Nm6^T|V=uz\-C{f2yHrD,xr4y=g4.9^z^qxy+86=w! 'Mޮ%j%_('үXGi\}u\G^ǶK9;?_?7+rQ2ydG֭[wRCN! y,p}@Ґ3:pM߳ ߱kF"\\r%@A.#yrÌ:FMxoC8_;5{w!7t 3v*YJ8Srخc"O.GP9^_ulwIpV =sfvkϧ@Qc^h?g3Z~فO?ur9r򐃲2{0`2M70$PKR:U"?T]/^9 +S^@aƎ)krr\G.##gӦMЧ!fΜi }0\G.#yrO/(rxӤ5D:gIP^6ˉ @)(K5gk@YQ z4ׇٞjs}%-xV.8﷉Hvpol޻:,r9"pҀYY_|!Mې,1P6mΜ93c Y/,.Yz6G`"#7=l"}kBq7r9 3gS5@\} ]q}=_ܮVpf@ a=7 Ӣ7ڱHC.NG(Bl*jaܱ}0\xc0T0\G.#yrrVncVv:<; 7y@OnT,.;*gsyy'R?sZ;v0ezg3^J̎9ܱ;I v4nw7< @@@U-4Eo?p G#M6~&S0HV|9ZؾQ p,2%s n-x){&q;:~r9PnO4WsZ3t}?6'NܶmZ8j==\ Gi$bWS^oCPN.ClϬ,Gq@ / |ЀQM۵i-±sfzuV"ôZKw/ 'Ou~h̹e}!mVRS*Ya+ݠ߳~K x"I tYg}+C{Er+Q=oY~ֱlmm+2˥ZWKw#z'˅\~M YQoܫݯ~ۻg0 w)q;{]ryJ>Dء<7Z.r-w r-[ұ*S:%<0@I I iOqϦNtv?;qY8",q?+ij~H.pҁJnW 'jITdצg獗=ܻORo777\xV g5GC%\eڒ>myϔBJ*eY#%߸ p_YJrMwT <{% K}bep x t@5qۉwK&//lQ^mmm=^~|ԑQ+r$Riؚ+>O$ccY3ܑ%f\444w}sqOeӹ>=?GlKK< E7K.@ Νtw12˓PrģT r9`V^… G.G-ɥpҥMcc\ f/%r9#: (=RW%R7dT9!<{[]##g(Wտ>t{=85DFjl5\ *ۣ*ߺWuݑQ!jϰVkuu٦cX<܋^'}6ܿx~]9^PuB]9 *3zQ"{-%]35\ʳc_|jw ATLo?-_PJYCZΪ3%WX ǐ4HLr+ֺ]*6{iB^%@(ԶDWK ]h+dVK`iõsV&I@]33wsg?/33|?gg?9Ξ9|ouԷlF}zΚh #vD4|]~Io^3r۷0&W@d7!#D$_>;0C=_[Jn?s.ЗDrcww8Dd=>Z=;ȣRqcZ{d{L{e]@Pr=e/q\D^{b]}=yLˋl H=__\cP} ![lF(ڰaC%4^۶mƟ(\[Ȉ~ݲeK5… ],ʹJrB>w^KLiPe(7o/0dq/7ggB{"ph,r9BdW2oSN=ٍPfe򮾄Þh=K>|# U%2|5; njy`Б"CM_{/+Cy=59EFAȻF!{;~+Y(gnL- r/-!F.G '?믉P>2Һ<?[byUrrMyt;"Py.h~|yHj' ,/\)| r9BD>EϿძn 3}[k^or?]@.G'_9_nd%5zDюwFsVcaB.G߳_kMtF}׷Qn}#+^q!ǖۡ?hr9Bld>eL@}aÆKh r9P=r9P=r9P=r9P=r9P=r9P=r90v9>>^u4::zꪫ r90lD(zk"tuvǎ!Rˁa3>>~-hQmW]2x[zW]`QG .T>532#&g}~i(}n鼔JC\2q&Й5F3v箪SpL8㌧~:fdg~'sݷh}^9_i+8< =9zaURxȑtk;s,cmOLK}DHFE.ŶlquCͯ'28]>bl<8G*ͮwƕq>Yq%h3gPܾ/VU:E'wY_ꮼ* ryx؀/Y$)˙/#˷cD o|Hh2 g>|lIc "EL2_u,F_AoTRz7g -{mO#"#x'h8ߪ?uXPDXލ;HŔVPY\ywѢEؘT-K.rعFPꮾ1]9Ѣ1t%ȨIeq\G.G[!-Gsl l WUꔘ'l5_.Gnw^֓'ʽĶ0A‡0ʰ#c:eKjjU"W\G.@ݻwIW"0Yz^m@ QX \素\*霿+G.7I#72z5!}ኞ' r90lV^s;B0IrT]`ˁ!D`9L.яJZjSS-?{ge\h=ls3t;mw}գ/x䑬LBsmM͗owSF:*sGN[7M&ow\DpMtgc:<:mў^sr';#E."LxNVdV>8uf.'}VO')FGG{}r9P=r9P=r9&޽\dŊUtrzrzrzrzrzrzrzrzrzrzrzr ;wW] Wν;Frq{뭷v-]mHQvǎќ\3>> F@;۫n=,'{ՔQdXr9v?\#7̋ K.ҷu,F('}Xb/'DǾ?j.whXT('h._fj;>e"tvc!%+/.gΜ97xGUIw?pu.>y'͈z&q\-7jD@Gwhc h.>nw!n׬Y׭[םA.ܹsO<>m!`ء\ܕ+U伸H=,6 {K`Lo>|Xn}KEΈ\drI)|wOn+s\b/y=En[GDr9HjC_bc2[.ZUvCd_xؘļ0;wϟ/7PeGh~Wh. &dF0=#N.@ٹ\urF|9r//^xat}s0xPd_KCjQm߾}λbC?l2_sne.?z٘L1ژg\_.652"ӟ׳.7򬇶?r43¿GE;_D{zێ̗\dӛ%ca n8>rUMp;\RshDF2.C;Y_qΑYwgK9(Ƿܹr4}7QE/ؿ(,r իWܹsU2墰ܻ0x$z"#########7Wt-@jڵUs7O1@|֭ԁ)6,XPu H1#mΗ)goԖ۝P3ւ y,Ι 7}>q;9)[.OBۿ2mu29KOu,WfrU> M\|]/NH9wa>v~)4O4EGF |fΗ''g{3_;zVvvvw ||֙3!rd1Q#C/ ("S.WXחt[+#o5H`|}R~a yGriЧ%q.IH{Q!3y9_1I4l,b/W%+WcԼu`]xSSR;P|:,C.ח̜/ח]_GwWݘXRra/WǢ⺜ /m^Gnݍ)Hp;o} ؘ5ql͠rwL2N䵿$:+8ʐ[?{ǵs|VΑ~:^f@|۶m ֭[rbZI҂ËsS 6nEg%$cg. *YsyS #Gt:n'&&[{Gry1o|P>(?gݿjOr9]tXdX3<o~@F^z~wҥ{ '? j* .ؽ{ory^r]v9o>jT{$|Py|_ۅ\oߣIbsc÷!'TM\ׇ9l` ߔ7]!r6H# r'@Dr#wbN.NzVշZց_}}],hE'=:迴\nrg 7~9ÍNc͹S޵gk8}_ }=}eW2yƣuR_ƋYdM~9 _|D06Rjpk7u}/cpƉ-0rFHэ}82`_ _c &/O Pvw>z:w:$ZCye :)8Qe~q\8nM>^4,_!&,hF;^wD{vy֑5f/h֫:N!KY@MxgT{~yH%71*>۽t .o=sF؂gڻ/F̹֙~ g{Y=}3%?#K)LGzA2g>%rJ϶|^W~4淣>\|'ۻ+y#W4eՔ|m^c5IHUzRFs= gNw@~?u0EfK\w0Ϫ& uChI/o3PJ^iyfEǷޠWE#2;(K/\d(/ 0nߏ;?l@7 R#{8] 9NI=bgcq*r:\Ƙ/"g}T[||Ef~spJz#usֽRO-9j-U 9j|}rۻOv}|vy;F̗^Roɗ~'b:Zt5+GbԣCnϩ<\| 'lL9Fӌ9.E/`? @u,[XdcԘhgro.c[r\O3ZI]y.d*JK=jfjLO{#9l%89ފ>ȚS_#JFy81(ʁyݕ/>$ۿ/+!Yק& 殺:ԡ+Ν#whs`ν?O9&Q.@:qVk/^{=Wly+^i;w\5WΩ@4*?/whɒs@EϽ^/חw^_ISח5bIf7{YO\:Xl)J=F"c$߻cEMr^CߚDc}`;f]{*9]A"T^%*7.}_G{Λ)XИq~S=܆1GeO3z# gT(289sG/"y G;%xԯGy#j5c3JѣFSz(湳 08`ضi7!q}O! _@=N9Ɖ'.GaG&eZ+c>LWӈD/lP1w"]W&@ዖj sYl1ݜ}R[VwP؍/"{[d45dL1g)81'.u"GI+&9Pkظƕ)P8grT҇/d^ٿ3D݈豕";\D̲TBcLUWOX)Ֆuh8/g0W>g\`iꅑژ)Yk#5󶷽-]r k%6LLr3L%>s^{ֳwJV: e}EW#ktȑNӝ6Ą~k\z30SQ"n^skR֡֐U3y?UyiQA#ϡY*K(6-2/ Z0\U^h, scRVu:p.>E_ ǹ$ǿW[VJL 3z^9^W~81M?V>hS+w~_U%F_51^0q! d7_cR2Rw3_O.FU1$_jÃRgֲ}bv4f_s\"_)ԟouO=DgqcUsy)]f@tO%@cZYj߽{ory1os|P%r9P~xŊX'=o{ҥbcr\޽{痧$#kvuoj$֜ȫW+D+BCK<|(c>bJ_ rızK}x7 $zl]{֟K?`]]dڍ|%0$nB1u(U5alE({GzYd)N0p.Gq'{*ƋHAc^Ñ 4;~=:yVR$<˞=ˁ+Y(W, @^4^?|:$ s^/ZW[dpȣ\2GKwPߕ1joaiob}PRY sYl1ݜ}TKצ={8*lܸ1\^daCNSmnIb7;{ >L'h5tRQdՎ/,QWa׃}$Vbӟ{j rg%w:NȨ'/e @[nfWU(˖-UGhʕ=u2N}- h =IBm۶nzrݪKP/۷o/V{䧨N}jj'?Wuە#b+nuWߐ_"~WvWL n9{ܘ W}"{~s;۷{r `,9ysAܰ KGЫ/?~i{ZH|ՃS<חT[! .ry̭!n;ǡΗ38:uEs唳jCFjO2s hg}q\Ө7}h? zpɻHH2cgʻZ]ɗd:; nbh7L(a .Lez8\~^g;I(8î(E¡D͔'ӋLvQ_#pUm5v<|,ߎ7G>幬WCI.;QZ%爛/)t`gv>1Gq1mLSO{f=ر`ؘ<$vi t 7\|y?f#qzZM02ƉIENDB`PK9-Pictures/2000000700000D810000051A6FE8D3F7.svm s qcd0d```cidyX؁nV`腲X@j'Z̀XXlC  707HP}qogqi~t;?}k]rIbzuuKen}SZr㻲U>nQ +m~pnG,3YLBggcccfϞ=sY^X-}3QkVt4pt%VfffFFFLv!~!@_UnC. \QS&@u)YYY))&-k;~Zb{27 <A$e斖Hй4k֍\JƗnR]c.8Xfqqqmzrj\~f-'%v9pؑUT$m]ǚVOHӹM/n^1R; ]T]]]mmm---=Qg\z;+6G4v /5Mi9|||g?_qגݍ]y_إX_, x\R[;-i9?ZݿMg'ž$v]eņ,޹s!V=sgU+0vn] PhË6^`LqG3O[e*3u:rDyRwmɅmቂOvK&>.)/gf 4\F}o9kK]]%ɗv QS΅XO׫/ߓ-Ug4-q~_=cN;fXa+԰c=rPKI*PK9-Pictures/2000000700005BE8000008F5D01A78B9.svmmV PYdr (".?`O@V@~9U +%w0@~ ,RA.!"ae YȄ?3_Tuݯvtr;Aǿ?/*#_ti~%v&GN LE”vM -/N抅cs: Lhѫ% 5,NAO.ҫ6qHеqilhv( B5u]bSLN[$ J<6YRUS癗sOē}iՎ9GEfKR"b|/Mj}ƒⳘR*|ij{B: u3[o'&ٰL<{ .9D*̖թ@i^D-+SUZBaT+x&ꉴL FFѱ.HTzR^LUI Zdi2(ZMD [ܮ ϛ'*+:9&/G(r(-bOZ;'+C[A$PQ׵ -ք>䒴kґ_o~cKe>Rԇ8 9^1LKe\jѭc@z^ʹw:\xPxMZ3˛2 88~`*5٣4ǯX7Yz[ihMI,F0z~.(%hl-v&OW^O-q'V;~ku3ȭ# ;]&rGfia~n SD5k7PJ&{? ?`><ϺcŒ\dJf[/f9x'V'44*vqZh`Lq_^" [{[#g[^t)#WC}y>Dz{ C)Sn-DՊ*U8r^DaT2Tmza߷=v g5&n5o648kX8e!ʩ&oO Tnb3:JYk簸''Y"!!X3ĴK~faY}Y]DR*>ca&;AykaZݱ-N]㓃Gi fLrγH-!f0[(U0w'hVWݣoQ\v6m~-Oؓ=:3Ư(?7.;jưt-ӻu_g21cUڙڵ ,~/9Uʤ>Sl28 0N klh10 (uAq TNO=35^_PKPK9-Pictures/20000007000040E900001305017BC5DC.svmzTS[n("] RCK0t"EEB(BBH AzS ?={익ךk57 R~lN .OV??PWq_qM+' _wyڹ +-wz: /2 TzϏ;n-2(nvzuӒ/,1/v׎:Ns7*ʉ|+K`0Ғ`|7T CF&J3!o s>.ƪgll8Z~x=`"#~!S{Kᠿ;`P"cO4py(i8v@?i0Rx_=߀d!2;,7xSHI &q Z|+: <;9$NMr~^KqkJ4·]}$ʸ|%hbz^ 5Rvi$RC{/U˳[XnΏoZ&hr\nE ?n:Nw #3;Mڥu2.&j񏚈A~hHyhhĄ Ȅa憱7V,FDT\0~Iw!2Q. ߮+YxH#ų+ٰ4ORBN O\;FL!IF˭oko0IKJ`L1Q ,QRW3]3`B }_'s@SwJT rm 0< gRBXi<"#ǰ,4=T:3w%+)`xHja 6sʯ~Ce#KgW ,Mb(Rg6GAsqOG=Y94H=ʅ6Zj f>* &4E+Y!v~ZvYr(zSGn )TOc!QlQd鈴-=}s>6];y+,N% ^Od7H#Y8͔1ܱO%%#s5|k"0-W W7ui:D˞~s9O$7Kh֖&}\yMHri 8/ff$~? K_98fBg¯Yq(.e0]*R`:Ҩ9|׻%՗BAC ֥$4:-!z-P#aAw\9.KE5wMJCh kv{9ί8>er]S8ܣGLwX:7MjPدiYu;Ys> A'u~$Y:&jŭXs#'̸/Ff} 1%V#!oy/;oNZWitBGf^fȵO>-,:nƐBəҭ NGt=rG8a~"{v<~K < ~;m$:S|h$9/%utɨcK1l-y+v`_>{ &ݗs-|*#v-dq6|?k\eW[B~T_8KHHFeL3P}X1b:gxGs~(9?@j} %}%03d`eK0%(Bo{XbWm.{yyf!NmΡF vvVQƅڊ3-ȘVi KoAjIrcΆtKʻ|(r:WMF^;`7CCR*&|~m ˚s st[&ADK$Q'Y= e[4 %xXؕgHZ;Z!x޾+S)aػhkb}B>CG\xSi2Bc0O˔xWk[u&Rc>i0kBA^.O*UQ:gE*8˴ϞH́ ~{fMj$Jv FİnK˝{2?Bɴ28 a@a$U%v)K2䣂aEOQWfAP-XScQ4Xg{6gř\_g!bWz~.S+A-4ho\ v$yk3rAӕZݍqeOD~-'MrH쮿 ;X [X?WnqIVLE;/"Z]rB+XN>T1@kk祸 |n}pv2qy6peLF3= 8k{xF'!To7.UG1߈M/9q97]C//d]iB423e OZaĸ}5Kn>VqK_qxQ^Dũj~ڙ hJ"imºJ" ٹ'X 6OݺR2|9w5^e&2kD~OJFs`L;L ɐ9_^Ⱥ=U-0PYKPBq{Jv{~{o9B1KjӘ .'pk&Ee_04*^Ktop.f^\dѾl0O9$^̸Zz~?td-~CiZ_u 揉K9孑Y&"&{ 4baWl 7xBشp*~$ ؄#ƝJ9kP8YebDUw`D[C6vå7-׻cZE(>gy멻s#ObIMadݷ޹3ͺ况GtUb?(X~[4<_.K{d_БKX%DmY±K6f\-G6R>HӁaR !4[8Af6hŅ:e`\U3uVAsÛG/.$>wgӥ+ǶN/6?`N5C)wk$fCNٯ~}j=:'r&kriQX˫_+dpT31:t<˰|GR婤oD EyusK.C!AJIO[1 fepasY3|cLa h.zuW(%5(ًu2~9FX-)\ #;t/@~'VaǙ5'sL>|Ӡc<h:z, Ů#5OPYLמ*p^n Y^ 6IW <&SnL 2/ Azύ(z ̴֧dlDghu'Q,ة;XyBa; E?1׵߫1 wŒ-?|8 %w,Hc1{j,w'H-*Xk0%3S`vΛފ LZaB\5k*dZp䙙K_Zщ*r +em}l4 f;ز))^E1ہ/E}-{QnUџ}N~$C$2_(r >_^kQ|T_ݤۦ1:`%Γ7>ݜh9gc󂗥/'wsg!ς ?<srm)! uLLÞ]6RI_bC}qCv|:`99LM<Žtfsb>vYzj{aEhAnzC3Mj \6雏Oc, QqǡlXY؃3_7kq2sv- ]Pq}fwwR!/IZP> 6`Z;*Ngi1Sؘ-쭵M G Ռߘ0!~|ʕbwden?xRWɍh^Ry^s=յx2KAE&|T|YWkYI[P `*= kW:FT kb5GG(_eUƽO|dVb_4}ټ=|8ER!\TE@8 -ײ5E i1%FT }*&8V8!bC $JƂu~e*嬟Ny"97^bw16+g򌣕KɀF9U:p~ӹiѿm#Fodh~|Hq@a9 .P ;vga2 i3Z+v4ZnYs[7}/6 b. %?yˏr_(Y[_M~R~QR<(w-+|O4s2wN>rx ~qN(t?Mb[U,*9i[wm*Ԣ֔Qd·]7Ne^':@[gjIIAr(FM73 `aCڠ(#29ZR&ȚBƖ3e!,_A|Ioxf@o$JAdŒ㜠ᨨ#V|6Kاb"6Ufy W[=j(lwO@h(B`>w5?Iڈ }@i2~1vY!KpoBJ`]8BZ<NtC1 *0Aoss HM04 ` sU-gZ!?sLiNQ1azΨdq9vW4eI[iêҾ_Zem'wb71Ш[gCINAJΪ)iC7?"HCРTO#e$bp6zR,F:\GVUqKjɳ;> fc+/8?m̷GIM r.VdM7먀͇!]ͱ7ޱ$8py @YYΘk%i[4A 3H;@ނػNzs]abi nZlkp 9*S^ū7%2 SM8l0Dl[J[#b# /6^%!Uzj6꺣 v#T֗jx@-Ҡrm:+xG5˻.fb "4,M=! 5|{Q MXG}Ydh#TZU1,s&֤FXݽJP!FJ /̾x .t s`p]W4ͻm fZkGʹSk^;Gg2݂=aѡ|:p"}\,r'?Hsi;me`dN=w(|YFS:0Δ!HZ(Ҳ Qܚ.2`H ]Jj#o4r/0|)bt#}ZGһӚ;G+ٰnswg7+MSdlm: {wsG쓂Q&) _k^9dw#E9Ә7ˌO`υ nҌ͆p,h$.{'z:OYjai!߱ȀL5c( CgmBa[tk\ӏibea?ƮTQ-J 2•3-Os6f_MOy}>w*oWSO;Wc1`q*}哾vySkAb|Q*YWCAErSQ/'V%}-f\3+e-67 )'&Ty ^SÄ)mN~ o8oR B9rh K7cB-v|u}*@)ojhkr:>G(_}Enq[6~@1[")Ih Eu%Hl12{A_dّn ga>)8W%]#*pLp0V%>DFDb[_6$K$1[` ՂlbZ #𽷨dILUwWoB'>{g5@ P]t`i3ABAxԥYY=] v$qIAi_1qfQh(_ U&L"eѦNkZ$2H'ɬAus.xTA[tˆ;j$fܛ;l tKm%vQ=^|6mERLv U^J/3dU 62kNJ!vvl&k1BvLMۍCֶ3)f112ŝZF>Us@P2^+[W̬[dV± ]~mJy,Ft5OvNihhCd鷫ijH\ Q\ψ:56OiBѼn}LxĀ;AI{w)&&]¹SYyBdž 17XXOԦYֲ-x$uv*3Oxʝ\:"aYkSJ䪉vB67*BVۋ SnyڤN=%WlZ5GyeKJSz˰4kWc/_/<_'܏ _oƬ 6gI T~Y(w2plbxSj@5xK 7\ @[֗;3 borϚ~Dل"+ul`m,myT]j99r ;Ul85hq1JpF8j=)}|@wJ*ӞɌRћ b"GUh2t" jHg-rѵ 0(n:{+0)PTq eoLڬx 걒Y?Jp+J6d/:lve8BѺJ-]23 H*(lƪ3 Շh†N e5 Weͨ#kG] LSPQjw'W{gPń 'TؔJtSʐ꒹hA}`@4Q;M6*v+ƪ!J7_G "Ks>_PK#$A$B&PK9bQncc-Pictures/10000000000003DD000003224EF12C37.pngPNG  IHDR"h7cIDATx ՁW=19 #"kIDr$7Kc"Pɮ!cBκF<j"# 59f7uuuwͼG,^zz~xU]K Wo,zƹ{tSϗrQsF;tk;c.?cO[ZJBK[sp7aiU%Vby%㶻Uw)5o@o߄˦7'~E[rw6\q\ /.?9Ǜ޸\0qf}P~ܤڶ7 >kۊ;}ώrkNDT(B *faI:`>J֑aB?84+*D<;|XF7Սǭ&.24e41^}ssWr+Q!G}{3)t^aW+;ݕ?*C;WFm|j`o7>wG幩T!K-k.6}Ʒ@mвުnQ+>6=[Ofc~6^?yz\o<:ɗ-+߿S>( zdxw.O k55uF7mJL=%*+ק,y,BʢOb$-{wujc|P%|L*TOz]/5}|1ʇMIetπ>b귶gPs{Be8X&rE*Ѿ Keӭ϶P>fZ[@߲v nc/YcC3mx27Cc_ 6)t7FO5ezAX}㪂J=y,g57m GXY^*&+*wԼmB=%<ۧ/[{oayc*U=h>d>^tj|\3X!s Z=XnOh cY\>ǺOȒ|m mM{0q<#{rМP~L/a/O U*W] ϴ]̥MO?r@}\k;im~≉?1*>rdbqǛ[wׄ= ^z6K,:"5Fr7.5RCᩩ,"=%QuNMhn[ԤIskHKy< r[6;㉇+@x-׿~剭:[VO nkX˾GŶ0=S\quC?&G%r7}0#jy[?F}]SWywݞYvԴrOr}c/y3 rMw'ooxK[:yD?~ԎY|cXf,2>zœ;>EZ~܁OD> =zlݹ3'/;xaljkYc:4cV}ymD~} p7cUO;+O.WahqZ z:&<eF}cϋL/$Ogq_or9H)XzΒ^#哯XL*J˓;uq'bD߾e--ۚ.b:Tiӣ卲Bʁm)П~0 Ys?tj|mb0Bbrksey]-n Zx$K.NQ:痯N-~/bHJ!b}·,Sl@V:S9q(9!zƹt+]w>DzqƮ2r'1r 7rY,&Q5 tYrwV%v9qM+$@D/N@Vyr[٭*J,HW:yO@K=| m_l_twr \=beoKňa7+bVr> _X6,klU(ֱo\wm] u{}bJOX>8!޵N^؎w[jb 9 kM2T޹v,+ܾ+v)>xb*_ć?$/89rhڗgP//z[{ZQsIX wOGU])/D.O!lUkֵbcO<{8yjn܊o_S}b=C<^\5k2er}6<8i e~8vdyOzde0ǯ l.ڿ.OeX⸌h*. >~|s;c:3 rg~n^}}i';two|'H=O-֛do]!~W\?/Sݶ=yI='D.(mrOw͇80~Lȓx.|9O}o+lǰw"xɝ;oこp7)Csk~sS'O>YUڛdoY~95Fr?mL*h^wⱲXoQո=y`7ř9/2l<6=WϬ}T]^_i~fbꉁD'GJ{HO;C,?5k=s׬ϐKY^k9hmVo?/_zr'זշB7$jqTA){X8r8ђhpg/L3N%Cy:&͟Y}~>/]󳳧}a͚S))fuȿ$<蓃ogۚʜ>k= ù x>ڮ uGNkvϽ7D>XtP嶬`괯Y ]+g[ZVuާۛ= B\>ayB) =:4v O\)ύZ?rIל.:0\G.#u]w~w_ٛnaܹҥKM"%'7xrw~G g`]H\sgBc[_ЍG?-nJF#S]]O7g @!g^AQ%DCϲd2VRPn -r4|9svV;G(̀' ~H ,y,Z(W˛nzP/={9]@vv;㧅A((d#I~)=׳>%̦{/=!f>_XaBc1&Y'pt B! f1ʙ3gFZrWih~PGc۝$|4]w7w@FޅQ>$$rIQ-!D"a@+W"ha B,Dhyc!](w@FFP%CxfZdITg /Pn| xΏg)m9@P^bAK)w Gx{hTȃ3wVK{ӕ͙DeTG}W LXB6+j ?>XyyT"$=DZWoZվ{_+!v/j#^ G}@Cyn&=_.cN^+&Fuz]YX8&GR֋⛻cNt&w7`arn=A%[<6'=tlbYe*XYXYؓwut#}ˣ\1\ wKQw.uIo_"m܊e;g`Fڶm[pI%4jSMhɪ`r{J1/sXQYT~55/2W]0Kx/[]^qU/t~篒RrvA^}Z'+i+e[.hn=z\nݺէ}glǹ%ӳ̋`+ m)Dm1.ݻJAP^Dq_En/cȫmǽ">6CJ=7j"NC{=aAK?U/|y܎E3)+*|eV,:[n]{~JK1A"O&JX<k+S>aYeV\&/+({s|ر7o+cƌQ+ЮKzj(Rڶ'v$|vпf8f,ӟ$#Dj֊S#y,B KՎ鍫k>n8)W$?Q^_Vː?jsι+<Y: "EY>Vl8 >HGo+p?~CCV@_练e{EFa.uƫm;p  3ux>{=T/m XO)3^-*%]7l`O0/}.s\t\rٳW}nل`@V2'X'|>s'qH)#a*LgrZhܽYWW'zpIV/ rH]V{[Mi9z$1 \_NK!٢gt{1=GnK@N@xyLX=cj܊zURY[[)WB!"fryKjh9zyߞ h|jL=|bDŽI]Ho\\W>Yb_?04o?#tz\d8&PyS{Usg:wO~{ZMM1Oe8J9Eg*9ݩ:|OԑS#ƹ4ysN,;d֯oxho풀]pcq,K,;m̐˯HS!?sΜ~&FTVVZjƌ,v:7(g騗\WW'/ETg<&w{̙3kjj/_n#P./ETeCEGx9P2h雿ƻ=tպh<-,馛g>>_l.B/iUUgϞEt/\YpNc+:466aE<ϛ\f2˥#GC艽ɏ P./NìKyrJy)8^&74V鼨@kll 厀^2\>SEYf-Y$xyP{LZV=mnwgk:YqmbK,#!R 9޽7L2^;"{~/yfqUE^Gʅ~Y"^YeWR2`׾ iry"U#~ϖ>('cw{75w(/=* m]Պ2,{/f#yP-~zeY%Vo\XjC.O܇`sy,zDƶtsZN<Pf $GGƣq nr5%³t=rE3L v gk6}:#wǕ5n-39{v`Gmoݺs_DGj9q׳fVZ (׻eO"5+[Lŷźg!pW+B/_lYng@pq=^.girX(כv=ű^UUРJdVjioϚ=By@ /w,w-9Efi&{](\_+.qݭ_c> |~S-`K5E&mYbw+5jWzU}Ц8V<8v[%V!xynY>t瓸;VSS҃˩=7?[,.ߖ=C}oذAFs &n}ݚߋ-\5-,g~ @'X'|>sCm>O_qmՅ}uuu27ץ0`ܳgu욅˻lUUMKdX={+r"xr~'TSrE؛+zMfulGn1^.R .4,+SV\cB2Y"LhVY:\&3³xyhnYn *rbx ?368Q2<5aJl8@=||F:YWj<)WbVz3+1q͟ev ^U d/wDU\~]YcG׼1^55^wxrSGN<㳸?SEe+)Qqcq,K,;Yܟ@᫬\jՌ3SYtnQrQ/N^RfΜYSS|r1Lry)jt{qODGxgv}ĔPB/_vϞB/_lY'1bQp=nPjjjX` rx⤋H%.rJy)7^h"rFP%Cc>U45k֒%K:K!_uմz g^bEng@Cyr}1dY n\rre9feY%3,.h]6(A\'Ҍr{H.;;]6k}j?(p~} @!sgq}\免G&L9a^{%G^d(FN oݺs3gǦDG,"/t[ָ3:&L]?XϓznXؓF=:nPuY=//rA>KF\:c363cd\-;I_' ZT<:b|ƆQKݚ3Fs`e߼y1crرjT+q"iWYC\h+lxߤR,c\IoZo4{#>|iZ/6e#Nzow>x\V^VUU544 2OghֱP/xAIP)(q^[p;;Œ 8}Rӝ~h͎wnx[hܹb;zkuI$<%߮zwM6M?.V88^vZ=q0q:Izڍ;'N7Ć %Ƌ-k؞wH6lȘejwMi„ ݬcry/[ bg5u۱^wpߘ%WqpSSo h%uuu2jM~E =PG.|wܶeWePqݻ<|z8ljWdOQ[[W"WT^Q߳c7!DQr@ywlhGl.f&=o^I+ژ&3x9 c{B]Jyӷ_ɷUYoubzz9/rp.cXf|ѢEQ( r )DϐmvZ~4^~UӪ%2Ϟ={Ŋ@aQy,ŮEA݅ !=:rjrEy=$iO\@rcq,K,;Y&74VS>ٚP5*++WZ5c T;cܳtK"XܟǩJԦ2p̙3kjj/_n#P./ET`mhL=LEGd7^y2S>9 J.E`mA/E;혌TX7hg%6،M(45^n | rVSShX֮]볧"9@d(ŋ']D}r'(\R^yg/[,t03;zsOg͚dɒ)=PCyr}1dY k~9gQU.` iry<Kx8-ZYҐny8,,+&dbD2?+ =Jg_uմz g^bE@ATn'սSد,TxRbRq AjBKgP,\8'h| I,eUٷuYV|#Ǐ&5e?W?~c.ѣG֭[=7sQi-ёe^4{H.3FH>4yIy}wnqY@^}7۷e=50139 #r[lQ+2r,7?%P&74VsKe#W^=8NT4m~!v[Dy1cرcRՑ+vVuG}"6+v5ޑՐyWХbst8*ۅzWwمRYqn9lS'NhvAU)Yq4]ͱ^]]]WW:^GLG rr(9wmOWͰ&߼oD,z O:w%oGk6mY.]gܸqvMYq4tAո91}tvsKzռ|~w޷޻rREޢǮľ^4<ֻ-:K+zM]:6C.ݲjr/W+~|'(LWT^Fg߇_+"6ׇV{h27oذ!c.u5 &rw.6h.z: =:}掽wNq/K9_KϜvITT#GR:զPGc_.{r婦 I< {7Z3p@:T& EϞrʵ~%rE=zՊ\K"3NȘ˥^omg<8lT"Ҝ+THvk׮SIg@qcQ+ol>`YБDjuZ%z@fTˢg#ǰS._lY' ʪ_;w5exhO*{UCR(az '88%Y4yTYYjժ3ft䞥^r]]Q\̜9f;b RDY0B!yrSl\y>@%.|{}gG׷nY',s`=ouͤN]6>~=UaR١Wki(9v͛7ϢJ^)uZ|js_>SxuQ'ib;&<~GUUU jS&o.Q+!B9gJZ?`-.?nz){$'7~zM{+rQ2n8GɦMwRCN! kXq_;_~y;6=O jD'?(M HFrd@zbVLիOg4Xerpp_7_osÆ 2a˥WB&LPuc(gf"P\i>B 3x_s Nn}S^.%\RxyRd,M1<#{kkkuWn:v}_͐!"rsu!S6i6g7ݟ\9汸'dlXw~XV/Wa! 8'$ d|ܲ,}eK5&ʌr!B.@rGT tÓٞ1r(=:rj8|' ccYbܑM>&UVVZjƌ,v:7(g騗\WW'/ETg! ;3gάY|&CQF.@"̣PyrvZ}(̭F.Gʺu)SyWUXub+?rZ1C҇a@Br90Ϥy>( rtY.B^-<nE\o}#Cldzܯ5j lyr}lv#ʞw_c߁g:8GU(?jWh/ͯP@D.Gs-ΈLWq3eX/%aP~ͫ~By<,eeC)P@D.Gs,s: N˪a%os?|Jr* =,4Ey@ #P02+{In:`JmoɄ*ϟWQTf( ~s3_fG7VCnzzv}T턩+~qS^,QȒ6qf{t?6˳(ar[Nߜ2eJp}@^[lpvJ@|E.G_+:.sM/WV(|a,@xM #=v|qZsw-8*<$Is>0ێeu,(1rx !t¬Z؁Me[ Xn\G.|1 0\G.#yrEr9r0<`8ś7KX{޺wrN~AjBKg! w,.;*'sةy7NTy75^=zuֈ_FDGj9($rQsVjq~֠}vRcR\o\EYrM?seKm2]1y,(,XP($LZ j^QJZV{#y,%e}}\y].պZ dq2! Gםoǝv(OSZb[*oذZ.몂\0aY"˃_&ǞfGdďDKގ׈je{ 'Nԫ#e=^Kn)wM-}>uvymmegP`{Vs8?B( rY~7Wӏ-ORC\,+~Tho pYG1PX앀\.%`.cXjGMw.xDy,DDo/\qF]/wV\>(hzHucA;>O<Dzdr#ۛ|'̫\jՌ3SYtnpQ/N^B.@.fΜYSS|r1Fryj\EJA.##ҥKT;wngˑܖe?R\`>fZ.Ws<[ [-=RWdyR7dΪrmqx^߱qpN Y\Y rC.G*ۣ*|ߟ"#CԞa1u٦cX<<^'}5?x0z@q!#ʯyׯ`ڙcT('LE[K󥻎gk*qgu-\=Uuϟa¿^P@xaE)c1kޗW/7pozԌlR8sEmjj9\ +LhBqyΙzC!ǹ& dWŅ\ dק׭^խP/Jޥ󜪡OaTj9L={p\ T:y3x7_{=GCVnǞmareQYcw~?7  { W~jNDϣb7AΪc Y E\ ǖCy>-aˑ Lw@r;w.t rdvttOrd=:B-;r{]6)vՠc8ïuïDz=;n3Q/5r92PW} 9Fx"Y.Tdӈgu]G.w;SA"zy 3v Q[\ Tn|\t<}y~9~ƹ{Q@>ȠmNɄ*ϟ~{t\U]]]ToSe=R2(\>lذ;wN;Y5q=G@i##38E`6FfιWrlSٳG#k.M.1bs8߁\tQGʹu@_fntZ.e4 ="#=f.Uy^jlr}=|Rܶm[t6j(eNYG_uR5J6tSrqqJ<ú=_2>M9J-;8ޫj~:{Վ+78>\_‘#G:[nѣGT^B}.og}sB)VuJSlǨ`9$(iUD%j_ .L?@ .IIia'* 4T΋BQA8rqjۜL[bSD*s;ޟ ?3>{~=f6/W՟W|5uH-k_=?Baq|~^@$` >kl AS+^KT.r^WR/RIoY{٬|/JDB<}tCS]r9M匐&/B7zƍ+ò'Ne8- (WtYQٙFKig| ׭[W3E/ad~CP.Є\Y5kXc-B<7˗Y{asyxb b*/sߎjry5=W)r4$SWǰ[RSxӫPPy,k֬9uTcd"Cl*4|X z;Fb*7Ya}OikH./r9s(IY,Tު89XW[Azu7jP*_jJ"ŃwlDnz6mT~)mK 8I$ .*/)Y^F~L崅„uVN>Qabr˙[=x>^!a7 =W|J>9r$^˝\+֭[8p^3B(#Wr'$p =ғ =ғ =ғ =ғ =ғ =ғ =ғ =0999U0+[v\m\g^vy_D͛C<4L;_ wvh_s&Sh/w}'_[5vKnnN.&f5ݺ뺏v㟘t|͇CF r94[5Hhձ_W(}y=6nC.}QC.LuB]W;\ tCi]#(fuw#3[S;\ tv͇cTB"TgllONG}9,v;we_>噪e}.> H+|&x&#' u~9V7q۶msǎӳ\y啱}-P< r(YJ/> 믿>|n7O:5BF^o].. B(Ě,p/,g,i^vɓ'q̓O>9=r9#c#_Cc:hcǎV%?a4˝'N"ƍ'&& %Dr9Cr׼ueǏ~+W9#x|3]g*۶m{G}KsV r?vX8nذuJrO19s&_}Y"i 񩧞 <cv>r.Ǭ<]rGrkyXg;rHih1<u{.1gΜɞxVu.cta~9<4n~϶,"?g75k}X0*s({5ſS}::v9/`DsKWo.`rFTe2nqr9(˹|%%M~9qsOg÷ܧW_ȩ#g{\UL~9#g||Gyӛ#ח8zhX [8p`߾}2Kaa_.0|擀'ғ =ғ =ғ =ғ =ғGrZ%۷^T]v-:Xzb.߳gOu-,7rR_>3+?~rІ ;V<e>]W4/s|nͅrW]./g9P{ըDs3+ݻ7o^^v.q`_~зc\^|Yvleӳ^jwּj~ygp~͘H8;9`]BO\~7@C֗֟β:~O.f+\ K\V_@Zje_hVUaϒ?4~ 勳_xy:yrX2a1X.lu;חn8EZn\Q;+gپ|RP|c{{U\2ؘ9 yHsujF;F/&O!u[Qx_$iPNMg<ʗt:Xܷ yjʜ0 uFY<_2{<__~wvͻ/lL%;[ʥb _zA~q|}5EryKʝN,`>`YqYq{3u$#$G~x [8#k;?{s{Yq1#odr!#\>5~Fـ} H.rHO.|޽I#eϞ=ӊ`aڵУғ =ғ =ғ =ғ =ғ =ғ =ғ =ғ =ғ =ғ =ғ =ғ =ғ =ғ =ғ =ғ =ғ =ғ =ғ =ғ =ғ =ғ =ғ =ғ =ғ \k׮_Y|Ϟ=lV.߹sguHټyyu8ZM 6;vl1fyz{^[} ۲/nޗ?7R/ X =`I=\/dM g+$UVwʋBwokiֈFJ\sll,d\"kʗ"i!d{ʃqs[=u|L~p錍-lr-?=~^O[ojMF-3ʳDᥴkcHK\$}|@ώT*x+ ; 2_|O//X+seU#r6viXF}|W8wʃ=a,̇NԴ%ZYʲk\몹S-ʗƻfybENbګs/sժU)D W+Gִ+kR%~˞|ďSIO|5Ng1O]vƳٱK`裎H|__0A j/L}YrVvtyu̮[[v}4`EiT`e;;_jm:}-jaX[o=~,+7pC%CcV.߼ysuX~}_~/լ\k^3OOz:j`4-E}9Po&޽;2`]^2xIENDB`PK9-Pictures/20000007000071200000134BEA29D4C1.svmyy8]IR֐Y54dK)[c1 {e5K KBX!%=Ⱦ 3UF^^3=sPS=<'d 1bW(~?|_ %h67`9 <@Lt@4@;'+C4BZ!|q(KLMGRQ{BNZsBAq~0V{Gl_/4J:Yr$Tʸ?xR =ނ2Q罘;:գѵt࿨J/a 4dY[[{kk]!^t\- tE%޻Se~f;, Rfn~ pT_!'hlѨF,L'd[@'0#deL?'mS[cPC H&ga s[;綯D,cf *4*#۠M 3Eʺ++L^6a-g+Q=Z)eL@ }l4 &O kAhޯ4kj[d|3_BԼw =(xəR;Z^jm"nX)Yw;eLW_dT?$_v4Gyiiil,:11@"oiLk!qsss&FUYʛWp6 ]HeYHq9=լuQ8#|ď`Kj!mǐO|aXD&b݄ y$vb-4.*{iOb aS}i!F­9/j#LHhyTkcvLTҏ{H`W֑DXN^^E㑑{ [kn:Zxp tzJ`3XOHܜ".ZE\Un =ysڹ!gqM_ 27,B ֲ̧ǎ&*_/'`Jf~Iφ6UV3FWOܰF@ t5bbn90I(3"=ؿ@-aJ2NK8e~w_2 ˳v#0 *ɿ+x +^ǰK,/wbW'n#;eulo+lq4v6a/o6flvXx&l ɉ/o/7ڟ|vb”$2m"Q q{!yafPYކa$#tMtгp='C5B"MI󒞗=Nɻ)855^mc>&g#O+N!>}k%g#Xk)bxNK@ނZWgχըt%MNh#'S%R9N|7_ G({bW^]Y;({#a?={} Gwߚ4H3N,oK$m^&f]\/}5{^ӼLJI炆x1Pa(ݕn&#ﺝ~qsSQWR꨼*߁m bjQk*m[y:-܃uanS;PdM%c{%[skD;z')h Zb2g<`FޕJcU,{Ak .9&{1&*PZ( O0ʚ3=U+/}5zJ+. ӹ$f֏\k~$^ fO$2UcPnRa߃Ne 93gL"42tA|I|ջةnuaW MdGh?bOGFUI4,d hk+S qet=D -a9VZ $p 5gp6cW03 /F`A|ɳt~&ۗ@W08>=M]%/\(1C Sz IE;\•ؾ7_vUÚ(GL*T]*Mik?cGQ p>gtFK*8 [X3V/) e;p ,o/n{hТlA,)@v>y{]@Es@Y8\]Ц,2$q {:)tsA>`;&Zkiv=KO@^|mhUۚU.6Z!l吭M-SGuln@V:|E=>~2ahhhi6Lm.cFCL11ᄋ:Yf\D{ f9WE9yٓ۾NGJ{䶩6rO$P'02"t$XhUehZ{g[uիaoL$[}Vlp2? L1jJb?}$f`WVoyfUfϊk 9*{7|G~e,S0KE=KK>5[:T,Td(X#Q3Z2|խͺj{+8`uK%(.V~zt{=!JJׁYW婆.(oSLD4D|T-cdWdV:ןu@P*)tR^/%ObkՄl*?Kd8:+y:w#wN˞J:ry5M\B9 ŵ Uvr@ <AnPyfo;YZr!,dߨnvP]!XA|tn ?k~(ro`Lh<)\{51햌Za<qu:+}zD&dns9xMA_QߐS?ޠl-L 72xj~RK3+NKBEmdMLGgbڛv+- ǸoFzR/nu++ҹk%;#BRc!w]N Y % 7#E,U=i,-!"O71xY?ŝJg8/cY@^NXB-]> xmVj pW3a޼ T/ٵIj8?-w@xFij)zTg[Z) $Tw0uVdRߞYZnх#9EW?EƿJ^x1]lB=#[&nd"Q+4?K}\G% R fy_զ}<)Q| yMi$s`"`rjR}{`]As,w7+p'7@6r0#onK4fK FI")(?IvUjl*Yr|FQ=dV(=҆\+L^ȍ *j@l-i߆Z-I|=%]{%K 3<\fO)D dKԾўF!pԨ[d8Vll!HU.9?n#\wXIu-Cƞ'h di;vS#.I')Zqydr*'mt]RVUzgPzijgcT@҃֌v`;ѭ$$I?QBZ'J56ٔ"dd_|zL[Ib}vD]4i`pjIU&v+v竹J(9؇HHme q8tU{H_F YȮg #K'NjBr4{rèB|9 ]ml\Wb;[xe~aD> 5xOB%"xt,=|o RDVUܞ&nm/tMF.)M=^iBd8m ϕY'^s 3ݿ߇V~7B6,Bx@VdГ{h6Ŵ$i6*cp E %(Dn}/Ѡ74vGe/>,; Cd~M/{c=2;7#پ,2*by0yq-4i2}ߛM $U&sJV,'9K3/M^\, ;)}po%u ӶA{ѥ˹~W¹y v5(I;T^ڧU<1`u9jbjV5^6|Z.h}~V}!g̦L$IH 1@W8i >sK9K>ã^-hHkz_]2\K$oֳZʼnv7h@(.h8|1]7wA\[ ;M4*PKDPK9-Pictures/200000070000623E000038E8CF6C71A3.svmwX[/L/ H宅Pޤ7ED " ^R4U"(t RCowgϳ}u5kfo~kQֹ~[@%N47ӟ Ӏ9L/Oāo+@ !^ # - zп&FڞsC,PưT9zT1\K h|N^'1ckH_q_6HB Mjŗs_m+*VP+ى淹{O]\\c =ދw~=qض2iGAx%x݅]_{ H"MI&@_L0ksx@0h/.h ~$G; &s:๮N^OT#>E^D_ Ejj&ӚoA:yg cdH4ʏ:G]57@ /N F>"t@"" 銮)ty:V ~Gq"#I;FF_BP1S<vHiҐQ+gQ@QRG4DŽ 3ǥVX['|E4K88"ש^ ~\}dz2I 0E؃;Gly O @caiI-y_F3'JEJI)0y$8ݏ>R$r)eܸ':xII'pnP${5z|Qk*"wFGϪ, xО ]Y(|P,F-D'.Zcu(W!ʍI?Ϛs{UjU;{f~l#.] *&.zEehzooPA5$I7(f K;h<U3ޥx;bDb_{6Lȑ eAU?Q3]љL`/dn;[/z+$"'ρ_Mqt8ϳPgۡO_pNc5D^D.fa\1:7d,ٮΟJJƪ޾U%fյk2FR9Wr*GW^<[8ȣ;91 aԫ^m'syfs2lkߡJdX@nρQmOYJv}k:ZmIx|bOGg躡>2A>Vݑ"ë4.%/a* 3ֱtжdBnc7kFJ]ٱmZMlE 9d͡3@1:83APzIQfS`mDZ+B!e*J01^Vβ~x,IKr @?}hxS ǏN>hky2tnGyaZ8Th4S:`QVeQצ3AwGR-|鳏p_odDyJ{+a74 5Al]}e1jJOH!ࡘEfwQ,>E4d<+4ЈT|>j)=-ѴTOsoo}b &Q_<03s}$Cc%(T߆ ruʜxxy.N]79n0" XFUۏ;O3UQs_aej^8`OmR!*tOv0` I"q;h-j~rXlx~ĝa$-|}M%jb'z-s)m`SoMIk+roIXK o'ƣȖV5v8ī|yғ4:,ܮZq)BTf-v`/[>R7sSV\unr6'B71ִh~䀘E-[c3{63$゙Ga *HK_LR0FGbc˄!oPy?WuqG@4t[TEG+Z;"j'zo ! /_ً]´X7^=hOgXhRdwmƒ Z\Ń!O^*Ǐ?hX rvF'Cmb_*3Ȼb!hZ~qq &d4$h09-pf$+{5ikP%)bS> df7\a?''nL1QAV2rʄ0RE +1(n 7_nܘKy΁|}KSS٘^\~C<-z=_ȎFqJGfCu%D2n$&  rqB^W'*"Xz'o]H_=8A1F-Y<'uyI_BM"P:T*0#8Iy8mcA])B}jF&F[$#vR[WDo)s;h&gId5BgsD{Ej ݯ;eFvqݲЛ{n/ 83k1kyXM bsV򌯍{ޑ"< 2.R\8_ā&'ݖ¾H c{zJku#uvmc5/&=HTgA&`.kN X;k&vsώh]bub&mazOy"*Mj\×">`A ~Gw1^fu2BR F$y8kǮ]?" Jr T*͇1ܡZ=7ita'3s%+ E% (Q#>N 鐴xu#CF C)fp/'< #^gD <: %)r_b6ѧ zWI=[# tb).}v7t]ջ^jC`ʇݙ@ґP2)ՃT91;S]֦2`QtH8ǭ{"huyc!ڒ$t74s<彥7,|U(i˥KK ll^yH#r^ 6s'(JvŨfI/A z.A!t95nҁ 9Gg&14(@Ʀ!8hzkw3!RB#[ā>X{\4ц0jedJLwch)[gZ#t[壏DρJJ\2u[h)uWÏw^{{ Oi<:UW^<~&&$js[TlLŒǃ; EF([FVLwD+Q˺uYlSKO1H6X# <"pv 2+ۤ<- 4 )2OT2!Ғ)R=8U2γտwWʧ??H>!|.r9Kb\ D+!l1-FTF{5-ʅvxhx%+$Ը;i_:n2sWgFZA_mCgFUǮs, T!ۡO6PŎυ&46\çuKw\SN>Net!fUБ C!V}7oyS+߸6 p u E[k/Bt||13|Ŭqq49njw[}$Vc.ڤ|L/qdCqHY\ $-T9+Μ/[3Tp~kA}3Qj$`?mC+}j7+x+SSU=؃4Hn6 n04ȻN]4+̧=mz̞Wj5mYR }KyG?jmCHvHбf26>cz /8jmA#10`73H&QfzM:|(>=; j"NiڏSdB^N]I]`yUi§JQ tdvu?FDi*Dn{M^'whb?z.1޸K}',J;WxNUfA $3 ol~0|Z&TM8wβwHUǥI\yIA[' J M  121u[U?N:Q' ""|+~x#ܧqq&OO'P 6L5Қ)fK"FIDKcQ'dC4\mccrf Ve/Qsp&3KE(u.5>y}s.+Q$ L+nf6]qJ_^O=j}!fv?LW_"6@=ƓnVy}Xl[vKp7ݒ9&x;X">X}蚟b}i= bX޹r$O%Qh Fimŕee7`u/wn*_]`4>68N/) *mfSsd7픃2WoHͷːon&s +JI)$F_m={^:K/gHH=0_?B:(3'LX㶠S)YLph2úa_]Z;YPG I\e˻69CYFz~-vw>`Sȶڿ1I)a!N}Rek;N- eGQ 3P>ddhMY@gN:#S߬%1oBDد p] iK/dʖ8 -n'_ar=Qit´fhس,=q^t5v6M'@jg?>HRqFG-g{G0bqG{?ufet̼.ﰕU@_}Tmg@>og_-02;SuAiSPvX}9YL&Kb"~EUEy!a췋:[辖e(l!`wuIM]7 ~h$vGdeASu-,`n9Suue~8q% 6.Zwힴu=:[GwVE\n'#:QRTuAxD(DwX' Gж9=k;3mUܚiggwIm$PH:Kl]5?t8OJĬk@G^7Bfh($x$~$VOŤHj.]P?N\-yg}"4<jH0&̿^'qUq Y(sغ=l[nnn~TYɆݩu4̈q#/ޅy&=>Z}v_ A\߯? N* B$^)*?޻BHU/OY&su|qrPpզ/n hK2C ׍p+Jgºw.mD*\(h-Zߟ%%%,6,>=::Χ1_֍$\kk;{jaԔ~7)Ǘ:%P4qӤ Z,}ZYBLӄd .ZN6R H3!b|dO4UH )}y`{ TuJ'H϶h yV y9ia)Zle/[gc^cgafx|Y?Jdΰ0ׁ YQ$P)Nc:y. *L%# rtybG]ںh{EdI^Ca[:EXȯ Ş+Ҁ׭_(tx7zYC[fɝѢfeKq7Oϟ"4Ȉ"dnʰT: ؍o`}]&{|#t 5vZ3Y_Hj%OWY8G2y}3m#&;3Ufhxcg#{~6hGVڡ=F{@SG@$Ft':6M 3 s0UEZ9Uw2-f#|NQ3EJxe6X[?_B/ N]D̈́_;9| H |榯MNL$c8Y!X0=Tje$Saw^O1y1%k֊68%@I֗ ]kӅNU?2U<. B;O+˽:'E"XNjZa(xΞ8ayhed"=*}fbi i[{$g܀ݯ`4K:{n YS$ϸu0~ʂ; qfb qН1'kiX Vx.ڄpLxݖ}R?dl3 k^/h$x]N;#Db[=R^@_!9/16f|tCtˬVїGFѥe`^pqYrq?rY)@"Y;PjrMSx!W=6:Td%]{RCjw[j6}zp~C|ׁ3jbVFH_re@a\(v }_e$z%ڑ8!2C)=rNT҃2BN \hW3i  '75 w`z ֳAtuE)Psv>:o$9{3,!\|yx]6B.ل  Z šV#OR?4@b⩿yŹt6'eR6y16mxP(n[^R5R d_j έP:%Eҍ y= u H.K4 wgUٶrȺ504Gw7R@I*u ӀeɊ{Elxh:1$aq{j_9t,YR@PcLS T"

zWP U|ߠ}|XcSH뗡c%o3Yvc+4 {lSZ~"sSЅwԿ.gɋ;|ËBiAi.0_ݝԬCq{rETޟB6eeŗ!!yf8 7,˜N~^Ԗ4VTp`42c˭3r/8On!y:O=Ըߟ9d RknOHu3';aܘث 7]^oGh޸ۜA۫KK X$0[e0">s~ T>|S)k6??{|CqQ$< B,ϸǚfyΟv 3:i:Hj-ܟ-s ~9 hqD?IH@Mس+AUe sSslc)t@oM m/ [LpUT:y="脦s#sKl[e Mxus~?!8#50ŮUx'RCaܟBkrp}'woH&5"ʒ֏}?"`WeA'Z|.c5HCѵʭ1E9rvI9YոVڳoFn@+aV2li5}D2&#r  $VtCe=M}^M}{Tl{v> eãRΒz:Ze*["QRsNoz9 NK?`{HL԰}. W)6-58mwP3D[7]ٯ>2\پ`%3rG󘀵K!b7tGiA~ͳ[m9;0St+=gsˉwK ~[=cr!SXHCS+q'n;qD竌0Ȕs@2asXJP߃P 6+սB7VkW9X.|HHC,=xb01wvF꼌?wilci0f5R|w dz4>c8[hl4FB;9ISMWP?qսakJ {/<ۋh䜴!g=CC~ EN:\eዱEH8K[g{so8w,bOG؎0*ˆݱ{fŅRѥ2_xA=]O):ZXAk!Њ>-U8{*D}*1c1&W6'k}G {XJKU/ fvbs6pjq յ=`BѣKAxuX'co|Qs$ר $ omWJ?ӪFx W<]U2ECŝJؚ"~@N{L|v@EnLzϵƾmA{8 {0Q}?8PUJl"ǏJ Yi U?h\Gx8 UFfY1pE8v`wL0bԻ.o>y`(ULV#J-sdƓ>MCo/Xn11E2%l;'']%'P YfF|8"+g9b &KYF&߁G90 +p1V\&O u >/>$P4tCed&!@ JY Y769LEV7 @MO-*@5\}FuV2nX ~U*vR_I`jj  s$"> s*}\)u?4h "&z Q% LzefnE.=kN_U;N1-r9ʝe*/@uDխF壎Вv 1цz(R|?hĸ4jnZjcm<_'wE)\ >7w.c|ή)05/`v8Y7Ǯb3ܢXAD+*~uUt\?9-WOMapU)^^\6wx۱<C1 <Ξ]ydF#p^!ba9̤?mh޸A50]dȗYD 9p \]DZ.tfHj:}B?ƷqPTvRkrB9Ó\<&`Q$*jAQөYa"ctXy'žvkf:cI@XQ#,']jwV j*~ sF7sj$:5IckWWv!wE%)m51QrB8iwr!;9XL\ݩa, ~s*è+;}}mRA?{n4.~О,Ux7%nBI/5JʬqFL|د˙pIZ^GT\3~:|Z%;J0 L$kկx_G_֭<4:۩Ө~_Ʉi/$ "ݰs M7PJmuuBi.)Ng[60(1//OoӣZȵI3|"8 I˰ta<9+8ܾHxRc,8;55u&D 0]k*!ץ.߫=h,4žr`Mͭ\LKW [Qc?|u f{i!;ՃŔg/]q Qx;TVWPe1K=?NEflLۉf]Z-nΨvp7d}z%u?A4Wa7dݗϤ7ǃB.%M?n#~ƶV]V7it̶_Πa];yc*QɒOK枸,oؒNx߯|>( _)v^p/D6O'"(E2WdzRF. H{$U ͕@TW{LW"(b.Mn(|yֈrؗ*%qxt:?!hYV2_V7;AT̆#^=KZ}VT-,D"!Sg>5; W\ 6PtH)w0Q,r\jwmʖi+uh3Yc8G)+qg@b9^FѨ}vԮTov,`xGDZqe=:FkaJ n'uP͍1*)[FXz+[π]:rܞjH\@q}dMV/( x!J칓--)&_jlJ<ؒ*Oj{±K7wՆZ)ʋxh.!ZZ}ߡ^1~q/hEE% ]r "$1 U|J~g^U5Sf3Ν!UloV9Yv3 wG}%詴"CˮgZm/?+_ː7jCB?W$Wm`nzөCΊ>p)@tO'h¹ ,;:tJE!0&O% ($  (v[6N_pPrªϽi}ϯx9,4 #E1( *m+2O2g@N?? ]Ɠ^PJ,n QP/%w>;%7C6~ z1Io]nB#Y执\(U嗧By /=LYPKwDޫl(-l^t(Z6i]ߧB=`fYrW\>AdV*zHBvXf;/z: rKzo`A5UE6#1UYˊ |q8Oo w>J@M ?sr 8NwӦ7%GIPH3~ f~=/q<'pҷ(6J}lK狽r77B^c58%hnZzϽuuZ#'tt`^id(s#Y>?>̮|E@{9q372g & y'֎NKP@ՋH [ws5t9)1֬Jp!TpAxxl,=7nKX4Tx#A@i[hJy~Vˋ)x2u\jХQ孚`5rV~nB_t=MN&ŬWf W{;0. mt'S1qNL+qx? sy;VHE Άn=c=_2Q^!AF&:+]J4/JhO!1?ei`F(n_uY5Z59`Z^">I;Q^&#g3 M0%4]U mf~ 葋ᶆSžBURiJbþ$-j~xaQzrab*"N]A$rfK-3?溱ך{%}#@ӦVishpJOo"GmOI_ y'_ 0]߲*|v?͗_eE\J$L#k]NsԚ'V~к \^__](7JXq$L 2*K@=o~-?;IHT)mq|b\Xg&2oþ8%K0MPQhLɋ1Ye*A$B:Ie0:h rXm Ucɮ@ v;xXT; #~],СvREb:7(t_,pۂxGK `)̿A5--*w*+7IBcpk*SPhutcs l^f8jAI.7EhvW%K!cxQd{\cցm=LhYJ_9&T,PK0PMvŔ+] >03Bn>r~KB$F̬/3f@>CT].p*GJqV@y&ܤTS\jC_E3Ӓl;cRi(V&D2z |YW 2eG-\<lVDM m_O~KR?mQh!ł-ePyr,]|I >p $/IjK;%6+sϨzpTDpG OCP>p[\r]54+J/)L ]LPŋ\}F,pGCM< ό*8orS!E!IWM!&]gӋԳj&E4:\>]%0;Xgz`7~xSdAGhlS4lmBem w[֧$7`dzCjU >6tmu/U1_|ѠhiTL;(7>_x(ܙ&ɇZX *1h_%c2Z7sv~-NOG^a<࿰fp`}xn1WqezIJnZe@A[,mǼ8Qw)?9))*CT)wOvMrW5{0n6o[W~+  {_A>pcGsUe/eO`Ş%lPcP10K j"oZTQ_b|64IUlaIj0x >t/J25_Rh3'Yi~KJ1奰e7)~֘We<6p͏;odÿ$w ~8GTaZ݅2. #ا"Z@8%μS9s@K3ADd'}3P;Gة,΁4}l:(Πh 睛q 0O| Msq>w-w2LZ 5\#DD-Wo]h>h"{DW0-4;)B>8"WQ8=T|4>tՒE0|,{ɋW-Qe;ܩN׹z.}x; aՕq>(j'GԊӌJ=qG#€<,хF)F^ODA6s0nʻpDGQ#J?%-l8u9cG<<ҭsԍdÇIwwaJap#ƅ9[K$*.<%./]Uɡ1a&‡oq|ng5۷H=3X Qkv3GJ4vBǸHWR9FUE2CpC2i XyfE&6O~'PZW:YH[/FT~L0-S13Ӟq$YoPKaRSWaPK9 layout-cache=IhQϟyh&Pƙ:Wk[bP"ؕ.;D E*UBWS\*֭_99wK@#ŘTKK\iA6 ո4.mN4quL$4VOkFzV^p|̞c/If*ZFxqgg]\SAS􆎝ߡ1O-bLxj5tvi5MigSOG"Z樚1S|.{j Yft7VpJOx5 v3Gj&xWiZ]C]SN48P1^˂r],1U+Q_㪺 [ވ #>JpH.9Cr’ $8f{PKPK9 content.xmln#I&">Ē"%QYQJ]Q2dd#8qj4Ϗ,0 ,Ϋ]Bݩ#<>37wG$\tR@v1L{:7{pzH~>׶wo?}Hx'~ [}u/}BmϟZkN__c,V2mdݏ,05yYg*h ϖip0d2)Mj%VmHp/,7\JCa l;*Ha8Iv0 wm>7`mx,`MokNoXxkFۑI3|dM㵻ɥ;%rrJO/X=wFiLrC(QO(##TuX3VWQasui{n#gJKяJi2ýAgD=ƿq?{?u@AWF5yU o7r)\ZL*)^;B`Uuih_ Ub@5AG!\;Qdl=}Yjni RhR5[04EA{jٴ{Cgaa7s-/~juaEfzm|\kp=\*V-J߃ &v'JǙrkLF. |q4}LCuS~!gRʮobY&)zY:\|h7{E'4-IXw<@~ @U~RA\; u*xٟ=Pq:uˋ>njvg+屟>.hE/ZYFƘsm8w8wϹ66S#>\uYR_FnԹu[k>ԇ:ln43Ɗ)8AjV"@%ӝ_2oL;:Gճ0C:$s+W5P4 ?Z+)cK8uC*AB/_PVhz5o?>X^RPbDž.tq+ػBZ슾b`62ClX͙nd(k@ie+8ezWa}ӻ9[`7A l| y>[^btf]U,onX*+<٨T K3&+ț?#o^Me !?7s@.f7㖘-׆sbm;:0g vg za1}Üaޞ^*0,iWќ_գk7YkfjD<_?wT/)HS,'.ݒ̧{=ᯞn+ WX)yo=er?Sm#uqTcc+FZhxpLpP{ #k a~w @tX0scƻ9#X43SNe뷙~9LY1f3T~#ϔUYCm&`~~Vmoan>SA܃=߃=}V>~Cp9[?> obrTwS;S+U$h>v  fh98GVm98R`do$@:NT@ SD|;!?o!jc~;w9lc~;w9nc~w9nc~w:rk?=lwyco=c=c=c=YN11+a|p܊bE_ {-'{@]UD=*Ή9 ]Vp uTw^:Oe=a-MR#0,qn=(ΘЮ؋(%~ 㯘 n`- zLp+p~,Xwubv92}U4؁}a޺(a=uɔ5Ǒ¢i@ ʎ|҃ JL@a -OxmU_&{J2Oc_ԁxN~˴Tm|8ZBr2YreJTߴ,d-^AՏkw{i1~ܤ#ŴB֮ȡ@'N&`}|ui G}wzZ/ckZ4#W9@T=K{Ș0OND%zVeҲ>=]ksPNxޏ|=ǖkmh;ZT)55uK9^\{' o0zހ1TkLg'0T{',{΂Vi'p>krM]{=cx1~6tE'ɤwpx1l[Ikұ>faϗ=_-n컁Hnpd.3U!÷VXwX>^גmi5-" ϝδ7Kb}Ɵ{l=9:LyR]СXa*6J5`vY/U2@#p¯ XgMeM:N55i6qԿ_֤Y~Y.g˚u8k/k^i}I[heMJy,(X={zߐ!#tFqnm-aϧ bP5Ӹ?j`~qS__"/ -j zϏ}__-&si5k<qqԬ(_`.RsH׫JhUnvSٱnϗI@]{TaA7Źx o|B T Q]@+vkCZ5Bs4J# lzCbd+WacV>BvK\NN\p=AI1 (v1 sU=K<]Wwq T˓iiQv|km@%/K0mT=qX)K#duU.d{),ZǠݿT;ąc2pT C OIV&<}G< q`6Y칎}i@L;x.=OhcڶŇ-TL|g `꺬UC?&e šn 4mDqh)&%2cAM`< }R@KAMkJG`ZSOGU"o" VLT M)Pȁ(DDAq`ـ!Bm"R=?-ȋ6r!B$SSjGNԙЮ4i{|3B~q³iИ܀&SY#]X8Qhtp p+f*lďJ h ͦ`zH,ix@=9d:"8X)Ǻ8Jg <p5~{puO(h? C1#׃C3 1ϳa  " R \c,nvj W7R\r3%V[cWRr{Z՚GsWޅG3L=--ǟǂ2DhjyCϞZTS ?VULP*aŬκGW/▒Q[J͹Y,Վ&ecS[8*zvTnAەF0e'X%XZ.BH9F~[s|ApIpV>xL4Ύ"`5^d'ʹ?3hֻ!9zSF;$$mʰa8VMaQdeAUvzA1Hz^'autý'' XT#EMUtd;O:ۚ! s:B~C*U1WmrsX.5|BaZݴ4 |\ЁՃ:I_齞PfI{'zR+V&2PSǓaaTVBW6dgϝ 1Őx"`κ V}4?7(=u%|'FTԊKFt Cl;gT4CG߱#n#%|:z~@RO$܀J5TJj8zwi/;-,{af*{Rޘe^Tۡ ^y[IVeDP糑zP}*" -vhBBGrvlhm+,q~^=;g]+"t33{h~/Fp"F^JX9*TȿOU \(q[ݽgrIsG-=&k68Mȣt O:U.h $i*h$M iiǕaƪdKmLzKfJdsӠW9&Vn+ӳ聳f<ˉƄM:,JyZ>@y /n HƢg^r_*SqSt)=n$۠kP?pمj)CA<0t 9mDãy1oj*30Xf91^`HrƅjhŜGMFb5(x 0>47 T9b.NC< Kc\x :# . הn{BQSnf< lKKlE!f+i@"4xJAyNfUjNz|^?vG`m-&PVwY6G(%L_Q):ǭ]YSd:B&&Bꔲk00S 0}Q_2x.xE^ʫ%D p$4HB:]iOsdu+8?J10 Yf>t/Ces(=ISatLDl@tԚK?u$H8/_ 5#' [FJO1'5n@0lS]vr7\vfBmT&iCVi\dB|svCT9r&hŇwV n12?sX)a~\XvB3. F%O3A "ph1A(D+^']ڇl mag}?h.&ёf#hlW5]A2o^7|a"9Nx^9߱|!FWszq>R}r:]@'f8O|Lw% m: i9*jiMW6Hq޺hu9h ]'J-t (g7&WKJK1,P!Dտ`+&L|qN:cZo/uitGcMܱzxXNkxICAqX*8}~z+ ب]䓋-Szg7`jO?WbWSB?BnZ4)T )61dǶʨTlۍjGW+FtL9X\]j;“Dv]Iivf[Wɻj:9"7(mBMu6畈XrOyL5o@ҠqB&\j#h,9H kIEXCw d{?Y wt+5# {Ȋq,L[G1h >vb|Yd#/Ket ѪܯE[S`EcLf6oҶ7^JFuzV=kWX ǁ?f9U\䀦d7E3 o6t[idv+.&2`LQB|UrR[h޹Tj[elř{f8-*gBC\D$NZu} aQ:YqX+^nt1̶fyGL`[7װpXF,t!$uV>h 61LR6qJXhӠUvܨ7gGW?,S N)G= .Z@ddiB4(*?q<@_r4656MU;mX]k±Ht)n'_{-H9(uzJ0>}Qh%_l~r$iJ) d 4ISG">hWi6 kq0Kp *^  Xjȿ-I6fȗ Q2c,%9@+&K`tjq.#TfȌ4a_^uD%1/FN&t9wA zMʼn/ks{Vx KDgjB9a)]<9|DwC!D`W ^cmTg 0̉W$as;E}қ#.fUo1wWe9Xt=V2ڇ$$M'xVb8ǪSuH*tљ\)PE<9O| uɛ~owjxeV̵]۳)ZjRN"llw$SFֹh-1lGz{Wުhbf_nU7FwCS?_&)E/ƘpcuJ-tͩ*16^݋Oiy㖧I+v)cݦ?@V\s i?@s{b7⣷[#V|9]l[J"C7ޞ_ܷ?Zf0)EO˛k/֪4H@q8/:E[ՙ5QӰ&ްժЖտDl*)+jyΥD&/]c>%,I'ad:lW^(>MI ޲ :c:dBKsMmƝj;Е=a{w9=*>^=UÔ+)?}cfHt.o)cd-\`=/iP?(JbVTux~4a$2R[Bm ĩ~*]NUqFڝѬ1YEK҆:B[ޅPɇyQ/rDO`B2DB|7vw1.go˦Uzn; bG^Na{f w{z%* $aA}k#6ɉ1P=Rўվ;1K- \8΂ Q+e80.*!>`Ī _VJ@}1>F3;;>ak| ƿ̀ `8TJT+ x^E$__؞6N8lc6$mU4.;-\T ZRG5Zųc-!TZHWGnbj-J}ľ/% N*=}]hY׿7^ݧ/H0yYO|)GRYN<@x|(?X'"C5?OTXt'nU rjkG9(8_/$gvLotUn mWkUf%^0 $3mlg8Uj0s+|̜ ];9[F`H72~+#BĻٚ-7?3cb Ele&)3]fjm\ԂX|KQIČ|5˛?>?`9s?ÿ o/i>fԎ'/ijmkzK7-ouK<8Ąe?oD wdz8d^<=0ҊO/LA1Y}ԵY?{=W%w΋j p#.ؘ9wc sB6}<3~g"9/yfI}t |/▆e:-8`#;W^F*IϿaDⲯ9!Snߓ_oeNzgYK{|~֙ɔ񹷉n^Җ̷[HK9I\,Wf33K拼I ݕ9O;$7CD1GY>ؓL!B-逼/|^1x oeZV W^XtMgY*V&=CʈQP" V!I}1jeZ9"V&U"{\3V5+qY/_W7AgW݆}"M؎q&C}kF`;^護AW?|6r]6oÐ"o2LV&> "PS9Kayx$L:)b>NŠ7LȘg+ocŚ;e[' nK2HxyS6~utFBִTᶽx伭ޑmߥyR#Yg`L)فl\>}>E-(䴱|Qc&+'*}FП+Uu [F̦PLE4oV9Z_Fr=U_+̡#G1tYѐj 襺1x,߄NX[eh.Iw=zP]= eucuE!Ѫlhr"r[9ԧx'KVtBP>ܒWͱEϱ]s)hVoVg鼩I𯜽c,˖Dw-PR꾯4 Z?,9-h]>eM޸5c<*}o[2ю6WS,qnEK7W I(T_|fqLK5dJQCO[fĸێO.]1L'MޡL² ޽e(,#bayLek*>./Nf 3-ҙ`8em$)}ޘ HO{=ھ;k)<~"0sMz_l{ݪvTxOl px:ZEYZx_(РQAZ~A8>sBm˶/\^gIF".7 b| ##Cz $IxK^fowQwFѓ ߋiLBB\uX,`׺eO{xn\IW.#AL:gH"otX n/h v. s'QؒӞ]9ӱ%$.,ݪUCVAmۧ ª*I_ru:p"ز]ypnˋ ͙JlOVđSßIRHY&,ŸBN!mT| [˽{4 :vZ뷸"ĤP&A":"Go\yһi|8 [ǭfYos Yē>BD_JsT)DWޱ1+[*ݟqs&`A?軕~ʿMrÕc1 H"zw\}<<м4ᇃrUP=+93 ד!G+e_[=zRiY{S&3$g?|C=ҡj?8:%JcYQ - TQ ux9#=1ťUF-O#u,`AZ)wJ7k\_#7*zb`}sPB 0X $];o{-x S0I wFG;w |񫼣!~Wd)އKr9.-z3 jB$:B]%W ]:=?Ma b&ZpԶ7iGws8C =E! T) >"܀Ş/R8m8f/&#1BFy3"gWй,^:ݘҝʗ𠑁>N+9H`n؆+)|*{ bz슷?9ST eEҵ"|ШTGZʊ=8,Tv(zU>>wqFbO`V o@M3p[sly][^6vNK^kOk I\<-DK寞WR˴ ( -Flhc2@9`Cy| Sk0${9hCR;jRAFpWA=n`=](CL&+'`"`F h4#= ;iޖXY%r! ʍ")4tU:Ћz:'R"`)\IJ RA9Qy$`T Ju G*&C4(e֝Z5yNݺivḃCQ5Qq5Q |B@fuHX?-'mg*B|Sj4̱׸TB&H6HijoWxZо| 0Z!t/ ן1pF/\]N֩v{1VsnOJIN^&t}7縏X>G]$ ^D\AW͠Re[Ӗ>hmSjg^oPH0vb2BgxbQ{wjmnmK{섕7Ax,h:j2+>rR+rS{ogѫL/[eh ]=,䋫1 c q4 - aBZl;][ݽ{}}\_>\\k7wO_Q7gm| Fe}-H|YC-LJI@(aHfOŖlm4*d<Hu~0mLO Ҵ{V g$(_XI)'ZG˹EX7 \_.6uY> n` Leؑc6[DΤ낌(VJyJjcK{ăTj4=N8@:O%mM9B̸OJRkp |H]VnBN(~_~ C[7@@Ǜ¬LA2Tkz;PSVfȐIu {(%Ӧ;w5߱ P.n9Oƨ!rBxJRgӡ5`aB`br3"aL& lhžEUc< +/LJR Mv(*\ؑ3p:x@@_DréGI[rzF0FZy2Me-<~x˃kLhƷCt 0_[1_tUdFÀ6Č ': mKidN(0q~fPz$)£3HZٔ6ܮgb"7Gdx G`ik4ЀSF`P-8DRHFZsًOOuOAfŎEop6zO!>gЬQBG.Y:rduقTA)5ZZvcb=nO|6Y60cFt i?XB^ BzI~)ԫ% \4–``5bY"S!3yt_Úۗ6"sYPᕅ ӉQ"&~%gNLme)PA %<`aHy 'r=C'>Cӈ݀w yLc3kx)Dj1$J@blL.6U=e"8tz^Vp0|Ĵ濴з.Jך]r"H$P>{:B-јr \I`ē]騛#2"7'.i0 ʃbbV08TRkzˍ* 6סv9b{=Ñue3WO)S\1]Rq)u֑. &!ag%"HQyPO>\ز ]J?h0CJu6:\1眨, ]u/u3ڥe}0R)8|MUH9=\"=qR cz9.8PD1"Nn.VelL3 Vߣvrd~ g |Rx{*#E@)^;"扁=<qP>%'hqqԂJ-` tׄL T,7`0 9"y顶!6&iC͆]Z4G P;9.'o(7O^.=WR'Cr+BJCI,#[$]Աy)vϻX8-f~RCo۱q@[DKʫ5uQaV)62]`h"^֏+'rY"F!BX~s2D 73cBo[T99nF~nSq=9=SAhʰSY4 K q ,=A`pS~/HPMa;j ?R:s_C&;a񪀬XeG}4qF?#DYў<☉7|E>:`Dsؔrt9i)ɼLVCFir|%śM4Pq¯wKBQ9U&TRSp&\uVIcocȄ1)'& t- gTA^g:mfcHkS/ =He5Y`dc#•J} %c@v-nX/B-hbR{\z^ T F D.zw,ބC[^!@:U_:ias@!`0.Brtc+|~<`"ꙣU!xC$,O18Bf n$iL_ hG m8Ks)f"mJR׀ Z뭼Sƚ:Y |~TЍ0~-ءS T)vG{;9wIQp膑M%gg֐Yu",te8l |  Z4{0^0VdDzS_-B( ƛ&2.i6HG ~ޑ|0s0[2Moz-]I }1cW.(:?$MA ڭ*mAfd5R1(!fڝLn.:5Ǵ,>Sɟe`R(d Lp=ѥ m" ҉ Ju%lן< ؋yG?%`&0CñQtyR D*"u(0M*bi 3#X03q3H'.YBw9!Me)dW[\?ga UR12LJ "s8&ԜN&f_w-C=l"T7o/AGMl"J!@8t $%K.])&II|pPM0hXS`xamMt1r@)w5F!* .1&PsttbʧsœIY',1Œ omK=&Q]idqMc50zG~H oM jVjT4БZ1^k#C`dpQ¦t"d\3t3*NŻL3>pE3EIlp v8S"|mXl)b)\EWD{JTlE5DŽpS݂jW~Ijl9&8[ӜP\b!!# $`7U 5|p5`)na '% @s(D͸m䄰i0djZg'jI~nݵ~D*%s~h?vۻOwvuyֹkwvsؾ)`B[\b@CA}|xNڷPy].AkkȹhckˇOTnyBv۾{#?]' } ?_>xzپEֹ*;##@z^^^]=ӆS]b7#UVՎdA;w%4;.. bbpxՆB9C!UƪH'&0w* (@چ'?=@@6N#AHz_R[ 2PKƺ/&N"^PK9 styles.xmlے۶_Q'}DRk[z3:}`IHbMZIKWץ$ѤCfsCyOwpL<\$I׏??&ueB] 3~0`p x7bIKٲ@9fK/I 3hb/RꋜlpqP;XOk2ve1K,->MlO)Yx{{;PKpl$VpblNÙ1Gc.I.t4kG-hx&":Z7$r]dx;6G|#=޿tc5V4-GoSa !T1@$7 `4: zr]Lp>~j: Qkib'8-S&чcHzd4;6$BQ|E~ ;b}c:HsVuM>jS \ LSvNLJ bpA)ʼ_?RD MsKާE%kZ$G+YS?5E^XH()ˎQBh!#-E oBat"X1.EOխ y1i:2fK~y`{9Ӂ;;8/.0E:]%"L~-V8yߢ71)IYD$wr^E7wȘFLf9mO SrIۂ-})x _? xl!"r_lg%!(bIQ!;k cN͖ OW ;GJDd>q" & ejbH8M&$>cZ$Xd te [B&% OEt;YeL2EğD|3PF%2TlvhӖv ojq>Ǩ05/Z~؞O>h9-fXT31vcy:rQ"0!y3;A{{Z 54ȅ;Uaϰ%Cd+ .B+&٪ (ۣ#\-7߆sL{Rt?JTg] 17duA(OJ$|]%=N7[#ɒ~)!P2 zF[9!EBOHQN [w#Ey]CJ3J1V)|ތV8zOGH '4 |D %"u ʅ){|7)Įژ3W >)Jre~ 慚tl4*N?.4 xG0|bQ'_h>^PQ;Yg,M7vۛ]a^-ºWQh^xMrn9t;CHm}34E=Y(9\Qk/ob.H&=(4eC.抿)r6,y=ywkW׊hRgt6b;{/ߍǼ܊[ Bbt!u;2$h8%*Cj_.d13'1U7Z$'J*vfy0=}eRIsNh0-V<Ӂ6$wc^]d+L_Qgsm}-߲q=ɺ\I L ^tG])]+JzqtR^])]+J oOXR+'AXn= ڶL%(tC^UYHUW4zS83G]BNl[41'+ƨ>,3/Ƴ4v L 4 Wt-%SO ~I*.J K7:/8l Ü @_ru%R9 bh͓XI !Oйg I%$\Fݝ06rf:miu>RۈbuL]/$Ǜ %%N|dLRAZSWTrUB?-!*oK񎺇͇TM !Lpҁ0B Ѻ Ext;}H} Q wI=0NJޞ +|%?GkQ4P#6ͶtC玛IG,\ Pq\t:PP" ˮY9V׷OܶOFMm`Z:fbe:rJ-Rj?]kR]g'mNn[N{מ#) j*)[LU30/& Ǚ!|jz4v#*6DYSI J? 5N)-@WۮQ)NKW̽@\dç|lC0j:H\KC(;}7770Lʫi(Qb6#m)_ݫ^8/) 6[q`xkaPuS|g1,VprֿGKX`ᇑ2/o鿚pF`CV=LJRJ4@[̥@Bj>7ۮW?,bS}k0iJ<7VPKQR JPK9meta.xmlMo cݍlЪT=VX/ n?]Ujz;ϼ3ˇ׶~Iq"Jr|s@ߕtR\axJa+=Bvd U#ω^RȖ&cIymYArė,6F( 4FTzیH6r1Zء÷65ۖ1k˥IC7a.g5rycsp{޸74|!G$)wB!OJKʰxX@E_7Z(3ma4_O&z [q:v^ 쥑^ EՆS_~V͸lAl--Kd[bQƳ!0U>z2o?PKIPK9Thumbnails/thumbnail.pngkTh-w,/f%5NiNR!Z^K]ԼyK(2vˤT^*-1 )S4Th*bJ *"(~{ݏ{9>?jdhagzz+VҝVyzz>͸?)xd~h+ P־v֞;by6;&cXcp__ /$c&8[ s! bФoBM~9E+^:1Zkv6<*apFvucOBߛb0QHdd2r?O|9L&Ñ(ٹou űBu٠wl/(gz٢"<NMO< "aR* jPYZZfDG%*mJS[uukēS^9 I<`SI`7\f {{k JBV@U\7zh ssI-3ߘDKccuȒ>-w\3zy1M=$3)oldz]bnhO"m(+//_E`f6FvN/zU8%$ o_O~2ԶjE^$M|z;;fIsc'-^Uz<:hUQ Dcצxoo ZT4v!V4~i`DdU_UȒs5HdrOA&v;owEQ9S1qVW%v\%AY% I;k6 $ B*703"AT2q ͙:`7"%B-q®,E8<ªտȜKǻj"*ơ4选}$QWDЇDo Rp@XM=Mj6pR}Vdچy',1*G(~Ӫx;eE}0MXBkQ0iܯAd?71>`ɢ?!mE Ƃ 8a#C~^Ji":VhwYA5unڏV=GY &\ԣjlxzM }XpMc% ]1J'oF)~sW%! V ,ŗ'vG@YfJ,Dv*\\H3\-jdV*[iRd\Yxőp~JZcrX}IsOq'8nOe&O[ A@G'Ҕ _H1Hel;429UZnħT{ft1P 5瓒}U,d{V;3/Xo2y6GLVaYR|\U/dvZٞ;f]4r?@Vŀ@ |S:# ( @ 鲩ްpKc:/PT*0?r%N&zx](:G<9Y$ɽ()8,,L )xbb]OO XDF4]_kr{1[,h jt_&'ة]qE6ܯ[0 ^ģ ߦ2#-W؍(d佟XB$qnSɑn 7*g6P++(R)JkBt?PK_7 PK9 settings.xmlYr8}߯HU fadR;on@Y-R ,c-uKtw_8{9z^ @Fs9FmN&|~>>?"b$'n}`MA9yGtɄG>z+44\5dj\A9``"O B̃ ?s@hʸ)|mTZLDp h]؂irJGdK;Ri*O3Cڶ qC 򛄞l >:&p^Y<Ԝ~&#P$ }37GiJPF?+bG[RtLՖ3mMw@R)xPl{ ;Zc#]p6lqJcP#XgҞ}5jzecxcLOxƽEC34T:>ho[Z# ':n-4Fr6z9PS*}FG!ΝjZLF ӔN~r{`҄-1~yFXEfTx=X5She0{NVOGZb)Պ\n# (sE-o}+PKQ?PK9META-INF/manifest.xmlXn8+ m)FBc=0  "_Jj (jly{~oͳ]w@]?MoY]khZls{14v޸;ZվlWSk;X7vnϛW2X?ahg=[}qj`!I"QD4.N8:oTml01q%(FBplzm$! ~Ou2= } nɺ}kB 7uszW%3.$_\N>?uPQ)o~P?, #Z|ŒL9ڹoJ!$hWl& uI'Wj #S#Y(R Պ-"3 8$j7BXDUpk\X)( Ka1tHDRQ.f r1$ʘk8_mB8g @j"L! ;.!̊LiEN(|2l1J,z&hRH7N'V,rbyR*\M$e%]i)qގŽѸ pi %0nxs-oSL\PXDG0z;3o̹2Փb>I磊w痿,ΟnZonvij:S7.77 N/K_A~.PK ]IPK9^2 ''mimetypePK9MConfigurations2/statusbar/PK9'Configurations2/accelerator/current.xmlPK9Configurations2/floater/PK9Configurations2/popupmenu/PK9JConfigurations2/progressbar/PK9Configurations2/menubar/PK9Configurations2/toolbar/PK9Configurations2/images/Bitmaps/PK93Lrc!c!--Pictures/10000000000001FC0000016104E360A9.pngPK9[u-#Pictures/2000000700004C2D00000DC05457C962.svmPK9gg->Pictures/10000000000003DD00000322C8C405F1.pngPK92 "/%-Pictures/2000000700003CE1000012D0FA45DD05.svmPK9U -lPictures/2000000700001F8E000009C94EFD270C.svmPK9[&$(-Pictures/2000000700004241000012813C00BC08.svmPK9'iXpXp-FPictures/10000000000003DD00000322FE50FDEE.pngPK9^ܕ\\-ePictures/10000000000003DD000003224A24F480.pngPK9%^-Pictures/200000070000189A00000D56CD4B57F7.svmPK9S@8|-IPictures/2000000700002114000005E5EA912C70.svmPK9Z- Pictures/20000007000042B10000088BC2CA2502.svmPK9IQz--Pictures/20000007000041BD0000094ED934D2CC.svmPK9sd<-Pictures/2000000700005B140000134B8F157307.svmPK9o?$&-Pictures/20000007000041530000136F9098749C.svmPK9Yoii-v7Pictures/10000000000003DD000003225998F4F9.pngPK9) ]%K-[Pictures/2000000700000262000002471174521C.svmPK9p}JQ-Pictures/2000000700005F7D0000113AA553EF73.svmPK9fFQ-RPictures/200000070000409900000CECDCE1EE78.svmPK9z4N[N[-KPictures/10000000000003DD00000322BDB00588.pngPK9uV JS-/Pictures/2000000700005F5A00003205D8F8E95D.svmPK9v2||-KzPictures/10000000000003DD0000032210ACEB98.pngPK9I*-:Pictures/2000000700000D810000051A6FE8D3F7.svmPK9-Pictures/2000000700005BE8000008F5D01A78B9.svmPK9#$A$B&-Pictures/20000007000040E900001305017BC5DC.svmPK9bQncc-)Pictures/10000000000003DD000003224EF12C37.pngPK9D-3Pictures/20000007000071200000134BEA29D4C1.svmPK9aRSWa-wPictures/200000070000623E000038E8CF6C71A3.svmPK9 $layout-cachePK9ƺ/&N"^ |content.xmlPK9QR J ILstyles.xmlPK9IYmeta.xmlPK9_7 R[Thumbnails/thumbnail.pngPK9Q? dsettings.xmlPK9 ]IyiMETA-INF/manifest.xmlPK++ lpdfsam-1.1.4/pdfsam-maine-br1/doc/basic/readme.txt0000644000175000017500000000212211157517626021604 0ustar twernertwernerApplication: PDF Split and Merge basic Version: @VERSION Author: Andrea Vacondio License: GPL2 Plugins included: -@MERGE_JAR_NAME * -@SPLIT_JAR_NAME * -@MIX_JAR_NAME * Linked libraries: -@ITEXT_JAR_NAME -pdfsam-jcmdline-1.0.3 -looks-2.2.1 -jaxen-1.1 -dom4j-1.6.1 -log4j-1.2.15 -bcmail-jdk14-138.jar -bcprov-jdk14-138.jar -@CONSOLE_JAR_NAME * -emp4j-1.0.1 * -pdfsam-langpack * Note: PDF Split and Merge comes with ABSOLUTELY NO WARRANTY; see the file gpl.txt in licenses/pdfsam subdirectory for details. Installation: Unzip the archive into a directory. Double click @PDFSAM_JAR_NAME.jar or open a console a type the command "java -jar /pathwhereyouunzipped/@PDFSAM_JAR_NAME.jar" Prerequisites: A working Java Runtime Environment is needed. This software has been tested on Java(TM) 2 Runtime Environment, Standard Edition Version 1.4.2. Please report any trouble or bug with this or other Java versions. URL: http://www.pdfsam.org *These are part of the pdfsam project and are developed by the same author pdfsam-1.1.4/pdfsam-maine-br1/doc/basic/changelog-basic.txt0000644000175000017500000003071211225341616023351 0ustar twernertwerner1.1.4 (12-Jul-2009) (pdfsam-console 2.0.6e) =================================== -Row tool tip in pdf selection table in case of errors or warnings -Fixed bug #2810982 ([BASENAME] prefix) -iText 2.1.7 -Updated langpack 1.1.3 (31-May-2009) (pdfsam-console 2.0.5e) =================================== -Document properties frame now opens in with normal size (not full screen) -Console: added the -step option to the mix command -Mix: added field to set the step option -Console: added complex prefix [BOOKMARK_NAME] -Console: fixed rotation of even and odd pages in concat command. -Console: fixed bug #2789961 (stripped invalid chars when applying bookmark name as output file name) -Console: fixed bug #2789961 (Level 2 Bookmark Name not used on first page) -Error sound if an Exception occurs before the execution of a command -Console: optimized merge algorithm when merging a subset of a document. -Console: fixed bug #2794818 (added system properties: pdfsam.log.console.level, pdfsam.log.file.level, pdfsam.log.file.filename) -Examples and xsd documents included within the distribution -iText 2.1.5 -Updated langpack 1.1.2 (29-Mar-2009) (pdfsam-console 2.0.3e) =================================== -Console: added the -d option to the concat command to merge all the documents in an input directory -Console: fixed bug #2540496 (unpack -d parameter) -Optimized PdfLoader -Merge, Mix: confirmation dialog if the output file already exists and the overwrite flag is false -Launcher: pdfsam-starter.exe now can take -Xmx parameter as a value (can be set as a Windows shortcut parameter) -Console: added the -d option to the setviewer command to set options to all the documents in an input directory -Console: added the -d option to the encrypt command to encrypt to all the documents in an input directory -Split: fixed bug #2679389 (broken "save environment" function) -Console: set compression level to BEST_COMPRESSION when compression is on. -Console: called the pdfReader.removeUnusedObjects(); when the reader is opened. -Added the document properties frame -Console: -help argument passed if no argument specified (Feature Request #2697689) -Console: fixed bug #2715101 (Exception executing split by size) -Updated langpack 1.1.1 (25-Jan-2009) (pdfsam-console 2.0.1e) =================================== -Console: fixed bug #2464606 (bookmarks management in split command) -Console: added the split by bookmarks level -Split: added options to split by bookmarks level -Console: added pages rotation option to concat command -Updated langpack 1.1.0 (23-Dec-2008) (pdfsam-console 2.0.0e) =================================== -Merge: fixed a JFileChooser call -Lazy JFileChooser init when call environment load/save -Lazy JFileChooser init when call log save -Fixed memory leak when loading documents into JPdfSelectionPanel -Added the AlternateMix plugin from the enhanced version -Console: added the "setviewer" command -Console: added the "decrypt" command -Console: added the "slideshow" command -Console: new complex prefix [FILENUMBER] -Console: complex prefix [FILENUMBER] and [CURRENTPAGE] can take now the output patter (Ex. [FILENUMBER###] -Console: Dual license GPL and LGPL -JFileChoosers now look at the JTextField to find if it's already filled. -Fixed FocusPolicy and layout for every plugin -iText 2.1.4 -looks 2.2.1 1.0.3 stable release (26-Oct-2008) =================================== -Fixed bug #2122945 -Added Copy/Cut/Paste popup menu to prefix text fields -Added sounds to confirm execution or errors -Added setting to enable/disable sounds -Modified the dialog to ask confirmation to change output directory -Merge: Fixed the "set output path" if path ends with File.separator -Updated langpack 1.0.2 stable release (21-Sep-2008) =================================== -Added some new translatable string -Fixed bug #2098518 (Not giving the pdf extension could lead to block) -Added Copy/Cut/Paste popup menu to destination text fields -Updated langpack 1.0.1 stable release (24-Aug-2008) =================================== -Fixed some matches found with FindBugs -Fixed bug #2034850 -Console: Fixed bug #2064962 (Split by size) -Merge: Fixed reopened bug #1926019 -Updated langpack 1.0.0 stable release (30-Jun-2008) =================================== -Fixed bug #1972966 (version combo when loading an environment) -Fixed some JFileChoosers that didn't check about the default working directory -Updated langpack 1.0.0 release candidate 1 (18-May-2008) =================================== -Console: now xml input for the concat command can take relative files path -Added row header to show the row number -Added .bat and .sh script to run pdfsam -Added the default working directory to set a directory as a workspace -Added the OFF debug level to switch off log messages -Merge: added context menu to export file list as an xml file -Suggested output location if the selected one has problems 1.0.0 beta 3 (12-Apr-2008) =================================== -Added update checker to check for a new version -Modified JPdfSelectionPanel to enable or disable clear button, move buttons -Modified JPdfSelectionPanel to enable outputPathMenuItem -Modified JPdfSelectionPanel password column render to show '******' only when a password is typed -Progress bar now shows percentage to give a better feedback to the user -Console: split now uses PdfSmartCopy to minimize output files size -Updated langpack -Fixed bug #1909755 ('+' char in installation dir) -Fixed bug #1909815 -Fixed bug #1926030 (installer) -Fixed bug #1926928 (default env loading) 1.0.0 beta 2 (02-Mar-2008) =================================== -Merge: pdf extension is appended to the output document file name only if it doesn't already ends with ".pdf" (Fix Bug #1881243) -Console: fixed exception messages -Console: "file" tag xml input now has a "password" attribute to specify the document password -Console: added to "unpack" command -Selection table menu now have a "Reload" feature to reload documents -Split: fixed an error when loading the environment -A reset method is called before loading an environment for every plugin 1.0.0 beta 1 (12-Jan-2008) =================================== -PdfVersion combo now have support to enable/disable items -Added WorkExecutor singleton to execute commands -documents are now loaded ordered (fix Bug #1858707 and #1858705) -Added sort feature to the selection table -Added selection table renderer to show red background if there is some error loading a document -Added document version in selection table 1.0.0 alpha (17-Dec-2007) =================================== -Console: complete refactor -Console: added the -pdfversion option to set the output documents pdf version -Console: added the SIZE split type to split documents by size -Console: now use log4j -Console: now use emp4j to have encoded exception messages -Console: -u argument of concat command not can take limits without end limit (Ex. -u 3-: ) this will merge the document starting form page number 3 to the end of the document -Console: Unified enhanced/basic console -Complete refactor -Use of JTextPaneAppender and log4j for the logging panel -Chance to use the config file ${user.home}/.pdfsam/config.xml -Created commons classes to help plugins -Included and modified jcmdline. Added PdfFileParam to manage pdf documents password -Split, Merge: now uses JPdfSelectionPanel with documents password for encrypted documents -Split, Merge: chance to set pdf version for output documents -iText 2.0.7 -log4j 1.2.15 -bcmail 138 -bcprov 138 0.7 stable release 1 (28-Aug-2007) =================================== -Console: fix Bug #1764362 -Console: fixed merged pages count -Split, Merge: fixed focus policy and layouts -langpack -iText 2.0.2 (untill a user password input field will be added) 0.7 beta 2 (19-Jul-2007) =================================== -Console: added -compressed option to compress output documents -Split, Merge: check to use -compressed option -Settings: language combo now shows language name -Split: added overwrite checkbox -iText 2.0.4 -looks 2.1.4 -langpack 0.7 beta 1 (23-Jun-2007) =================================== -Console: added the chance to use complex prefix using variable substitution [CURRENTPAGE], [TIMESTAMP] and [BASENAME] -Added configuration singleton -Added Settings section -XMLParser and XMLConfig rebuilt using dom4j -Console: added xml input file -l option for merge -Console: rewritten commands handler -Console: rewritten helper class TmpFileNameGenerator -Console: rewritten PdfSplit to keep file annotations -Console: added -overwrite option to the split command -Console: new merge type using PdfCopyFields to deal with forms -Merge: check to use -copyfields console option -Split, Merge: added JHelpLabel to have help tooltips -Unified basic/enhanced langpack -New icons set -dom4j 1.6.1 -jaxen 1.1 -iText 2.0.2 -bcmail 135 -bcprov 135 0.6 stable release 3 =================================== -Fix in PlugInsLoader.getPlugInsList -Console: fix Bug #1641683 -Console: fix split page numbers starting from 1 and code cleaning -Fixed log panel caret position (by Aniket Dutta) -Merge: fix when automatically extension in destination file is set -iText 1.4.8 -looks 2.1.1 0.6 stable release 2 =================================== -Merge: added page selection printer style (Ex. 2,6,12-19,5) -Added tabbed panels icons -Added French language -GUI fixes -New icon -Code cleaning -Added Win32 starter -iText 1.4.6 -looks 2.0.4 0.6 stable release =================================== -Console: fixed a bug if no -u option given -Added German and Russian languages -iText 1.4.4 0.6 beta 1 =================================== -Split: output files name now have leading zero(s) for better sorting -Split: modified "split at this page" in "split after these pages" -Split: now splitting a pdf file has its own thread. A progress bar shows the work done -Split&Merge: better format for log messages -Split&Merge: now bookmarks list is managed according with the merge action. Bug #1490115 -Merge: minor fixes -Merge: now adding a pdf has its own thread and better user interface shows what pdfsam is doing -Merge: now merging pdf files has its own thread. A progress bar shows the work done -Merge: fix Bug #1529037 -Console: fixes to prevent OutOfMemory exception while creating PdfReader -Console: fixes in PdfSplit and PdfConcat constructors. Bug #1521679 -GUI i18n support using langpack. (Console messages still in english) -Added "Clear log" function -iText 1.4.2 0.5 beta 3 =================================== -Split: JTextField.requestFocus when "split at this page" or "every n pages" is selected -Merge: Multiple Drag&Drop change order enabled -Merge: Drop Multifile selection from OS enabled -Merge: Drop disabled in destination JText -Merge: addTableRow method added -Merge: Canc key (and not Alt+Canc) now removes items from merge_table -Merge: MultiSelection MoveUp, MoveDown, Canc -Console: Buffer file in doConcat Bug #1499436 -Console: -overwrite parameter added -Merge: Overwrite checkbox. -iText 1.4.1 0.5 beta 2 =================================== -jGoodies 2.0.1 and changes in ThemeSelector -Console: Fix in creator metadata -Console: Fixes in options descriptions -Merge: Fix in add button when clicking "cancel" in JFileChooser -Split&Merge: New FocusPolicy -Added getFocusPolicy() in PlugablePanel -Added KeyListener to every button, now "enter" does a click on buttons -Tabs Mnemonic -Merge: Table header not draggable anymore -Split: Fixes in GUI -Merge: New function with right click to set output destination file 0.5 beta 1 =================================== -Merge: MultiSelectionEnabled(true) -Console: Parse fix on ParseConcatCommand -f option -Console: Added creator metadata -Console: Added -u option -Merge: Managed page selection (-u console option) -Merge: new TableRender for the page column -Merge: Column headers tooltip -Minor fixes 0.4 beta =================================== -Console: Added -log option to the console. -Console: Parse fix on concat -o value ".pdf" -Merge: Added Clear button in merge plugin. -pdfsam: Added Exit menu. -Merge: Fixed horizontal scroll bar in merge table -Merge: Enter key binded to run button -Merge: Auto pdf extension for no extension output file -Merge: Better JFileChooser management -Minor fixes 0.3.3 pre alpha ==================================== -First working release.pdfsam-1.1.4/pdfsam-maine-br1/doc/examples/0000755000175000017500000000000011035172242020330 5ustar twernertwernerpdfsam-1.1.4/pdfsam-maine-br1/doc/examples/test_xml.png0000644000175000017500000005306311035172242022704 0ustar twernertwernerPNG  IHDR,)(̽ pHYsod IDATxkmY!Q@[TB !H% ܀$HH\-B* Jd)wDmZm-?NX笳άY|k^jϵߘVͷުv7~EQEQEQGyw&C((b(((J2 yG?sg>1|c>~yw˳w~}g|}]9ouYzsqwx-v=>~ywy/x_T =T੼ש%A/y[˟<y鹼Sy;=T9/{#_G1zY>1xcǟ}?ާ寽ϩ|ey՟WOx'|~>~Y/7|ҹ|<回/} ʧ|7~yʫ?)~S^ħ|oySCo~|~ȧ~럾,mȹ|=ȧN;̹<~Þ{x͇?;?3|*u.ݧQuY>{E+gs?}?O_}O~}y>^1_^z>wY{ܳϝsN>\{|s7>y?~\©| _I_sOz}_pY~/ /7E?r|я+~3g}OW=P>g9_{*\>3w+~˛7?yoWg]v*?syWs^u|Ϋw?x__w*OO> N~ //<~տoAy ._sSyѷ__yѷʋW__A_GG_]kwڋ^ݿw|?|-/=9˯٩/??P+ϾWzYooWsNk֠C?/^ÿy7_7׽_-?/G+z+^.ˏSyչ_Uo_.T~.o_Moo?o'oM?y*ǹ|Oy*^[NQA{x3~y7[~;;o~g;/w\_}.n_?T~῜/=忾鿾/_o+bbbbbbbbbbbbMc4Uxڄ؄؄؄؄؄؄؄؄؄؄doyzImBg=>3T|_yOg<ſџibbbbbbbbbbMHӿhm?&䭟ovݲS7O{-z>ß&Ν;׻ sΕnBܹ&䴝 eC]M#}'<>i/O>+G߄ N^Mȩir~>t]ջ<ŽMȝ;w~;r2x9]6!w i2qM)MeMeMMMMMMMMMMHMeaA]>QHX!Myr:!)6!{;Iy2 (~Ν;لNB%_|Aw!6!6!6!6!6!6!6!6!6!6!&dY$r1ؓ4lBO;OzғN+'=I]ǝ;w.7!oOxcMȩrMiRnB{ل\vir}_7!'eirAok:~TYۄ\ל7!6MKM8_۱ qOzғN[΃{MサoBN^nBNr lEflBC.6!ӿ /a;w;˓S`rNB}?~wϛItr."koBN0Ν;M˓S$t}:9]w S$uer8=6!6!6!6!6!6!6!6!6!`2sY37!_$McۄM[=>d&t`r2؇6!ѓӇߎugMȥӏc]\F.ل؄؄؄؄؄؄؄؄܎M '!Ǻ3v28 YkrXM[6!_uXM>B.+㓐 9U؄ܽ.~E^'!&r&&&&&&&&&mB67!Ðz`Dyr+zO5&d?L?Ӈ_{zy`{ݍ~_kr˿rΝu7!w/*SeX6!6!6!6!6!6!6!6!6![oBkbRFiބd\nBFEb&2T 9]?Vx&o:ԎA."?Lq[{2 `2^0N߄sY6!6!6!6!6!6!6!6!6!لd~+>oImBg$7!]>rwNc1Ð=-w /b}nbbbbbbbplB~i;&=wxOzxJ\R1&&&&&&&&&&&&eiMHSy6!1Oc>QO}ԣ?Z7!?uu7!B=oBؼ^RMMMMMMMMMMMHMȞMMMMMMMMMMMM>6!(((ەMHߗ$]8F6!G)w# BM?e,uAd6!"V6! lBlBlBF7!ߚe܄\dl )_ t5 V]ل]m 9"8N\Dž&*g)3_%۸IN>oV[\~|!U~׉k3FhA8ŒEj֢%=L6dv^7>oϰi4srxAͼ%װ7t|2XF5ju?oOZ]= <i4$١I\Y8ڸV,\]5q>~g/'3˗.[A ~d}L>>οjq -i[aL&Is0orʼn;:ZLy/Ӕ0@O:MH'іʠZLG-8&Ɠ훺?nv91|΋z"v ^[k ]M/)1˗zsdɴ3AwZd3<#׵frAd,7!lOk}_W.;jyAɘMGSONʋu~8̧6QP^qay@q}kdF'X-gR=jvw$st=zˌ8W4hyyܔ0}Y:/j1% r&8ۦAMR8!37s&ՠ]${xÕgOd>Pq<^]2#N<7 *yӚ'M&\w'ks~klESLfOf2L:3f|{kC<ϵ o3)F<̘t\ZgZ׵'d^Zϭe˚h86WA2L>W nO'=Hf4l?&5~vrȃj/2xZgw|k͚'xS=Nekƙ8ğ19PvZ^g`?: Y˵|<֟W}AބӍ<֟W}YބMЕMЕMVcԟzիW~y=Ust$Dzիz$&&&&&&&&&&&&&&&&&:6!{&+oㅛM*Z?TයMC5.6!crQ ~v+Y/?;N0`v 9<>_Vr;:[_&/UnBgeGM&7{&mۄL6&)L{jҺX y]d{ء}mBC9 KAA|&)ΡALڄ<8`v |xxb</ֵMZח53&w[x5rǩMH-f렶 l6!9^ ,k=xiҹq=~P|{^7Llo,ߟ7;&; ,/?̴tbr4Z&LokJKrj8ߟ@: 9K3}C~rWb'뭝q|Xk|8>b'!k]gʇj]oB\ k17O&<3훬8?;5{ׇC):"W7ZM&9ϥ:Hc2%3'o7anפ|&CA59/ŝvqrkZj/+4 ̨3%9?A5:L8d>M Rmu\⌾4+ay> vqr`p)^-oS%Ob pZfײ<'<`?]9 rt$IЕ+'!@WNB]9 rt$jG'! dX׮oP-7j򶊟ˌhy@^NBZ+L[Ɨ͚dGM_2?TU$>dvqL6h'^b6v3}pX^>^خyIHʙ\8f\S{ue\9H&?&6 siX(v`MׂܲjvMh'!/K[ZZ͌*Zgo~rJGs[NZ]&஌|x>6rmre'!2nŏkndo>8AyeGMfkɬ)˷lm?dpњh8OBjkɒ5W^NM$&c&ǒn3>|=Y>8 94Zx^/j'dRʹ{^k3y.6('; >[\]/5/M.bRq>~~єA22|NvQ{4`JlSB2~-`m\8s3 ^ݾer\A2{9 v,؄p|'o `+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IV'!©?իW^z$IzիW}WIЕߎt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WlhM{g'yhZ^ڬ\%,s2 !*jaW"yɾ ?Ynյ?W6ᦟ'S66ãhlu&[FONny-hGhvq}sv N|Gy'CkC⽽yhɣo?n_Km1oq&~;'s4x>Z+NM=]VU>ONޕ>7R vR '|<3|7ğ\jÏ~av: 3w_}Sz4+ aMgqcQ_~u3>Oƙ=G[5<ٞtRf0ZY˵8Ρ+(ьq&6 <'o3est忖濩x}&Trȃ2&3?t'!I)3++ףA[qLٍ'7u7#~QSw-`\9[ؓ/,s>SMW4̄ IDATg&ګeLJi_z0+Z/A[3q ̎3#Ϡl4fRSr~&pZ6oJNN\qgq9uLvT[h9 61O_>C^]qz2fS['M덓'+GV{]k7&+G<:9MPI>,be[kӚdw {hrSK]Sdx\[8?eN&3Omڛ7I0dɩ%.k='>/s(u-TBx&|ԏ g"o4K-aF3xK5Z'!$~:ɇz-yNvom[h~&̽\_*3L~}<ϓ1&$"(~0:?_ dϴqx'u\q ԏ9׌PwZz]{)> +!$n+i>y.6NH04][F\._ Ԧ4Hgj0|c!j&yOKY?*38=x-/"<9$?]f'󙬯6dǡ&iojk8Jg]xcϫaЬZj'-sFP jOm33?:)8EZoMmqe*IZ2ג'+ 缕 5yմõ۵I춾?wt|ΰտ Yŵ,t%OV_ueޮ%Ob+&m]s̾NBZw5U :C_s#/-qw~z~XϫCnG'!yGRM-}SëH~-k-R׊|:iI.C7sKVճϫ;O 8 9^خ$/vp7>'.u#1RӃ[>>]_LeRz4xۻ5ɱd2/4d4Rr~Gc/5R 8|דigjӵs/gxFk}lrr,dRY=Ӳ0/kqFm|5ھ~8e`~.;ʤ4s] 59oKf q͖6<&75M}5zˌ8W4hyyl~{eŠU*['L2{\AZGTk 2brϨݾ';q2)-oLOP?c<^jgBmzt=zˌ864u&Nk5:?/>[4Ek9uTiڨefhB2HZMA{.C8l3)F<̘t\ZgZ׵c/L&q,:}yh}-AMy=h#~6Zd>;ɿo-d`\53xvwqM3xi䴯2 {3qV?cr&촼@ގNweF{*@`'fՍhZ? stIH;@ Mj7UX8xMV 2 lxR[yW$u&XgB%sli$8{isL+ .OGj׵8ރ&oB M$$f%\ v]|4NmcI,¼acj'XNB\98eb.%TeqƉ;y8V?3 6߄3f2eYU{ۃPTk\/T.˧Z e̦''?9[d5p$&hߴXal4&k\󋼅Hk_8 %l2Nom8a/0o|r-r4^2o3b uM6&d:5{f5cLBӳ 6No~7z^Iі]8]jM˩sɘAܚM2?o8&--׃5[ʴorqʗ&3hwQV-W&<$G}yzXEevVOT31'}p)fpd\[\Zvf >$\f^cPߚ?0ێNBjP1KR no]QM^Af2c%6g-Aƕat\ ΧZ6q? ~w,r4^2oeYf4&d«gcnQɿufk~I[̸29~ISK2~\<Sɳ|))܆'!Wrk} \mb:ЍoIն'!S~<me-HkZZ:BU,=_N||/⮃|T[ ''ZZ>['Ck i9?qdqre@7vrA0B'#A8^O-yV9EX9?3zh&grȵd}-NmZqQ*9?6< j)@|jۿ7k;WVrtIHo׾<;е(OF ~|5~e-Noy a⬨)]e4!jjJkߎ/' ՚Ck6q1.Yogu]{PKC7p)-okIC3H޲{lS#ycm~u>\j/av0 g9ir >off)_N8"1dqCM)H_L,\\YռEOzh:uz^/vA}Szɸ0~g'd\?y~oy1Zߚ'p}2q̒[&W]u>d)3Zby$zm\Fǵ0<~ރ$9\gpŒҎNBL8xu4Np˼D~tSEhd Z~E^&։1%9l,9{d2&$g|{yhU7:3okq2Ar ~˗*3^Ouj2HCei[k_6`'ŬM&+d2;h\5ˣ[\%Hy;_L94`]m{Rl;oyqj?ھqL* ?O}ZP6ZA;Xqu28qP4--2/I6`gfegI%e QkvvjW5ZZוֹqO({LyAr*$ kUz-:33!绲V݆JNBER~3\|Z!Fb1(+[7ĉ;8Q"w4v=39ews0y"NkL͎bz`6 ?}i4댦ɏM6ڼ*DwFO~u`!T绞vF>$8+cyXeG'!5Aa֊?H8XOFb1/fry5Lf>xh-&MS{r/,^yqv=$d+t52X:Z8?.,-3CeNpaynNZq~o0/fxvjMfL|iG'!{F[w/5H-2&g8t S~8?Sehe2Ѱq'&5¼<|֊W>H˚``;V JTk&$RSm$3ioR}p[$xhhsM>N,gFdZcgF / (d>Z9[4x=_L,\d\I.bʧ5~-LZڳwt6,?ZĬ58{f$&h usX3#~r]/fF U{$? Υ|ף33Z&~'N~_vĎNBʕG8xu4-3+M,}M2ȒY0&X 4d2qwM%nd*Z1;: 93ڲ+vW&|f,EX<)y*ԂÜ|4h}/?ƹɏ\5Ay+8Z%[=^,&oI ~(Mw&h)uf\-d~8ό8@g\5˔y\mb:t0; '!@W۞Ծ3g̓ OHv'6 ϥu{Wpv۱▙LL|M:lz?Hz;egu&N2nSS;9di~*2^t}َNBz~Q[ɬQZ1~kף6]er{k2~ewS:/Z3Yr2~m֚ca4ZMr@O;x2mqSJ[&[ %%되Z%39__mzwFyXk~&._m2َNBj3ze81K"qף6Z 2 89 KdCMyӛ`kyֆ?:?qɔjlG'!I8xu4N UR9n[kMIf̛umyEhgv4'4 m~02z4'5crʜ2S_t2aZÃ3_:0h'X뺩0>0/Nj83َbz`M)Ԓlbre BM1vm,qAe0?Z's286?3`'Ǚ-aI><˻$jaˁ!S7?szz]i_;egu&N2nSk,/{QhHQpt㴯tP@ގNBmr>')7uT02z4K13x)~x'h^>Ng۳>?d<5?h=_Lċht2;qOzr&ORkzF>)"gt֚ɴW[ ܎NBj3#f^Z|/A,H/uqLu(iʧvz^/ N-*sdAeh%svr!R[L+8HfrTbaq)!?9֣q*$dRk5ع OBeͺFFt8S̻e|A>NB= }rwě9:1fs|.A>-V~Ƹtzݺ}C|7mߎ\gd'?L'wgX "挎m_{[cߎuY~&S* -&G=4fVw]+nY^L >;: 7UĥfƢ|ࢬvP3vp=ahAeeR T,j~rȵf?{v َNBj3+Eϒ ^ \^&L&s8>hL2č'̏+'Cx3gk2TomVIء.GH|ݵ|,&Zv_2y9l4iMa'gHޘi-q5ތ pvtR.n8EXPsi7#~v4uyIr34ux8-g5d%o*e}MоuEV"XgauLNZ0EW|>A߭PyeƛSk̳ɱ4wy>~lxr,w[I kۿm+2c;$jۓڷ];Zqſ͈}y=cM0hn[v_܂!ve~qaɘ!jdq?yQճZ뽷yi'` vjW5LeܦP_-YI^d%=vZ~o?W}~P[F筼e0s^39Z2 Tk?'~i u_L,\L6^%~Ɗ=5Z^(Zr[sy׌ʌ|=#N&CIkr\1kf?p$&h?cR޲JP ׅ}~7{W˧|5?0k¦ƗOdp1ZA`\-r4^SeZu\MF$,YϽ:Hi85ONd|fnmY޵Uks©㼔Fk? ܬve:'?a>?sѺu꺙ڃZ2{˳f^M[8񞸗7hߎuY~&S Z}䈂|ֲu%\Kڻʳfv=Gn_ ߫xNBF~Q/dXLpނ#Qvp=aucM|VS73ZL|Z/M'yAgd|Lj5 nEdUR*뛒 "Mv`2,GjM1%´'?׵W^A8-SkLEハfIHM~Wa^JdX.eףV_d?z][l^`'+] ~{\Fm3zK&~N['pCMy8xu4N_[Qf/V)˵hb F^/h6<8k?#N,un׌^; nċW|LJ%M4r}:f4ɹ4_xʠ:\Vz^FgY=q`bߎU~A-k2.jy[䔖 > ]m_|i2ChUsf3gr\7&uMF Ȇ'!W͗ȶ1`IUj[7Zc0Cv[6^Jד˟ ɗdL'Z09d˚Cnƍ㭍 = օ2f2dLd8 =KƲdW Fw2hZpuy$]0` $$8>LZ֠x z :*o1.f7l݌qG e`=zKmןMf< d̦ƣ )N ߄\*W嫣^kًZGגg9gmӠ&o)oojL$dxO-̚\6]]c][d.glwB5Xk.krr3hsy$3x5d>qb V'!kUP اM*ex-y>llBi'!-qt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]#؄vM".6! lBlBlB.w6!j'!6!Ǻ|&X 9C`a:ЕMЕMЕMid,HMHTEQEQEQ%_M T7!(((EQEQEQmXGiK$O(IENDB`pdfsam-1.1.4/pdfsam-maine-br1/doc/examples/test_csv.png0000644000175000017500000005251611035172244022703 0ustar twernertwernerPNG  IHDR,)(̽ pHYsod IDATxkmY!Q@[TB !H% ܀$HH\-B* Jd)wDmZm-?NX笳άY|k^jϵߘVͷުv7~EQEQEQGyw&C((b(((J2 yG?sg>1|c>~yw˳w~}g|}]9ouYzsqwx-v=>~ywy/x_T =T੼ש%A/y[˟<y鹼Sy;=T9/{#_G1zY>1xcǟ}?ާ寽ϩ|ey՟WOx'|~>~Y/7|ҹ|<回/} ʧ|7~yʫ?)~S^ħ|oySCo~|~ȧ~럾,mȹ|=ȧN;̹<~Þ{x͇?;?3|*u.ݧQuY>{E+gs?}?O_}O~}y>^1_^z>wY{ܳϝsN>\{|s7>y?~\©| _I_sOz}_pY~/ /7E?r|я+~3g}OW=P>g9_{*\>3w+~˛7?yoWg]v*?syWs^u|Ϋw?x__w*OO> N~ //<~տoAy ._sSyѷ__yѷʋW__A_GG_]kwڋ^ݿw|?|-/=9˯٩/??P+ϾWzYooWsNk֠C?/^ÿy7_7׽_-?/G+z+^.ˏSyչ_Uo_.T~.o_Moo?o'oM?y*ǹ|Oy*^[NQA{x3~y7[~;;o~g;/w\_}.n_?T~῜/=忾鿾/_o+bbbbbbbbbbbbMc4Uxڄ؄؄؄؄؄؄؄؄؄؄d3<mϴ &g3Z% y۽+~,7 |˫^O}'?9 snBܹs;w 9mgmBlBlBlBlBlBlBlBlBn&Pis_<}>텣 O{]{'o.Ϲ{qorΝz܄ ^:@NקMw}ځ n\wr|ryrYibbbbbbbbbar٦i؄|G}zĥ}OxԻ|yM$t}: 9]"k3!Lsyrz$Ts: 9]@NH$Ts: {]ل.N{MMMMMMMMM-؄_$McۄM[=>d&tA} 9CNFAjKMIoǺ&c]\F.ل؄؄؄؄؄؄؄؄܎M '!ug$dp&۱ƛ:=mBNa۱N}eB.+㓐τ*glB^N˟ &τ؄؄؄؄؄؄؄؄ܲM?28 iXCuބ\SM _{r2+zO/];C^vOkmB^0;!wYwr 9U&&&&&&&&&dMHϚ؄/k7!_{ oB&E&dp޹ ls۱N5cug9-=݄~0=؄`݋&䝋ebbbbbbbbMHMc-M&'^nB1ir=/߹2X_LmBlBlBlBlBlBlBlBMH?jNl y'G_x_L yYi~^/MyO}c>m{{[[?eFd6mIOR[|ZϘ3M4|k8`GV ;9 %q)ΥyIpez2>QydN]V^ZLUϘy(;-3q[Z>^Kbϫ>oܠ]oBf|F\Kbϫ>oܬ]oB&&&jMȱpOzիW9 r^z__=Ustetetetetetetetetetetetetetetetetetu=M\&po^~Pp[]&p[fF٨Bv+Y/?;N0`v 9<>_Vr;:[_&/UnBgeGM&7{&mۄL6&)L{jҺX y]d{ء}mBC9 KAA|&)ΡALڄ<8`v |xxb</ֵMZח53&w[x5rǩMH-f렶 l6!9^ ,k=xiҹq=~P|{^7Llo,ߟ7;&; ,/?̴tbr4Z&LokJKrj8ߟ@: 9K3}C~rWb'뭝q|Xk|8>b'!k]gʇj]oB\ k17O&<3훬8?;5{ׇC):"W7ZM&9ϥ:Hc2%3'o7anפ|&CA59/ŝvqrkZj/+4 ̨3%9?A5:L8d>M Rmu\⌾4+ay> vqr`p)^-oS%Ob pZfײ<'<`?]9 rt$IЕ+'!@WNB]9 rt$jG'! dX׮oP-7j򶊟ˌhy@^NBZ+L[Ɨ͚dGM_2?TU$>dvqL6h'^b6v3}pX^>^خyIHʙ\8f\S{ue\9H&?&6 siX(v`MׂܲjvMh'!/K[ZZ͌*Zgo~rJGs[NZ]&஌|x>6rmre'!2nŏkndo>8AyeGMfkɬ)˷lm?dpњh8OBjkɒ5W^NM$&c&ǒn3>|=Y>8 94Zx^/j'dRʹ{^k3y.6('; >[\]/5/M.bRq>~~єA22|NvQ{4`JlSB2~-`m\8s3 ^ݾer\A2{9 v,؄p|'o `+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IV'!©?իW^z$IzիW}WIЕߎt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WlhM{g'yhZ^ڬ\%,s2 !*jaW"yɾ ?Ynյ?W6ᦟ'S66ãhlu&[FONny-hGhvq}sv N|Gy'CkC⽽yhɣo?n_Km1oq&~;'s4x>Z+NM=]VU>ONޕ>7R v )zX>~g>t|O.G?\F;qoșZ/ۏhKy뾩fwEqgL榳oo֨ySO?'ȣ-lp~lOQw: )3Zr|PPa5q>~g/'3Ѯˋ`Z13oe Tm4JOWm  X0~[QRPbCy&hƸjVdg|ur2kfs9:]_ZT_<>*9 qwgt\~󙏟T~׏zۓʠZLG-8&Ɠ훺?O0̭iƗI9eǩ&3|sI2qL&^]FTc IDATu={a- z޸fǙgP_k6|)xi9? ]8o]^M%''ONd8񳸜d&;*-{z4Íʌks]'/СP.8~y=?h`ڦ䓕C· r=#q$KrV2㭵ig=\ yY9 %V)~2N<-T'ͧ6M͛ [$BTώǒQ5瞌\vi*̲τįPz-y3y6 j&>ޓ73߸$͛LyfC~V-d& d.3ӾɊZ_k9P$ߠyRlyj?$޷3ƒnͳ־Ihɩ_塶Nn^K][d.g u'sd%L2_kd8ɩ:ox-hbF:Hc2%3'o7anפ|&CA59/ŝ.^^ʴO4 Gs3[mϦAGA/zE?V5ZVJ?<=*$xa{[\.Fg}|,a<|>E!k<OZkyג'sOUf0ʬf9ţV9e ;-]?d:/8g$M?9u,9d-q-f dv37sӸjy'ăZ-N&]&op{q?9@噙ALqޛ^JO>8Ό◳4/N}qeHf\Mϥ5~93x]+hdc!ʒ׀yy^3oD0M]L)sQ&LZyM`\מX2Iόk|y&!oДFg7gv_djߟoTz4ټ<j6? [=2b* }O֭_`&o=qLg19Q gn[f8gт{7&'oƭfmzt=zˌ864u&Nk5:?/>[4Ek9uTiڨefhB2HZMA{.C8e>y$gAZgZ׵c/L&q,:}yh}-AMy=h#~6Zd>;ɿo-d`\53xvwqM3x)S_3}$C-y:9?ƙ8ğ19PvZ^g oG'dO2#=` [y rEf|F4y-X֟|^9 $wo&-s Jǟ̳OzFJTgY{~6< <+bzIѵ~2NP?$4e;zpc4|.3bIuE3yhAMz8F=zOoJ5nx[\3肒ڎNBj]kɼYr՘?4 KL|9 qh3┉պ̳R9u'` X̸.dß !f-FoY+N>Zmtl*C.2\zڠ&.j-H:#gk71x'oY2Au[0ZHEu^!~Xeys Q2~/o,׆h:9' 2;: )Wmb:ܬWS;L~)[ptIHۙos]8&$HESqʗ&3hwQV-W&<$G}yzX-kGW08MZ)1?$m.?o\/׵d{ 0 8*Է̶u[ 뢶\Af2OhI^wW>q-L;j/`Z'6C-ЎNBRиCؼ5,F$^xL{- 3NԌq/agbvƳ?:!<2S` Emr4z{E<3^6m__xʠ:\*c_k~'W>qfm6Xf8wBey/O${iaЬhʌ+3q?9?$3Ǖɳ19p-]m{Rl;7w)az08)L|j3Rʤ:;Kӛk`G+nY[L/300 sHqn̈9K& @mkkc]vV:]g٨A& xSqۚ䒘Anv~f>b;: Vw'RQ͂}&3_>r4qj]CKY{˺jS/o&Ly_L޲V|xTӴ,΂cL jCI^gdl2fSodGAqu[ "g gea^R7?䈒y{yc7ȿ60yh}F8d_`'vt2 [lj]SZjM2Yk9ĹAZ'pI^>Cy-''/.M㚝?pvtrgeymsýUl)I09 :>hFoğ 2T}<|qZǵb!l۱gq._ ;ʴ ?^,&oI$V9EX9?3zh&grȵd}-NmZqQ*9?6< j)@|jۿ7k;WVrtIHoi^qL㠋$3y]H)8+jgW6ͳ\޵uVMWZpv۱▵8 2}MvwZqV7]d:Y"iWLiy[iߎuY~ꠦvVfMo&%qOZ.fNi1IH|i8:h\3AAc!OƩcY&~k>qʗ&S6o?r\~Ah3v'-^4-Vj2['}p)fpd\[\ZdA\2՟q-L{2Ϡ߸ d}r~n9z$=r4'6otMa36 R8sL5c\KrY,s d5MH2ˋP<5x8$d8L-&'n\ .~ghZUP!Ԃ:Mi׌8&oȌc_\U wiX MޒUڇAr ~˗*3d=@벳ZAMz8F-Y%mTk78.~oʼ>lnG'!!k82=7&r| DfmFo5ĩ5S q6پOE殸=bz`4Y?x5:uz4^at\Vhɘ030:o!7 Z <'n;V@/sjpW-ԒLANjE-^ZA*KZڍA;o-fm*F5YY&3GoAL}0L=0$Y*Fϻعmb:ܬ̡h$jۓwdߩ/벳ZAMz8uh彣6v&U1_hX "?7alۉvF-xT7;.jKdTOW<~kvH?Zg\VQNuɩXkngO232%ZvtR]/ /oggp1oy1 x.qƵCDp=ofDITKar8˟hqy]@O;:  |\q|2B}|Ì|.ɧ6:ٓ\r[V̋?9p3ZY:zIі]dL~8UոeӴ 7Zday Np2~~˚daAyOBMk0yy'9|ח5v ^Y_uKPK SE>M8C~8A2s9[q4~ fY$_^CĎ[mWyc>)͎S>av}m\f6< j acu~UI gۿo?lnm xh9 $m˵V~hfdeɡ5ےyf;W:qW:(x$$^ז5 ㅠ> [^Ftdrj3˧~{燜_XͶV2ӎbz Y%Eҡ87?-Ž:/Xum KϠAp=oq>3d^͘8!$xhx1/N&~k#,j9b|.brl^|j/ɡ®2?NT/Vm۱ʅEmqPZ+Ρ"4oga9i<,If2!'h>A~*$dRk5lÓfrFyj[t!l7stIH;k}{yos|мcPq#[KƟCƸ>|:;jM[\vemq$Ny>dMq&7Z4_@mfn_8MCzFy- ~SC[h 6#l۱.;^ԮqW|F]f27H8KdrJ * .Z6{*J`kG?b~WMZ+nÿ7<ގNBFZqL>皦S- Zxr4r3yXAc';g0(_̗ Z =ֺnj<9?ǴָZY:.$xhq25IDATh39-^ gr~&39y^:+V&ğe^Z3'9|ח5pm۱/He}ZqL$,?#;m4Z2-'繼+HrHOm2qo?γ6,oqЖ)'vv>y]_ס><6< jLaoPleϚ1Bt~5=ky^3򼖡$jۓڷ8Kigac2y7o xHc-k%q/&G4Ms֋7z?Hz$m۱.;^ԮqWƛe$HvuӾAy;: o֍,,k 4%4o ?wrStF=CNƯZs,f[Iس@r $֕Ӓ<~h2lZ%39__N8L]:d`vtRV]8Jh+:o4ꋶ-xPK8š2xS8&qFV3R!; &nvWӂ&^ 7KxAdGs $s$.Zg5ɼ8MC1q嫭CvnG'!{F[yq2ʧY^% H)Kryd8凓Km۱ʅHm1QZ+Ρĕ8Y~Gw:[~hyLL| v?TmI,>k2s\5˚u5e{<55ph?w˦pSyi'` vjW5|umJzmA =4qõw}qjW|6`];: Kkʼn۴l\3AOT~P[F筼e0s^39Z2 Tk?'~i u_L2{5;̊jadי y4|n/1Wg$??~(}Mk4fٌnԬvW>ΌEXkY>țΫS Ngg{Όhrg aA'2}^q}-}0.IH Ʃ5{і*]d;_',Y&'5soRm Nͦ5پ5q[fG'!{F[w-V2Qb.:'N5/7~4KZ&1\Lu43Z5o3*\;V(k֊3e28O7sXMޒ%/8fd$~/+kSZK8gkMfRx׊\ OB[O[iۿ،])NB= }wY_1Όo6폅u}X;UV;>}S>Jhߎ,Z'?*IcrMh3c؃Z2{˳f^M[8d7hߎuY~ꠦvS_=4-;yLXBZ3\=d%]Y3;ɞ[W4~]Z+N\eGmkBgu&PTOƩlY&~k>qʗ&?< j3[2H>~ks ڊƎbz`8ELbX+Ϡ`3aLfGjM1%´'?׵W^A8͎Sky9ɣakϞ";: Y+Nyˎ|V;XҨ:&3b.uqs´kcxmFooxi.`MeJ%nv5P~t Gi, /R]6m__xp\Krڬ {&ۯ8 lJ8a0IlF>p]vt/_q2׊SY3!nP:f494_xʠ:\Vz^FgY794=?pE6XԲf8[&^3/~kq|LLxa2hZKWfW nO';IZeqy-ygBV<`~2> n'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$IЕ+'!@WNB]9 rt$Ii, pdfsam-1.1.4/pdfsam-maine-br1/doc/examples/readme.txt0000644000175000017500000000111111035172242022320 0ustar twernertwernerHow to run concat command from a csv file (see the test_csv.png): - move to the "bin" pdfsam subdirectory - (win32) run the command: run-console.bat -l f:\YOUR_CSV_FILE.csv -o c:\output.pdf concat - (nix) run the command: ./run-console.sh -l f:\YOUR_CSV_FILE.csv -o c:\output.pdf concat How to run concat command from an xml file (see the test_xml.png): - move to the "bin" pdfsam subdirectory - (win32) run the command: run-console.bat -l f:\YOUR_XML_FILE.xml -o c:\output.pdf concat - (nix) run the command: ./run-console.sh -l f:\YOUR_XML_FILE.xml -o c:\output.pdf concat pdfsam-1.1.4/pdfsam-maine-br1/doc/examples/list.csv0000644000175000017500000000005311035172242022016 0ustar twernertwernerf:\pdf\mattone.pdf,f:\pdf\FontEmbedding.pdfpdfsam-1.1.4/pdfsam-maine-br1/doc/licenses/0000755000175000017500000000000011035172232020316 5ustar twernertwernerpdfsam-1.1.4/pdfsam-maine-br1/doc/licenses/pdfsam/0000755000175000017500000000000011035172236021574 5ustar twernertwernerpdfsam-1.1.4/pdfsam-maine-br1/doc/licenses/pdfsam/gpl.txt0000644000175000017500000003023211035172236023117 0ustar twernertwernerThe GNU General Public License (GPL) Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONSpdfsam-1.1.4/pdfsam-maine-br1/doc/licenses/log4j/0000755000175000017500000000000011035172234021337 5ustar twernertwernerpdfsam-1.1.4/pdfsam-maine-br1/doc/licenses/log4j/ASL-1.1.txt0000644000175000017500000000530211035172234023014 0ustar twernertwerner/* * ============================================================================ * The Apache Software License, Version 1.1 * ============================================================================ * * Copyright (C) 1999 The Apache Software Foundation. All rights reserved. * * Redistribution and use in source and binary forms, with or without modifica- * tion, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * 3. The end-user documentation included with the redistribution, if any, must * include the following acknowledgment: "This product includes software * developed by the Apache Software Foundation (http://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, if * and wherever such third-party acknowledgments normally appear. * * 4. The names "log4j" and "Apache Software Foundation" must not be used to * endorse or promote products derived from this software without prior * written permission. For written permission, please contact * apache@apache.org. * * 5. Products derived from this software may not be called "Apache", nor may * "Apache" appear in their name, without prior written permission of the * Apache Software Foundation. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE * APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLU- * DING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * This software consists of voluntary contributions made by many individuals * on behalf of the Apache Software Foundation. For more information on the * Apache Software Foundation, please see . * */pdfsam-1.1.4/pdfsam-maine-br1/doc/licenses/jcmdline/0000755000175000017500000000000011035172236022107 5ustar twernertwernerpdfsam-1.1.4/pdfsam-maine-br1/doc/licenses/jcmdline/MPL-1.1.txt0000644000175000017500000006312411035172236023603 0ustar twernertwerner MOZILLA PUBLIC LICENSE Version 1.1 --------------- 1. Definitions. 1.0.1. "Commercial Use" means distribution or otherwise making the Covered Code available to a third party. 1.1. "Contributor" means each entity that creates or contributes to the creation of Modifications. 1.2. "Contributor Version" means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor. 1.3. "Covered Code" means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof. 1.4. "Electronic Distribution Mechanism" means a mechanism generally accepted in the software development community for the electronic transfer of data. 1.5. "Executable" means Covered Code in any form other than Source Code. 1.6. "Initial Developer" means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A. 1.7. "Larger Work" means a work which combines Covered Code or portions thereof with code not governed by the terms of this License. 1.8. "License" means this document. 1.8.1. "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein. 1.9. "Modifications" means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is: A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications. B. Any new file that contains any part of the Original Code or previous Modifications. 1.10. "Original Code" means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License. 1.10.1. "Patent Claims" means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by grantor. 1.11. "Source Code" means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge. 1.12. "You" (or "Your") means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, "You" includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, "control" means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity. 2. Source Code License. 2.1. The Initial Developer Grant. The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims: (a) under intellectual property rights (other than patent or trademark) Licensable by Initial Developer to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, and/or as part of a Larger Work; and (b) under Patents Claims infringed by the making, using or selling of Original Code, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Code (or portions thereof). (c) the licenses granted in this Section 2.1(a) and (b) are effective on the date Initial Developer first distributes Original Code under the terms of this License. (d) Notwithstanding Section 2.1(b) above, no patent license is granted: 1) for code that You delete from the Original Code; 2) separate from the Original Code; or 3) for infringements caused by: i) the modification of the Original Code or ii) the combination of the Original Code with other software or devices. 2.2. Contributor Grant. Subject to third party intellectual property claims, each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license (a) under intellectual property rights (other than patent or trademark) Licensable by Contributor, to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code and/or as part of a Larger Work; and (b) under Patent Claims infringed by the making, using, or selling of Modifications made by that Contributor either alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer for sale, have made, and/or otherwise dispose of: 1) Modifications made by that Contributor (or portions thereof); and 2) the combination of Modifications made by that Contributor with its Contributor Version (or portions of such combination). (c) the licenses granted in Sections 2.2(a) and 2.2(b) are effective on the date Contributor first makes Commercial Use of the Covered Code. (d) Notwithstanding Section 2.2(b) above, no patent license is granted: 1) for any code that Contributor has deleted from the Contributor Version; 2) separate from the Contributor Version; 3) for infringements caused by: i) third party modifications of Contributor Version or ii) the combination of Modifications made by that Contributor with other software (except as part of the Contributor Version) or other devices; or 4) under Patent Claims infringed by Covered Code in the absence of Modifications made by that Contributor. 3. Distribution Obligations. 3.1. Application of License. The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5. 3.2. Availability of Source Code. Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party. 3.3. Description of Modifications. You must cause all Covered Code to which You contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code. 3.4. Intellectual Property Matters (a) Third Party Claims. If Contributor has knowledge that a license under a third party's intellectual property rights is required to exercise the rights granted by such Contributor under Sections 2.1 or 2.2, Contributor must include a text file with the Source Code distribution titled "LEGAL" which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If Contributor obtains such knowledge after the Modification is made available as described in Section 3.2, Contributor shall promptly modify the LEGAL file in all copies Contributor makes available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained. (b) Contributor APIs. If Contributor's Modifications include an application programming interface and Contributor has knowledge of patent licenses which are reasonably necessary to implement that API, Contributor must also include this information in the LEGAL file. (c) Representations. Contributor represents that, except as disclosed pursuant to Section 3.4(a) above, Contributor believes that Contributor's Modifications are Contributor's original creation(s) and/or Contributor has sufficient rights to grant the rights conveyed by this License. 3.5. Required Notices. You must duplicate the notice in Exhibit A in each file of the Source Code. If it is not possible to put such notice in a particular Source Code file due to its structure, then You must include such notice in a location (such as a relevant directory) where a user would be likely to look for such a notice. If You created one or more Modification(s) You may add your name as a Contributor to the notice described in Exhibit A. You must also duplicate this License in any documentation for the Source Code where You describe recipients' rights or ownership rights relating to Covered Code. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer. 3.6. Distribution of Executable Versions. You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code or ownership rights under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer. 3.7. Larger Works. You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code. 4. Inability to Comply Due to Statute or Regulation. If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Code due to statute, judicial order, or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it. 5. Application of this License. This License applies to code to which the Initial Developer has attached the notice in Exhibit A and to related Covered Code. 6. Versions of the License. 6.1. New Versions. Netscape Communications Corporation ("Netscape") may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number. 6.2. Effect of New Versions. Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by Netscape. No one other than Netscape has the right to modify the terms applicable to Covered Code created under this License. 6.3. Derivative Works. If You create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), You must (a) rename Your license so that the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", "MPL", "NPL" or any confusingly similar phrase do not appear in your license (except to note that your license differs from this License) and (b) otherwise make it clear that Your version of the license contains terms which differ from the Mozilla Public License and Netscape Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.) 7. DISCLAIMER OF WARRANTY. COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. 8. TERMINATION. 8.1. This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive. 8.2. If You initiate litigation by asserting a patent infringement claim (excluding declatory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You file such action is referred to as "Participant") alleging that: (a) such Participant's Contributor Version directly or indirectly infringes any patent, then any and all rights granted by such Participant to You under Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice from Participant terminate prospectively, unless if within 60 days after receipt of notice You either: (i) agree in writing to pay Participant a mutually agreeable reasonable royalty for Your past and future use of Modifications made by such Participant, or (ii) withdraw Your litigation claim with respect to the Contributor Version against such Participant. If within 60 days of notice, a reasonable royalty and payment arrangement are not mutually agreed upon in writing by the parties or the litigation claim is not withdrawn, the rights granted by Participant to You under Sections 2.1 and/or 2.2 automatically terminate at the expiration of the 60 day notice period specified above. (b) any software, hardware, or device, other than such Participant's Contributor Version, directly or indirectly infringes any patent, then any rights granted to You by such Participant under Sections 2.1(b) and 2.2(b) are revoked effective as of the date You first made, used, sold, distributed, or had made, Modifications made by that Participant. 8.3. If You assert a patent infringement claim against Participant alleging that such Participant's Contributor Version directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by such Participant under Sections 2.1 or 2.2 shall be taken into account in determining the amount or value of any payment or license. 8.4. In the event of termination under Sections 8.1 or 8.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or any distributor hereunder prior to termination shall survive termination. 9. LIMITATION OF LIABILITY. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. 10. U.S. GOVERNMENT END USERS. The Covered Code is a "commercial item," as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer software" and "commercial computer software documentation," as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein. 11. MISCELLANEOUS. This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by California law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in the United States of America, any litigation relating to this License shall be subject to the jurisdiction of the Federal Courts of the Northern District of California, with venue lying in Santa Clara County, California, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys' fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License. 12. RESPONSIBILITY FOR CLAIMS. As between Initial Developer and the Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License and You agree to work with Initial Developer and Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or shall be deemed to constitute any admission of liability. 13. MULTIPLE-LICENSED CODE. Initial Developer may designate portions of the Covered Code as "Multiple-Licensed". "Multiple-Licensed" means that the Initial Developer permits you to utilize portions of the Covered Code under Your choice of the NPL or the alternative licenses, if any, specified by the Initial Developer in the file described in Exhibit A. EXHIBIT A -Mozilla Public License. ``The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/MPL/ Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. The Original Code is ______________________________________. The Initial Developer of the Original Code is ________________________. Portions created by ______________________ are Copyright (C) ______ _______________________. All Rights Reserved. Contributor(s): ______________________________________. Alternatively, the contents of this file may be used under the terms of the _____ license (the "[___] License"), in which case the provisions of [______] License are applicable instead of those above. If you wish to allow use of your version of this file only under the terms of the [____] License and not to allow others to use your version of this file under the MPL, indicate your decision by deleting the provisions above and replace them with the notice and other provisions required by the [___] License. If you do not delete the provisions above, a recipient may use your version of this file under either the MPL or the [___] License." [NOTE: The text of this Exhibit A may differ slightly from the text of the notices in the Source Code files of the Original Code. You should use the text of this Exhibit A rather than the text found in the Original Code Source Code for Your Modifications.]pdfsam-1.1.4/pdfsam-maine-br1/doc/licenses/emp4j/0000755000175000017500000000000011035172234021337 5ustar twernertwernerpdfsam-1.1.4/pdfsam-maine-br1/doc/licenses/emp4j/gpl.txt0000644000175000017500000003023211035172234022662 0ustar twernertwernerThe GNU General Public License (GPL) Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONSpdfsam-1.1.4/pdfsam-maine-br1/doc/licenses/emp4j/lgpl.txt0000644000175000017500000005620110724007000023032 0ustar twernertwerner GNU LIBRARY GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. [This is the first released version of the library GPL. It is numbered 2 because it goes with version 2 of the ordinary GPL.] Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This license, the Library General Public License, applies to some specially designated Free Software Foundation software, and to any other libraries whose authors decide to use it. You can use it for your libraries, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library, or if you modify it. For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link a program with the library, you must provide complete object files to the recipients so that they can relink them with the library, after making changes to the library and recompiling it. And you must show them these terms so they know their rights. Our method of protecting your rights has two steps: (1) copyright the library, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the library. Also, for each distributor's protection, we want to make certain that everyone understands that there is no warranty for this free library. If the library is modified by someone else and passed on, we want its recipients to know that what they have is not the original version, so that any problems introduced by others will not reflect on the original authors' reputations. . Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that companies distributing free software will individually obtain patent licenses, thus in effect transforming the program into proprietary software. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License, which was designed for utility programs. This license, the GNU Library General Public License, applies to certain designated libraries. This license is quite different from the ordinary one; be sure to read it in full, and don't assume that anything in it is the same as in the ordinary license. The reason we have a separate public license for some libraries is that they blur the distinction we usually make between modifying or adding to a program and simply using it. Linking a program with a library, without changing the library, is in some sense simply using the library, and is analogous to running a utility program or application program. However, in a textual and legal sense, the linked executable is a combined work, a derivative of the original library, and the ordinary General Public License treats it as such. Because of this blurred distinction, using the ordinary General Public License for libraries did not effectively promote software sharing, because most developers did not use the libraries. We concluded that weaker conditions might promote sharing better. However, unrestricted linking of non-free programs would deprive the users of those programs of all benefit from the free status of the libraries themselves. This Library General Public License is intended to permit developers of non-free programs to use free libraries, while preserving your freedom as a user of such programs to change the free libraries that are incorporated in them. (We have not seen how to achieve this as regards changes in header files, but we have achieved it as regards changes in the actual functions of the Library.) The hope is that this will lead to faster development of free libraries. The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, while the latter only works together with the library. Note that it is possible for a library to be covered by the ordinary General Public License rather than by this special one. . GNU LIBRARY GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Library General Public License (also called "this License"). Each licensee is addressed as "you". A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) "Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library. Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. 1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. . 2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) The modified work must itself be a software library. b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. . Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. This option is useful when you wish to copy part of the code of the Library into a program that is not a library. 4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. 5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. . 6. As an exception to the Sections above, you may also compile or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) b) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. c) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. d) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. . 7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. 10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. . 11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 13. The Free Software Foundation may publish revised and/or new versions of the Library General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. . 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS pdfsam-1.1.4/pdfsam-maine-br1/doc/licenses/iText/0000755000175000017500000000000011035172240021412 5ustar twernertwernerpdfsam-1.1.4/pdfsam-maine-br1/doc/licenses/iText/MPL-1.1.txt0000644000175000017500000006312411035172240023106 0ustar twernertwerner MOZILLA PUBLIC LICENSE Version 1.1 --------------- 1. Definitions. 1.0.1. "Commercial Use" means distribution or otherwise making the Covered Code available to a third party. 1.1. "Contributor" means each entity that creates or contributes to the creation of Modifications. 1.2. "Contributor Version" means the combination of the Original Code, prior Modifications used by a Contributor, and the Modifications made by that particular Contributor. 1.3. "Covered Code" means the Original Code or Modifications or the combination of the Original Code and Modifications, in each case including portions thereof. 1.4. "Electronic Distribution Mechanism" means a mechanism generally accepted in the software development community for the electronic transfer of data. 1.5. "Executable" means Covered Code in any form other than Source Code. 1.6. "Initial Developer" means the individual or entity identified as the Initial Developer in the Source Code notice required by Exhibit A. 1.7. "Larger Work" means a work which combines Covered Code or portions thereof with code not governed by the terms of this License. 1.8. "License" means this document. 1.8.1. "Licensable" means having the right to grant, to the maximum extent possible, whether at the time of the initial grant or subsequently acquired, any and all of the rights conveyed herein. 1.9. "Modifications" means any addition to or deletion from the substance or structure of either the Original Code or any previous Modifications. When Covered Code is released as a series of files, a Modification is: A. Any addition to or deletion from the contents of a file containing Original Code or previous Modifications. B. Any new file that contains any part of the Original Code or previous Modifications. 1.10. "Original Code" means Source Code of computer software code which is described in the Source Code notice required by Exhibit A as Original Code, and which, at the time of its release under this License is not already Covered Code governed by this License. 1.10.1. "Patent Claims" means any patent claim(s), now owned or hereafter acquired, including without limitation, method, process, and apparatus claims, in any patent Licensable by grantor. 1.11. "Source Code" means the preferred form of the Covered Code for making modifications to it, including all modules it contains, plus any associated interface definition files, scripts used to control compilation and installation of an Executable, or source code differential comparisons against either the Original Code or another well known, available Covered Code of the Contributor's choice. The Source Code can be in a compressed or archival form, provided the appropriate decompression or de-archiving software is widely available for no charge. 1.12. "You" (or "Your") means an individual or a legal entity exercising rights under, and complying with all of the terms of, this License or a future version of this License issued under Section 6.1. For legal entities, "You" includes any entity which controls, is controlled by, or is under common control with You. For purposes of this definition, "control" means (a) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (b) ownership of more than fifty percent (50%) of the outstanding shares or beneficial ownership of such entity. 2. Source Code License. 2.1. The Initial Developer Grant. The Initial Developer hereby grants You a world-wide, royalty-free, non-exclusive license, subject to third party intellectual property claims: (a) under intellectual property rights (other than patent or trademark) Licensable by Initial Developer to use, reproduce, modify, display, perform, sublicense and distribute the Original Code (or portions thereof) with or without Modifications, and/or as part of a Larger Work; and (b) under Patents Claims infringed by the making, using or selling of Original Code, to make, have made, use, practice, sell, and offer for sale, and/or otherwise dispose of the Original Code (or portions thereof). (c) the licenses granted in this Section 2.1(a) and (b) are effective on the date Initial Developer first distributes Original Code under the terms of this License. (d) Notwithstanding Section 2.1(b) above, no patent license is granted: 1) for code that You delete from the Original Code; 2) separate from the Original Code; or 3) for infringements caused by: i) the modification of the Original Code or ii) the combination of the Original Code with other software or devices. 2.2. Contributor Grant. Subject to third party intellectual property claims, each Contributor hereby grants You a world-wide, royalty-free, non-exclusive license (a) under intellectual property rights (other than patent or trademark) Licensable by Contributor, to use, reproduce, modify, display, perform, sublicense and distribute the Modifications created by such Contributor (or portions thereof) either on an unmodified basis, with other Modifications, as Covered Code and/or as part of a Larger Work; and (b) under Patent Claims infringed by the making, using, or selling of Modifications made by that Contributor either alone and/or in combination with its Contributor Version (or portions of such combination), to make, use, sell, offer for sale, have made, and/or otherwise dispose of: 1) Modifications made by that Contributor (or portions thereof); and 2) the combination of Modifications made by that Contributor with its Contributor Version (or portions of such combination). (c) the licenses granted in Sections 2.2(a) and 2.2(b) are effective on the date Contributor first makes Commercial Use of the Covered Code. (d) Notwithstanding Section 2.2(b) above, no patent license is granted: 1) for any code that Contributor has deleted from the Contributor Version; 2) separate from the Contributor Version; 3) for infringements caused by: i) third party modifications of Contributor Version or ii) the combination of Modifications made by that Contributor with other software (except as part of the Contributor Version) or other devices; or 4) under Patent Claims infringed by Covered Code in the absence of Modifications made by that Contributor. 3. Distribution Obligations. 3.1. Application of License. The Modifications which You create or to which You contribute are governed by the terms of this License, including without limitation Section 2.2. The Source Code version of Covered Code may be distributed only under the terms of this License or a future version of this License released under Section 6.1, and You must include a copy of this License with every copy of the Source Code You distribute. You may not offer or impose any terms on any Source Code version that alters or restricts the applicable version of this License or the recipients' rights hereunder. However, You may include an additional document offering the additional rights described in Section 3.5. 3.2. Availability of Source Code. Any Modification which You create or to which You contribute must be made available in Source Code form under the terms of this License either on the same media as an Executable version or via an accepted Electronic Distribution Mechanism to anyone to whom you made an Executable version available; and if made available via Electronic Distribution Mechanism, must remain available for at least twelve (12) months after the date it initially became available, or at least six (6) months after a subsequent version of that particular Modification has been made available to such recipients. You are responsible for ensuring that the Source Code version remains available even if the Electronic Distribution Mechanism is maintained by a third party. 3.3. Description of Modifications. You must cause all Covered Code to which You contribute to contain a file documenting the changes You made to create that Covered Code and the date of any change. You must include a prominent statement that the Modification is derived, directly or indirectly, from Original Code provided by the Initial Developer and including the name of the Initial Developer in (a) the Source Code, and (b) in any notice in an Executable version or related documentation in which You describe the origin or ownership of the Covered Code. 3.4. Intellectual Property Matters (a) Third Party Claims. If Contributor has knowledge that a license under a third party's intellectual property rights is required to exercise the rights granted by such Contributor under Sections 2.1 or 2.2, Contributor must include a text file with the Source Code distribution titled "LEGAL" which describes the claim and the party making the claim in sufficient detail that a recipient will know whom to contact. If Contributor obtains such knowledge after the Modification is made available as described in Section 3.2, Contributor shall promptly modify the LEGAL file in all copies Contributor makes available thereafter and shall take other steps (such as notifying appropriate mailing lists or newsgroups) reasonably calculated to inform those who received the Covered Code that new knowledge has been obtained. (b) Contributor APIs. If Contributor's Modifications include an application programming interface and Contributor has knowledge of patent licenses which are reasonably necessary to implement that API, Contributor must also include this information in the LEGAL file. (c) Representations. Contributor represents that, except as disclosed pursuant to Section 3.4(a) above, Contributor believes that Contributor's Modifications are Contributor's original creation(s) and/or Contributor has sufficient rights to grant the rights conveyed by this License. 3.5. Required Notices. You must duplicate the notice in Exhibit A in each file of the Source Code. If it is not possible to put such notice in a particular Source Code file due to its structure, then You must include such notice in a location (such as a relevant directory) where a user would be likely to look for such a notice. If You created one or more Modification(s) You may add your name as a Contributor to the notice described in Exhibit A. You must also duplicate this License in any documentation for the Source Code where You describe recipients' rights or ownership rights relating to Covered Code. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Code. However, You may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear than any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer. 3.6. Distribution of Executable Versions. You may distribute Covered Code in Executable form only if the requirements of Section 3.1-3.5 have been met for that Covered Code, and if You include a notice stating that the Source Code version of the Covered Code is available under the terms of this License, including a description of how and where You have fulfilled the obligations of Section 3.2. The notice must be conspicuously included in any notice in an Executable version, related documentation or collateral in which You describe recipients' rights relating to the Covered Code. You may distribute the Executable version of Covered Code or ownership rights under a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable version does not attempt to limit or alter the recipient's rights in the Source Code version from the rights set forth in this License. If You distribute the Executable version under a different license You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or any Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer. 3.7. Larger Works. You may create a Larger Work by combining Covered Code with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Code. 4. Inability to Comply Due to Statute or Regulation. If it is impossible for You to comply with any of the terms of this License with respect to some or all of the Covered Code due to statute, judicial order, or regulation then You must: (a) comply with the terms of this License to the maximum extent possible; and (b) describe the limitations and the code they affect. Such description must be included in the LEGAL file described in Section 3.4 and must be included with all distributions of the Source Code. Except to the extent prohibited by statute or regulation, such description must be sufficiently detailed for a recipient of ordinary skill to be able to understand it. 5. Application of this License. This License applies to code to which the Initial Developer has attached the notice in Exhibit A and to related Covered Code. 6. Versions of the License. 6.1. New Versions. Netscape Communications Corporation ("Netscape") may publish revised and/or new versions of the License from time to time. Each version will be given a distinguishing version number. 6.2. Effect of New Versions. Once Covered Code has been published under a particular version of the License, You may always continue to use it under the terms of that version. You may also choose to use such Covered Code under the terms of any subsequent version of the License published by Netscape. No one other than Netscape has the right to modify the terms applicable to Covered Code created under this License. 6.3. Derivative Works. If You create or use a modified version of this License (which you may only do in order to apply it to code which is not already Covered Code governed by this License), You must (a) rename Your license so that the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape", "MPL", "NPL" or any confusingly similar phrase do not appear in your license (except to note that your license differs from this License) and (b) otherwise make it clear that Your version of the license contains terms which differ from the Mozilla Public License and Netscape Public License. (Filling in the name of the Initial Developer, Original Code or Contributor in the notice described in Exhibit A shall not of themselves be deemed to be modifications of this License.) 7. DISCLAIMER OF WARRANTY. COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER. 8. TERMINATION. 8.1. This License and the rights granted hereunder will terminate automatically if You fail to comply with terms herein and fail to cure such breach within 30 days of becoming aware of the breach. All sublicenses to the Covered Code which are properly granted shall survive any termination of this License. Provisions which, by their nature, must remain in effect beyond the termination of this License shall survive. 8.2. If You initiate litigation by asserting a patent infringement claim (excluding declatory judgment actions) against Initial Developer or a Contributor (the Initial Developer or Contributor against whom You file such action is referred to as "Participant") alleging that: (a) such Participant's Contributor Version directly or indirectly infringes any patent, then any and all rights granted by such Participant to You under Sections 2.1 and/or 2.2 of this License shall, upon 60 days notice from Participant terminate prospectively, unless if within 60 days after receipt of notice You either: (i) agree in writing to pay Participant a mutually agreeable reasonable royalty for Your past and future use of Modifications made by such Participant, or (ii) withdraw Your litigation claim with respect to the Contributor Version against such Participant. If within 60 days of notice, a reasonable royalty and payment arrangement are not mutually agreed upon in writing by the parties or the litigation claim is not withdrawn, the rights granted by Participant to You under Sections 2.1 and/or 2.2 automatically terminate at the expiration of the 60 day notice period specified above. (b) any software, hardware, or device, other than such Participant's Contributor Version, directly or indirectly infringes any patent, then any rights granted to You by such Participant under Sections 2.1(b) and 2.2(b) are revoked effective as of the date You first made, used, sold, distributed, or had made, Modifications made by that Participant. 8.3. If You assert a patent infringement claim against Participant alleging that such Participant's Contributor Version directly or indirectly infringes any patent where such claim is resolved (such as by license or settlement) prior to the initiation of patent infringement litigation, then the reasonable value of the licenses granted by such Participant under Sections 2.1 or 2.2 shall be taken into account in determining the amount or value of any payment or license. 8.4. In the event of termination under Sections 8.1 or 8.2 above, all end user license agreements (excluding distributors and resellers) which have been validly granted by You or any distributor hereunder prior to termination shall survive termination. 9. LIMITATION OF LIABILITY. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU. 10. U.S. GOVERNMENT END USERS. The Covered Code is a "commercial item," as that term is defined in 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer software" and "commercial computer software documentation," as such terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48 C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995), all U.S. Government End Users acquire Covered Code with only those rights set forth herein. 11. MISCELLANEOUS. This License represents the complete agreement concerning subject matter hereof. If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. This License shall be governed by California law provisions (except to the extent applicable law, if any, provides otherwise), excluding its conflict-of-law provisions. With respect to disputes in which at least one party is a citizen of, or an entity chartered or registered to do business in the United States of America, any litigation relating to this License shall be subject to the jurisdiction of the Federal Courts of the Northern District of California, with venue lying in Santa Clara County, California, with the losing party responsible for costs, including without limitation, court costs and reasonable attorneys' fees and expenses. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded. Any law or regulation which provides that the language of a contract shall be construed against the drafter shall not apply to this License. 12. RESPONSIBILITY FOR CLAIMS. As between Initial Developer and the Contributors, each party is responsible for claims and damages arising, directly or indirectly, out of its utilization of rights under this License and You agree to work with Initial Developer and Contributors to distribute such responsibility on an equitable basis. Nothing herein is intended or shall be deemed to constitute any admission of liability. 13. MULTIPLE-LICENSED CODE. Initial Developer may designate portions of the Covered Code as "Multiple-Licensed". "Multiple-Licensed" means that the Initial Developer permits you to utilize portions of the Covered Code under Your choice of the NPL or the alternative licenses, if any, specified by the Initial Developer in the file described in Exhibit A. EXHIBIT A -Mozilla Public License. ``The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/MPL/ Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. The Original Code is ______________________________________. The Initial Developer of the Original Code is ________________________. Portions created by ______________________ are Copyright (C) ______ _______________________. All Rights Reserved. Contributor(s): ______________________________________. Alternatively, the contents of this file may be used under the terms of the _____ license (the "[___] License"), in which case the provisions of [______] License are applicable instead of those above. If you wish to allow use of your version of this file only under the terms of the [____] License and not to allow others to use your version of this file under the MPL, indicate your decision by deleting the provisions above and replace them with the notice and other provisions required by the [___] License. If you do not delete the provisions above, a recipient may use your version of this file under either the MPL or the [___] License." [NOTE: The text of this Exhibit A may differ slightly from the text of the notices in the Source Code files of the Original Code. You should use the text of this Exhibit A rather than the text found in the Original Code Source Code for Your Modifications.]pdfsam-1.1.4/pdfsam-maine-br1/doc/licenses/iText/lgpl.txt0000644000175000017500000005620111035172240023115 0ustar twernertwerner GNU LIBRARY GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. [This is the first released version of the library GPL. It is numbered 2 because it goes with version 2 of the ordinary GPL.] Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This license, the Library General Public License, applies to some specially designated Free Software Foundation software, and to any other libraries whose authors decide to use it. You can use it for your libraries, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library, or if you modify it. For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link a program with the library, you must provide complete object files to the recipients so that they can relink them with the library, after making changes to the library and recompiling it. And you must show them these terms so they know their rights. Our method of protecting your rights has two steps: (1) copyright the library, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the library. Also, for each distributor's protection, we want to make certain that everyone understands that there is no warranty for this free library. If the library is modified by someone else and passed on, we want its recipients to know that what they have is not the original version, so that any problems introduced by others will not reflect on the original authors' reputations. . Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that companies distributing free software will individually obtain patent licenses, thus in effect transforming the program into proprietary software. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License, which was designed for utility programs. This license, the GNU Library General Public License, applies to certain designated libraries. This license is quite different from the ordinary one; be sure to read it in full, and don't assume that anything in it is the same as in the ordinary license. The reason we have a separate public license for some libraries is that they blur the distinction we usually make between modifying or adding to a program and simply using it. Linking a program with a library, without changing the library, is in some sense simply using the library, and is analogous to running a utility program or application program. However, in a textual and legal sense, the linked executable is a combined work, a derivative of the original library, and the ordinary General Public License treats it as such. Because of this blurred distinction, using the ordinary General Public License for libraries did not effectively promote software sharing, because most developers did not use the libraries. We concluded that weaker conditions might promote sharing better. However, unrestricted linking of non-free programs would deprive the users of those programs of all benefit from the free status of the libraries themselves. This Library General Public License is intended to permit developers of non-free programs to use free libraries, while preserving your freedom as a user of such programs to change the free libraries that are incorporated in them. (We have not seen how to achieve this as regards changes in header files, but we have achieved it as regards changes in the actual functions of the Library.) The hope is that this will lead to faster development of free libraries. The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, while the latter only works together with the library. Note that it is possible for a library to be covered by the ordinary General Public License rather than by this special one. . GNU LIBRARY GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Library General Public License (also called "this License"). Each licensee is addressed as "you". A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) "Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library. Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. 1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. . 2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) The modified work must itself be a software library. b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. . Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. This option is useful when you wish to copy part of the code of the Library into a program that is not a library. 4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. 5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. . 6. As an exception to the Sections above, you may also compile or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) b) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. c) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. d) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. . 7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. 10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. . 11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 13. The Free Software Foundation may publish revised and/or new versions of the Library General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. . 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS pdfsam-1.1.4/pdfsam-maine-br1/doc/licenses/bouncyCastle/0000755000175000017500000000000011035172240022750 5ustar twernertwernerpdfsam-1.1.4/pdfsam-maine-br1/doc/licenses/bouncyCastle/Bouncy_Castle_License.html0000644000175000017500000000222111035172240030027 0ustar twernertwerner Copyright (c) 2000-2006 The Legion Of The Bouncy Castle (http://www.bouncycastle.org)

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. pdfsam-1.1.4/pdfsam-maine-br1/doc/licenses/dom4j/0000755000175000017500000000000011035172240021332 5ustar twernertwernerpdfsam-1.1.4/pdfsam-maine-br1/doc/licenses/dom4j/license.txt0000644000175000017500000000347711035172240023530 0ustar twernertwerner Redistribution and use of this software and associated documentation ("Software"), with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain copyright statements and notices. Redistributions must also contain a copy of this document. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name "DOM4J" must not be used to endorse or promote products derived from this Software without prior written permission of MetaStuff, Ltd. For written permission, please contact dom4j-info@metastuff.com. 4. Products derived from this Software may not be called "DOM4J" nor may "DOM4J" appear in their names without prior written permission of MetaStuff, Ltd. DOM4J is a registered trademark of MetaStuff, Ltd. 5. Due credit should be given to the DOM4J Project - http://www.dom4j.org THIS SOFTWARE IS PROVIDED BY METASTUFF, LTD. AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL METASTUFF, LTD. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Copyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved. pdfsam-1.1.4/pdfsam-maine-br1/doc/licenses/pdfsam-console/0000755000175000017500000000000011114271630023230 5ustar twernertwernerpdfsam-1.1.4/pdfsam-maine-br1/doc/licenses/pdfsam-console/gpl.txt0000644000175000017500000003023211035172234024555 0ustar twernertwernerThe GNU General Public License (GPL) Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONSpdfsam-1.1.4/pdfsam-maine-br1/doc/licenses/pdfsam-console/lgpl.txt0000644000175000017500000005620110724007000024725 0ustar twernertwerner GNU LIBRARY GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. [This is the first released version of the library GPL. It is numbered 2 because it goes with version 2 of the ordinary GPL.] Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This license, the Library General Public License, applies to some specially designated Free Software Foundation software, and to any other libraries whose authors decide to use it. You can use it for your libraries, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library, or if you modify it. For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link a program with the library, you must provide complete object files to the recipients so that they can relink them with the library, after making changes to the library and recompiling it. And you must show them these terms so they know their rights. Our method of protecting your rights has two steps: (1) copyright the library, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the library. Also, for each distributor's protection, we want to make certain that everyone understands that there is no warranty for this free library. If the library is modified by someone else and passed on, we want its recipients to know that what they have is not the original version, so that any problems introduced by others will not reflect on the original authors' reputations. . Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that companies distributing free software will individually obtain patent licenses, thus in effect transforming the program into proprietary software. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License, which was designed for utility programs. This license, the GNU Library General Public License, applies to certain designated libraries. This license is quite different from the ordinary one; be sure to read it in full, and don't assume that anything in it is the same as in the ordinary license. The reason we have a separate public license for some libraries is that they blur the distinction we usually make between modifying or adding to a program and simply using it. Linking a program with a library, without changing the library, is in some sense simply using the library, and is analogous to running a utility program or application program. However, in a textual and legal sense, the linked executable is a combined work, a derivative of the original library, and the ordinary General Public License treats it as such. Because of this blurred distinction, using the ordinary General Public License for libraries did not effectively promote software sharing, because most developers did not use the libraries. We concluded that weaker conditions might promote sharing better. However, unrestricted linking of non-free programs would deprive the users of those programs of all benefit from the free status of the libraries themselves. This Library General Public License is intended to permit developers of non-free programs to use free libraries, while preserving your freedom as a user of such programs to change the free libraries that are incorporated in them. (We have not seen how to achieve this as regards changes in header files, but we have achieved it as regards changes in the actual functions of the Library.) The hope is that this will lead to faster development of free libraries. The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, while the latter only works together with the library. Note that it is possible for a library to be covered by the ordinary General Public License rather than by this special one. . GNU LIBRARY GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Library General Public License (also called "this License"). Each licensee is addressed as "you". A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) "Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library. Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. 1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. . 2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) The modified work must itself be a software library. b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library. In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. . Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. This option is useful when you wish to copy part of the code of the Library into a program that is not a library. 4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange. If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. 5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. . 6. As an exception to the Sections above, you may also compile or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) b) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. c) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. d) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. . 7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. 10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. . 11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 13. The Free Software Foundation may publish revised and/or new versions of the Library General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. . 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS pdfsam-1.1.4/pdfsam-maine-br1/doc/licenses/looks/0000755000175000017500000000000011035172236021451 5ustar twernertwernerpdfsam-1.1.4/pdfsam-maine-br1/doc/licenses/looks/BSD.txt0000644000175000017500000000320511035172236022622 0ustar twernertwernerThe BSD License for the JGoodies Looks ====================================== Copyright (c) 2001-2004 JGoodies Karsten Lentzsch. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: o Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. o Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. o Neither the name of JGoodies Karsten Lentzsch nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.pdfsam-1.1.4/pdfsam-maine-br1/doc/licenses/jaxen/0000755000175000017500000000000011035172234021425 5ustar twernertwernerpdfsam-1.1.4/pdfsam-maine-br1/doc/licenses/jaxen/license.txt0000644000175000017500000000311411035172236023611 0ustar twernertwerner/* $Id: LICENSE.txt,v 1.5 2006/02/05 21:49:04 elharo Exp $ Copyright 2003-2006 The Werken Company. All Rights Reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the Jaxen Project nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */pdfsam-1.1.4/pdfsam-maine-br1/src/0000755000175000017500000000000011035172256016541 5ustar twernertwernerpdfsam-1.1.4/pdfsam-maine-br1/src/java/0000755000175000017500000000000011163740256017465 5ustar twernertwernerpdfsam-1.1.4/pdfsam-maine-br1/src/java/org/0000755000175000017500000000000011035172256020251 5ustar twernertwernerpdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/0000755000175000017500000000000011035172256021523 5ustar twernertwernerpdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/0000755000175000017500000000000011035172256023506 5ustar twernertwernerpdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/commons/0000755000175000017500000000000011160250642025154 5ustar twernertwernerpdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/commons/components/0000755000175000017500000000000011035172300027334 5ustar twernertwerner././@LongLink0000000000000000000000000000014700000000000011567 Lustar rootrootpdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/commons/components/JPdfSelectionTable.javapdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/commons/components/JPdfSelectionTable.ja0000644000175000017500000000301211035172300033305 0ustar twernertwerner/* * Created on 07-Mar-2006 * * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.commons.components; import java.awt.Container; import javax.swing.JTable; import javax.swing.JViewport; /** * Code snippet found on forum.java.sun by pam11 . * @author Andrea Vacondio * */ public class JPdfSelectionTable extends JTable { private static final long serialVersionUID = -6501303401258684529L; public boolean getScrollableTracksViewportWidth() { boolean retVal = super.getScrollableTracksViewportWidth(); if (autoResizeMode == AUTO_RESIZE_OFF) { Container parent = getParent(); if (parent instanceof JViewport) { retVal = (parent.getSize().getWidth() > getPreferredSize().getWidth()); } } return retVal; } } ././@LongLink0000000000000000000000000000014500000000000011565 Lustar rootrootpdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/commons/components/JPdfVersionCombo.javapdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/commons/components/JPdfVersionCombo.java0000644000175000017500000001272111035172302033355 0ustar twernertwerner/* * Created on 25-Nov-2007 * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.commons.components; import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; import java.util.Vector; import javax.swing.JComboBox; import org.pdfsam.guiclient.configuration.Configuration; import org.pdfsam.guiclient.dto.StringItem; import org.pdfsam.guiclient.utils.PdfVersionUtility; import org.pdfsam.i18n.GettextResource; /** * Combo box for the output pdf version choice * @author Andrea Vacondio */ public class JPdfVersionCombo extends JComboBox { private static final long serialVersionUID = -5004011941231451770L; public static final String SAME_AS_SOURCE = "1000"; private Configuration config; private boolean addSameAsSourceItem = false; private Vector filterVersions = new Vector(); /** * Size of the model when full */ private int fullSize = 0; public JPdfVersionCombo(){ this(false); } public JPdfVersionCombo(boolean addSameAsSourceItem){ config = Configuration.getInstance(); init(addSameAsSourceItem); this.fullSize = this.getModel().getSize(); this.setEnabled(true); } /** * * @param addSameAsSourceItem if true init adding the item "Same as source" * @param checkFilters if true init checking filters vector */ private void init(boolean addSameAsSourceItem, boolean checkFilters){ removeAllItems(); this.addSameAsSourceItem = addSameAsSourceItem; if(addSameAsSourceItem){ addItem(new StringItem(SAME_AS_SOURCE, GettextResource.gettext(config.getI18nResourceBundle(),"Same as input document"))); } ArrayList values = PdfVersionUtility.getVersionsList(); Integer maxFilter = new Integer(-1); if(checkFilters && !filterVersions.isEmpty()){ maxFilter = (Integer) Collections.max(filterVersions); } for(Iterator it = values.iterator(); it.hasNext();){ StringItem currentItem = (StringItem)it.next(); if(currentItem!=null && new Integer(currentItem.getId()).compareTo(maxFilter)>=0){ addItem(currentItem); } } } /** * default initialization with checkFilters false * @param addSameAsSourceItem */ private void init(boolean addSameAsSourceItem){ init(addSameAsSourceItem, false); setSelectedIndex(getModel().getSize()-3); } /** * removes items with lower version then version * @param version versionFilter */ public synchronized void addVersionFilter(Integer version){ ArrayList removeList = new ArrayList(); this.filterVersions.add(version); Integer maxFilter = (Integer) Collections.max(filterVersions); Object item = this.getSelectedItem(); for(int i =0; i0){ removeList.add(currentItem); if(currentItem.equals(item)){ item = null; } } } if(removeList.size()>0){ for(Iterator iter = removeList.iterator(); iter.hasNext();){ StringItem currentItem = (StringItem)iter.next(); this.removeItem(currentItem); } } //if it's empty i disable if(this.getItemCount() == 0){ this.setEnabled(false); }else{ if(item == null){ setSelectedIndex(0); }else{ setSelectedItem(item); } } } /** * remove the filter * @param version versionFilter */ public synchronized void removeVersionFilter(Integer version){ if(this.filterVersions.remove(version)){ if(filterVersions.isEmpty()){ removeFilters(); }else{ Integer maxFilter = (Integer) Collections.max(filterVersions); if(maxFilter.compareTo(version)<0){ Object item = this.getSelectedItem(); this.removeAllItems(); this.init(addSameAsSourceItem, true); if(item != null){ setSelectedItem(item); } } } } } /** * Enables every item */ public synchronized void removeFilters(){ if(this.getModel().getSize()0){ minItem = currentItem; } }else{ minItem = currentItem; } } return minItem; } } ././@LongLink0000000000000000000000000000015700000000000011570 Lustar rootrootpdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/commons/components/JPdfSelectionToolTipHeader.javapdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/commons/components/JPdfSelectionToolTipH0000644000175000017500000000354511035172302033404 0ustar twernertwerner/* * Created on 14-Mar-2006 * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.commons.components; import java.awt.event.MouseEvent; import javax.swing.table.JTableHeader; import javax.swing.table.TableColumnModel; /** * Used to show tooltip on JPdfSelectionTable Header * @author Andrea Vacondio */ public class JPdfSelectionToolTipHeader extends JTableHeader { private static final long serialVersionUID = -5265133364886971725L; private String[] toolTips = {"","","","",""}; public JPdfSelectionToolTipHeader(TableColumnModel model) { super(model); } /** * @return tool tip string to show */ public String getToolTipText(MouseEvent e) { String retVal; int col = columnAtPoint(e.getPoint()); int modelCol = getTable().convertColumnIndexToModel(col); try { retVal = toolTips[modelCol]; } catch (Exception ex) { retVal = ""; } return retVal; } /** * Set the tool tip string * @param toolTips */ public void setToolTips(String[] toolTips) { this.toolTips = toolTips; } } ././@LongLink0000000000000000000000000000015400000000000011565 Lustar rootrootpdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/commons/components/CommonComponentsFactory.javapdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/commons/components/CommonComponentsFacto0000644000175000017500000001252411105066320033540 0ustar twernertwerner/* * Created on 28-Nov-2007 * Copyright (C) 2007 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.commons.components; import java.awt.Insets; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JLabel; import javax.swing.JTextField; import javax.swing.border.EtchedBorder; import org.pdfsam.guiclient.commons.components.listeners.DefaultMouseListener; import org.pdfsam.guiclient.configuration.Configuration; import org.pdfsam.i18n.GettextResource; /** * Factory for components commonly used by plugins * @author Andrea Vacondio * */ public class CommonComponentsFactory { public static final int SIMPLE_TEXT_FIELD_TYPE = 0; public static final int DESTINATION_TEXT_FIELD_TYPE = 1; public static final int PREFIX_TEXT_FIELD_TYPE = 2; public static final int RUN_BUTTON_TYPE = 1; public static final int BROWSE_BUTTON_TYPE = 2; public static final int ADD_BUTTON_TYPE = 3; public static final int OVERWRITE_CHECKBOX_TYPE = 1; public static final int COMPRESS_CHECKBOX_TYPE = 2; public static final int DONT_PRESERVER_ORDER_CHECKBOX_TYPE = 3; public static final int PDF_VERSION_LABEL = 1; private static CommonComponentsFactory instance = null; private Configuration config; private CommonComponentsFactory(){ config = Configuration.getInstance(); } /** * @return the instance of CommonComponentsFactory */ public static synchronized CommonComponentsFactory getInstance() { if (instance == null){ instance = new CommonComponentsFactory(); } return instance; } /** * * @param buttonType * @return a button instance */ public synchronized JButton createButton(int buttonType){ JButton retVal = new JButton(); switch(buttonType){ case RUN_BUTTON_TYPE: retVal.setMargin(new Insets(2, 2, 2, 2)); retVal.setIcon(new ImageIcon(this.getClass().getResource("/images/run.png"))); retVal.setText(GettextResource.gettext(config.getI18nResourceBundle(),"Run")); break; case BROWSE_BUTTON_TYPE: retVal.setMargin(new Insets(2, 2, 2, 2)); retVal.setIcon(new ImageIcon(this.getClass().getResource("/images/browse.png"))); retVal.setText(GettextResource.gettext(config.getI18nResourceBundle(),"Browse")); break; case ADD_BUTTON_TYPE: retVal.setMargin(new Insets(2, 2, 2, 2)); retVal.setIcon(new ImageIcon(this.getClass().getResource("/images/add.png"))); retVal.setText(GettextResource.gettext(config.getI18nResourceBundle(),"Add")); break; default: break; } return retVal; } /** * * @param checkboxType * @return a JCheckBox instance */ public synchronized JCheckBox createCheckBox(int checkboxType){ JCheckBox retVal = new JCheckBox(); switch(checkboxType){ case COMPRESS_CHECKBOX_TYPE: retVal.setText(GettextResource.gettext(config.getI18nResourceBundle(),"Compress output file/files")); retVal.setToolTipText(GettextResource.gettext(config.getI18nResourceBundle(),"Pdf version required:")+" 1.5"); break; case OVERWRITE_CHECKBOX_TYPE: retVal.setText(GettextResource.gettext(config.getI18nResourceBundle(),"Overwrite if already exists")); retVal.setSelected(true); break; case DONT_PRESERVER_ORDER_CHECKBOX_TYPE: retVal.setText(GettextResource.gettext(config.getI18nResourceBundle(),"Don't preserve file order (fast load)")); break; default: break; } return retVal; } /** * * @param labelType * @return a JLabel instance */ public synchronized JLabel createLabel(int labelType){ JLabel retVal = new JLabel(); switch(labelType){ case PDF_VERSION_LABEL: retVal.setText(GettextResource.gettext(config.getI18nResourceBundle(),"Output document pdf version:")); break; default: break; } return retVal; } /** * * @param textFieldType * @return a JTextField instance */ public synchronized JTextField createTextField(int textFieldType){ JTextField retVal = new JTextField(); switch(textFieldType){ case SIMPLE_TEXT_FIELD_TYPE: case DESTINATION_TEXT_FIELD_TYPE: retVal.setBorder(new EtchedBorder(EtchedBorder.LOWERED)); retVal.addMouseListener(new DefaultMouseListener()); break; case PREFIX_TEXT_FIELD_TYPE: retVal.setBorder(new EtchedBorder(EtchedBorder.LOWERED)); retVal.addMouseListener(new DefaultMouseListener()); retVal.setText("pdfsam_"); break; default: break; } return retVal; } public Object clone() throws CloneNotSupportedException { throw new CloneNotSupportedException("Cannot clone ComponentFactory object."); } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/commons/components/listeners/0000755000175000017500000000000011063173514031355 5ustar twernertwerner././@LongLink0000000000000000000000000000016300000000000011565 Lustar rootrootpdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/commons/components/listeners/DefaultMouseListener.javapdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/commons/components/listeners/DefaultMous0000644000175000017500000000460311063172372033534 0ustar twernertwerner/* * Created on 14-SEP-2008 * Copyright (C) 2008 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.commons.components.listeners; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.JMenuItem; import javax.swing.JPopupMenu; import javax.swing.text.DefaultEditorKit; import org.pdfsam.guiclient.configuration.Configuration; import org.pdfsam.i18n.GettextResource; /** * Default listener that shows a popup menu with copy/cut/paste items * * @author Andrea Vacondio * */ public class DefaultMouseListener implements MouseListener { JPopupMenu popup; public DefaultMouseListener() { popup = new JPopupMenu(); JMenuItem menuCopy = new JMenuItem(new DefaultEditorKit.CopyAction()); menuCopy.setText(GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Copy")); popup.add(menuCopy); JMenuItem menuCut = new JMenuItem(new DefaultEditorKit.CutAction()); menuCut.setText(GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Cut")); popup.add(menuCut); JMenuItem menuPaste = new JMenuItem(new DefaultEditorKit.PasteAction()); menuPaste.setText(GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Paste")); popup.add(menuPaste); } private void checkForPopup(MouseEvent e) { if (e.isPopupTrigger()) { popup.show(e.getComponent(), e.getX(), e.getY()); } } public void mouseClicked(MouseEvent e) { } public void mouseEntered(MouseEvent e) { } public void mouseExited(MouseEvent e) { } public void mousePressed(MouseEvent e) { checkForPopup(e); } public void mouseReleased(MouseEvent e) { checkForPopup(e); } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/commons/panels/0000755000175000017500000000000011035172276026445 5ustar twernertwernerpdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/commons/panels/JPdfSelectionPanel.java0000644000175000017500000006575711216473764033014 0ustar twernertwerner/* * Created on 18-Nov-2007 * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.commons.panels; import java.awt.Color; import java.awt.Component; import java.awt.Dimension; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.Insets; import java.awt.Point; import java.awt.dnd.DropTarget; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.BorderFactory; import javax.swing.Box; import javax.swing.BoxLayout; import javax.swing.DefaultCellEditor; import javax.swing.DefaultListModel; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JList; import javax.swing.JMenuItem; import javax.swing.JPanel; import javax.swing.JPasswordField; import javax.swing.JPopupMenu; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.ListSelectionModel; import javax.swing.SwingUtilities; import javax.swing.table.TableColumn; import javax.swing.table.TableColumnModel; import org.apache.log4j.Logger; import org.pdfsam.guiclient.business.listeners.EnterDoClickListener; import org.pdfsam.guiclient.commons.business.PdfFileDropper; import org.pdfsam.guiclient.commons.business.PdfLoader; import org.pdfsam.guiclient.commons.business.listeners.PdfSelectionMouseHeaderAdapter; import org.pdfsam.guiclient.commons.business.listeners.PdfSelectionTableActionListener; import org.pdfsam.guiclient.commons.components.JPdfSelectionTable; import org.pdfsam.guiclient.commons.components.JPdfSelectionToolTipHeader; import org.pdfsam.guiclient.commons.frames.JDocumentPropertiesFrame; import org.pdfsam.guiclient.commons.models.AbstractPdfSelectionTableModel; import org.pdfsam.guiclient.commons.models.SimplePdfSelectionTableModel; import org.pdfsam.guiclient.commons.models.SortablePdfSelectionTableModel; import org.pdfsam.guiclient.commons.renderers.ArrowHeaderRenderer; import org.pdfsam.guiclient.commons.renderers.JPdfSelectionTableRenderer; import org.pdfsam.guiclient.configuration.Configuration; import org.pdfsam.guiclient.dto.PdfSelectionTableItem; import org.pdfsam.i18n.GettextResource; /** * Customizable Panel for the selection of pdf documents * @author Andrea Vacondio */ public class JPdfSelectionPanel extends JPanel { private static final long serialVersionUID = 7231708747828566035L; private static final Logger log = Logger.getLogger(JPdfSelectionPanel.class.getPackage().getName()); public static final int UNLIMTED_SELECTABLE_FILE_NUMBER = Integer.MAX_VALUE; public static final int SINGLE_SELECTABLE_FILE = 1; public static final int DOUBLE_SELECTABLE_FILE = 2; public static final String OUTPUT_PATH_PROPERTY = "defaultOutputPath"; private boolean showEveryButton = false; private boolean showClearButton = false; private boolean showMoveButtons = false; private int maxSelectableFiles = 0; private int showedColums; private final JPdfSelectionTable mainTable = new JPdfSelectionTable(); private AbstractPdfSelectionTableModel tableModel; private final JList workInProgressList = new JList(); private JScrollPane tableScrollPane; private JScrollPane wipListScrollPane; private Configuration config; private PdfSelectionTableActionListener pdfSelectionTableListener; private final JPanel buttonPanel = new JPanel(); private final JPopupMenu popupMenu = new JPopupMenu(); private PdfLoader loader = null; private DropTarget tableDropTarget; private DropTarget scrollPanelDropTarget; private final JButton addFileButton = new JButton(); private final JButton removeFileButton = new JButton(); private final JButton moveUpButton = new JButton(); private final JButton moveDownButton = new JButton(); private final JButton clearButton = new JButton(); private boolean setOutputPathMenuItemEnabled = false; //keylisteners private final EnterDoClickListener addEnterKeyListener = new EnterDoClickListener(addFileButton); private final EnterDoClickListener removeEnterKeyListener = new EnterDoClickListener(removeFileButton); private final EnterDoClickListener moveuEnterKeyListener = new EnterDoClickListener(moveUpButton); private final EnterDoClickListener movedEnterKeyListener = new EnterDoClickListener(moveDownButton); private final EnterDoClickListener clearEnterKeyListener = new EnterDoClickListener(clearButton); /** * default constructor shows every button and permits an unlimited number of selected input documents */ public JPdfSelectionPanel(){ this(UNLIMTED_SELECTABLE_FILE_NUMBER, SimplePdfSelectionTableModel.DEFAULT_SHOWED_COLUMNS_NUMBER, true); } /** * showEveryButton is true if maxSelectableFiles is > 1 * @param maxSelectableFiles * @param showedColums */ public JPdfSelectionPanel(int maxSelectableFiles, int showedColums){ this(maxSelectableFiles,showedColums, (maxSelectableFiles>1)); } /** * @param maxSelectableFiles * @param showedColums * @param showEveryButton if true shows every button, if false hide clear button and move buttons */ public JPdfSelectionPanel(int maxSelectableFiles, int showedColums, boolean showEveryButton){ this(maxSelectableFiles, showedColums, showEveryButton, false, false); } /** * @param maxSelectableFiles * @param showedColums * @param showClearButton if true shows the clear button * @param showMoveButtons if true shows the move buttons */ public JPdfSelectionPanel(int maxSelectableFiles, int showedColums, boolean showClearButton, boolean showMoveButtons){ this(maxSelectableFiles, showedColums, false, showClearButton, showMoveButtons); } /** * Full constructor * @param maxSelectableFiles * @param showedColums * @param showEveryButton * @param showClearButton * @param showMoveButtons */ private JPdfSelectionPanel(int maxSelectableFiles, int showedColums, boolean showEveryButton, boolean showClearButton, boolean showMoveButtons){ this.config = Configuration.getInstance(); this.maxSelectableFiles = maxSelectableFiles; this.showedColums = showedColums; this.showEveryButton = showEveryButton; this.showClearButton = showClearButton; this.showMoveButtons = showMoveButtons; loader = new PdfLoader(this); init(); } /** * @return the showEveryButton */ public boolean isShowEveryButton() { return showEveryButton; } /** * @return the maxSelectableFiles */ public int getMaxSelectableFiles() { return maxSelectableFiles; } /** * @return the mainTable */ public JPdfSelectionTable getMainTable() { return mainTable; } private void init(){ setLayout(new GridBagLayout()); if(maxSelectableFiles>1){ tableModel = new SortablePdfSelectionTableModel(showedColums, maxSelectableFiles); }else{ tableModel = new SimplePdfSelectionTableModel(showedColums, maxSelectableFiles); } mainTable.setModel(tableModel); mainTable.setDragEnabled(true); mainTable.putClientProperty("terminateEditOnFocusLost", Boolean.TRUE); mainTable.setRowHeight(20); mainTable.setRowMargin(5); mainTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); mainTable.setSelectionForeground(Color.BLACK); mainTable.setSelectionBackground(new Color(211, 221, 222)); mainTable.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION); mainTable.setGridColor(Color.LIGHT_GRAY); mainTable.setIntercellSpacing(new Dimension(3, 3)); mainTable.setDefaultRenderer(String.class, new JPdfSelectionTableRenderer()); TableColumnModel mainTableColModel = mainTable.getColumnModel(); mainTableColModel.getColumn(AbstractPdfSelectionTableModel.PASSWORD).setCellEditor(new DefaultCellEditor(new JPasswordField())); TableColumn tc = mainTableColModel.getColumn(AbstractPdfSelectionTableModel.ROW_NUM); tc.setPreferredWidth(25); tc.setMaxWidth(35); //header tooltip JPdfSelectionToolTipHeader toolTipHeader = new JPdfSelectionToolTipHeader(mainTableColModel); toolTipHeader.setReorderingAllowed(false); toolTipHeader.setToolTips(tableModel.getToolTips()); mainTable.setTableHeader(toolTipHeader); if(maxSelectableFiles>1){ toolTipHeader.setDefaultRenderer(new ArrowHeaderRenderer(tableModel, toolTipHeader.getDefaultRenderer())); toolTipHeader.addMouseListener(new PdfSelectionMouseHeaderAdapter(tableModel)); } tableScrollPane = new JScrollPane(mainTable); tableScrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); pdfSelectionTableListener = new PdfSelectionTableActionListener(this, loader); //drag and drop PdfFileDropper dropper = new PdfFileDropper(loader); tableDropTarget = new DropTarget(tableScrollPane,dropper); scrollPanelDropTarget = new DropTarget(mainTable, dropper); buttonPanel.setLayout(new BoxLayout(buttonPanel, BoxLayout.Y_AXIS)); buttonPanel.setBorder(BorderFactory.createEmptyBorder(0, 10, 10, 10)); //add button addFileButton.setMargin(new Insets(2, 2, 2, 2)); addFileButton.setToolTipText(GettextResource.gettext(config.getI18nResourceBundle(),"Add a pdf to the list")); addFileButton.setIcon(new ImageIcon(this.getClass().getResource("/images/add.png"))); if(maxSelectableFiles>1){ addFileButton.setActionCommand(PdfSelectionTableActionListener.ADD); }else{ addFileButton.setActionCommand(PdfSelectionTableActionListener.ADDSINGLE); } addFileButton.addActionListener(pdfSelectionTableListener); addFileButton.setText(GettextResource.gettext(config.getI18nResourceBundle(),"Add")); addFileButton.addKeyListener(addEnterKeyListener); addFileButton.setAlignmentX(Component.CENTER_ALIGNMENT); addButtonToButtonPanel(addFileButton); //remove button removeFileButton.setMargin(new Insets(2, 2, 2, 2)); removeFileButton.setToolTipText(GettextResource.gettext(config.getI18nResourceBundle(),"Remove a pdf from the list")+" "+GettextResource.gettext(config.getI18nResourceBundle(),"(Canc)")); removeFileButton.setIcon(new ImageIcon(this.getClass().getResource("/images/remove.png"))); removeFileButton.setActionCommand(PdfSelectionTableActionListener.REMOVE); removeFileButton.addActionListener(pdfSelectionTableListener); removeFileButton.setText(GettextResource.gettext(config.getI18nResourceBundle(),"Remove")); removeFileButton.addKeyListener(removeEnterKeyListener); removeFileButton.setAlignmentX(Component.CENTER_ALIGNMENT); buttonPanel.add(removeFileButton); addButtonToButtonPanel(removeFileButton); final JMenuItem menuItemRemove = new JMenuItem(); menuItemRemove.setIcon(new ImageIcon(this.getClass().getResource("/images/remove.png"))); menuItemRemove.setText(GettextResource.gettext(config.getI18nResourceBundle(),"Remove")); menuItemRemove.addMouseListener(new MouseAdapter() { public void mouseReleased(MouseEvent e) { removeFileButton.doClick(0); } }); popupMenu.add(menuItemRemove); //reload file popup final JMenuItem menuItemReload = new JMenuItem(); menuItemReload.setIcon(new ImageIcon(this.getClass().getResource("/images/reload.png"))); menuItemReload.setText(GettextResource.gettext(config.getI18nResourceBundle(),"Reload")); menuItemReload.addMouseListener(new MouseAdapter() { public void mouseReleased(MouseEvent e) { if (mainTable.getSelectedRow() != -1){ try{ int[] selectedRows = mainTable.getSelectedRows(); for(int i=0; i0); } /** * adds a item to the table * @param item */ public synchronized void addTableRow(PdfSelectionTableItem item){ ((AbstractPdfSelectionTableModel)mainTable.getModel()).addRow(item); log.info(GettextResource.gettext(config.getI18nResourceBundle(),"File selected: ")+item.getInputFile().getName()); } /** * update an item to the table * @param index * @param item */ public synchronized void updateTableRow(int index, PdfSelectionTableItem item){ ((AbstractPdfSelectionTableModel)mainTable.getModel()).updateRowAt(index, item); log.info(GettextResource.gettext(config.getI18nResourceBundle(),"File reloaded: ")+item.getInputFile().getName()); } /** * adds a button to the button panel * @param button */ private void addButtonToButtonPanel(JButton button){ button.setMinimumSize(new Dimension(110, 25)); button.setMaximumSize(new Dimension(160, 25)); buttonPanel.add(button); buttonPanel.add(Box.createRigidArea(new Dimension(0,5))); } /** * @return rows of the model */ public PdfSelectionTableItem[] getTableRows(){ return ((AbstractPdfSelectionTableModel)mainTable.getModel()).getRows(); } /** * initialize the moveUpButton */ private void initMoveUpButton(){ //move up button moveUpButton.setMargin(new Insets(2, 2, 2, 2)); moveUpButton.addActionListener(pdfSelectionTableListener); moveUpButton.setIcon(new ImageIcon(this.getClass().getResource("/images/up.png"))); moveUpButton.setActionCommand(PdfSelectionTableActionListener.MOVE_UP); moveUpButton.setText(GettextResource.gettext(config.getI18nResourceBundle(),"Move Up")); moveUpButton.setToolTipText(GettextResource.gettext(config.getI18nResourceBundle(),"Move up selected pdf file")+" "+GettextResource.gettext(config.getI18nResourceBundle(),"(Alt+ArrowUp)")); moveUpButton.addKeyListener(moveuEnterKeyListener); moveUpButton.setAlignmentX(Component.CENTER_ALIGNMENT); addButtonToButtonPanel(moveUpButton); final JMenuItem menuItemMoveUp = new JMenuItem(); menuItemMoveUp.setIcon(new ImageIcon(this.getClass().getResource("/images/up.png"))); menuItemMoveUp.setText(GettextResource.gettext(config.getI18nResourceBundle(),"Move Up")); menuItemMoveUp.addMouseListener(new MouseAdapter() { public void mouseReleased(MouseEvent e) { moveUpButton.doClick(0); } }); popupMenu.add(menuItemMoveUp); } /** * initialize the move down button */ private void initMoveDownButton(){ //move down button moveDownButton.addActionListener(pdfSelectionTableListener); moveDownButton.setIcon(new ImageIcon(this.getClass().getResource("/images/down.png"))); moveDownButton.setActionCommand(PdfSelectionTableActionListener.MOVE_DOWN); moveDownButton.setMargin(new Insets(2, 2, 2, 2)); moveDownButton.setText(GettextResource.gettext(config.getI18nResourceBundle(),"Move Down")); moveDownButton.setToolTipText(GettextResource.gettext(config.getI18nResourceBundle(),"Move down selected pdf file")+" "+GettextResource.gettext(config.getI18nResourceBundle(),"(Alt+ArrowDown)")); moveDownButton.addKeyListener(movedEnterKeyListener); moveDownButton.setAlignmentX(Component.CENTER_ALIGNMENT); addButtonToButtonPanel(moveDownButton); final JMenuItem menuItemMoveDown = new JMenuItem(); menuItemMoveDown.setIcon(new ImageIcon(this.getClass().getResource("/images/down.png"))); menuItemMoveDown.setText(GettextResource.gettext(config.getI18nResourceBundle(),"Move Down")); menuItemMoveDown.addMouseListener(new MouseAdapter() { public void mouseReleased(MouseEvent e) { moveDownButton.doClick(0); } }); popupMenu.add(menuItemMoveDown); } /** * initialize the clear button */ private void initClearButton(){ //clear button clearButton.addActionListener(pdfSelectionTableListener); clearButton.setIcon(new ImageIcon(this.getClass().getResource("/images/clear.png"))); clearButton.setActionCommand(PdfSelectionTableActionListener.CLEAR); clearButton.setMargin(new Insets(2, 2, 2, 2)); clearButton.setText(GettextResource.gettext(config.getI18nResourceBundle(),"Clear")); clearButton.setToolTipText(GettextResource.gettext(config.getI18nResourceBundle(),"Remove every pdf file from the merge list")); clearButton.addKeyListener(clearEnterKeyListener); clearButton.setAlignmentX(Component.CENTER_ALIGNMENT); buttonPanel.add(clearButton); addButtonToButtonPanel(clearButton); } /** * enables the set output path menu item */ public void enableSetOutputPathMenuItem(){ if (!setOutputPathMenuItemEnabled){ //set out file popup setOutputPathMenuItemEnabled = true; final JMenuItem menuItemSetOutputPath = new JMenuItem(); menuItemSetOutputPath.setIcon(new ImageIcon(this.getClass().getResource("/images/set_outfile.png"))); menuItemSetOutputPath.setText(GettextResource.gettext(config.getI18nResourceBundle(),"Set output file")); menuItemSetOutputPath.addMouseListener(new MouseAdapter() { public void mouseReleased(MouseEvent e) { if (mainTable.getSelectedRow() != -1){ try{ String defaultOutputPath = ((AbstractPdfSelectionTableModel) mainTable.getModel()).getRow(mainTable.getSelectedRow()).getInputFile().getParent(); firePropertyChange(OUTPUT_PATH_PROPERTY, "", defaultOutputPath); } catch (Exception ex){ log.error(GettextResource.gettext(config.getI18nResourceBundle(),"Error: Unable to get the file path."), ex); } } } }); popupMenu.add(menuItemSetOutputPath); } } /** * @return the pdf loader */ public PdfLoader getLoader(){ return loader; } /** * @return the addFileButton */ public JButton getAddFileButton() { return addFileButton; } /** * @return the removeFileButton */ public JButton getRemoveFileButton() { return removeFileButton; } /** * @return the moveUpButton */ public JButton getMoveUpButton() { return moveUpButton; } /** * @return the moveDownButton */ public JButton getMoveDownButton() { return moveDownButton; } /** * @return the clearButton */ public JButton getClearButton() { return clearButton; } /** * @return the tableDropTarget */ public DropTarget getTableDropTarget() { return tableDropTarget; } /** * @return the scrollPanelDropTarget */ public DropTarget getScrollPanelDropTarget() { return scrollPanelDropTarget; } /** * @return the setOutputPathMenuItemEnabled */ public boolean isSetOutputPathMenuItemEnabled() { return setOutputPathMenuItemEnabled; } /** * @return true if it's a single selectable file panel */ public boolean isSingleSelectableFile(){ return (SINGLE_SELECTABLE_FILE == maxSelectableFiles); } /** * @param menuItem item to add to the popup menu */ public void addPopupMenuItem(JMenuItem menuItem){ if(menuItem != null){ popupMenu.add(menuItem); } } /** * If true, the selection table default renderer will show a tooltip message when the document is not opened with full permissions * @param required */ public void setFullAccessRequired(boolean required){ mainTable.setDefaultRenderer(String.class, new JPdfSelectionTableRenderer(required)); } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/commons/models/0000755000175000017500000000000011035172300026432 5ustar twernertwerner././@LongLink0000000000000000000000000000015700000000000011570 Lustar rootrootpdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/commons/models/AbstractPdfSelectionTableModel.javapdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/commons/models/AbstractPdfSelectionTable0000644000175000017500000002265311044621000033374 0ustar twernertwerner/* * Created on 20-Dec-2007 * Copyright (C) 2007 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.commons.models; import java.io.Serializable; import javax.swing.table.AbstractTableModel; import org.pdfsam.guiclient.commons.panels.JPdfSelectionPanel; import org.pdfsam.guiclient.dto.PdfSelectionTableItem; /** * Abstract model for the selection table * @author Andrea Vacondio * */ public abstract class AbstractPdfSelectionTableModel extends AbstractTableModel { private static final long serialVersionUID = -4626256408853242065L; //colums order public final static int ROW_NUM = 0; public final static int FILENAME = 1; public final static int PATH = 2; public final static int PAGES = 3; public final static int PASSWORD = 4; public final static int PDF_DOCUMENT_VERSION = 5; public final static int PAGESELECTION = 6; public final static int MAX_COLUMNS_NUMBER = 7; public final static int DEFAULT_SHOWED_COLUMNS_NUMBER = 6; public static final int DESCENDING = -1; public static final int NOT_SORTED = 0; public static final int ASCENDING = 1; //colums names private String[] columnNames; //tooltips private String[] toolTips ; private int showedColumns = DEFAULT_SHOWED_COLUMNS_NUMBER; private int maxRowsNumber = JPdfSelectionPanel.UNLIMTED_SELECTABLE_FILE_NUMBER; private boolean sortable = false; public AbstractPdfSelectionTableModel(){ this.sortable = false; } /** * @return the columnNames */ public String[] getColumnNames() { return columnNames; } /** * @param toolTips the toolTips to set */ public void setToolTips(String[] toolTips) { this.toolTips = toolTips; } /** * @return Number of showed columns */ public int getColumnCount() { return showedColumns; } /** * @return the showedColumns */ public int getShowedColumns() { return showedColumns; } public Class getColumnClass(int columnIndex) { return String.class; } /** * @param showedColumns the showedColumns to set (must be positive) */ public void setShowedColumns(int showedColumns) { if(showedColumns < 1){ this.showedColumns = 1; }else if (showedColumns > MAX_COLUMNS_NUMBER){ this.showedColumns = MAX_COLUMNS_NUMBER; }else{ this.showedColumns = showedColumns; } } /** * @return the maxRowsNumber */ public int getMaxRowsNumber() { return maxRowsNumber; } /** * @param maxRowsNumber the maxRowsNumber to set (must be positive) */ public void setMaxRowsNumber(int maxRowsNumber) { if(maxRowsNumber < 1){ this.maxRowsNumber = 1; }else{ this.maxRowsNumber = maxRowsNumber; } } /** * Return true if the cell is editable */ public boolean isCellEditable(int row, int column) { return ((PAGESELECTION==column)||(PASSWORD==column)); } /** *

Return column name * * @param col Column number * @return Column name */ public String getColumnName(int col) { return (col < columnNames.length)? columnNames[col]: ""; } /** * @return Returns the toolTips. */ public String[] getToolTips() { return toolTips; } /** * @param columnNames The columnNames to set. */ public void setColumnNames(String[] columnNames) { this.columnNames = columnNames; } /** * @param sortable the sortable to set */ protected void setSortable(boolean sortable) { this.sortable = sortable; } /** * @return the sortable */ public boolean isSortable() { return sortable; } /** * @return rows of the model */ public abstract PdfSelectionTableItem[] getRows(); /** *

Remove a set of rows from the table data source and fire to Listeners * * @param rows rows number to remove from the data source * @throws Exception if an exception occurs * */ public abstract void deleteRows(int[] rows) throws IndexOutOfBoundsException; /** *

Remove a row from the table data source and fire to Listeners * * @param row row number to remove from the data source * @throws Exception if an exception occurs * */ public abstract void deleteRow(int row) throws IndexOutOfBoundsException; /** * Moves down a set of rows to the table data source and fire to Listeners * @param rows Row numbers to move from the data source */ public abstract void moveDownRows(int[] rows)throws IndexOutOfBoundsException; /** * Moves down a row to the table data source and fire to Listeners * @param row Row number to remove from the data source */ public abstract void moveDownRow(int row) throws IndexOutOfBoundsException; /** * Moves up a set of rows to the table data source and fire to Listeners * @param rows Row numbers to move from the data source */ public abstract void moveUpRows(int[] rows)throws IndexOutOfBoundsException; /** * Moves up a row to the table data source and fire to Listeners * @param row Row number to move from the data source */ public abstract void moveUpRow(int row)throws IndexOutOfBoundsException; /** * Add a row to the table data source if maxRowsNumber is not reached and fire to Listeners * @param inputData PdfSelectionTableItem to add to the data source */ public abstract void addRowAt(int index, PdfSelectionTableItem inputData); /** * Replace a row to the table data source and fire to Listeners * @param index index to be replaced * @param inputData new PdfSelectionTableItem to replace the data source */ public abstract void updateRowAt(int index, PdfSelectionTableItem inputData); /** * Add a row to the table data source if maxRowsNumber is not reached and fire to Listeners * @param inputData PdfSelectionTableItem to add to the data source */ public abstract void addRow(PdfSelectionTableItem inputData); /** * Removes any data source for the model */ public abstract void clearData(); /** * set data source for the model * @param inputData array PdfSelectionTableItem[] as data source */ public abstract void setData(PdfSelectionTableItem[] inputData); /** * Return the value at row */ public abstract PdfSelectionTableItem getRow(int row); /*********************sort features ***********/ /** * Sort the data */ public abstract void sort(); /** * @return the sortingState */ public abstract SortingState getSortingState(); /** * sets the sorting state * @param sortingState */ public abstract void setSortingState(SortingState sortingState); /** * Model of a sorting state (column and sort type) * @author Andrea Vacondio * */ public class SortingState implements Serializable{ private static final long serialVersionUID = 3051421044350063901L; private int col = -1; private int sortType = NOT_SORTED; public SortingState(){ } /** * @param col * @param sortType */ public SortingState(int col, int sortType) { this.col = col; this.sortType = sortType; } /** * @return the col */ public int getCol() { return col; } /** * @param col the col to set */ public void setCol(int col) { this.col = col; } /** * @return the sortType */ public int getSortType() { return sortType; } /** * @param sortType the sortType to set */ public void setSortType(int sortType) { this.sortType = sortType; } /** * @return true if sorted */ public boolean isSorted(){ return (sortType==DESCENDING || sortType==ASCENDING); } /* (non-Javadoc) * @see java.lang.Object#hashCode() */ public int hashCode() { final int prime = 31; int result = 1; result = prime * result + col; result = prime * result + sortType; return result; } /* (non-Javadoc) * @see java.lang.Object#equals(java.lang.Object) */ public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) return false; if (getClass() != obj.getClass()) return false; final SortingState other = (SortingState) obj; if (col != other.col) return false; if (sortType != other.sortType) return false; return true; } public String toString(){ return "[col="+col+" sortType="+sortType+"]"; } } } ././@LongLink0000000000000000000000000000015700000000000011570 Lustar rootrootpdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/commons/models/SortablePdfSelectionTableModel.javapdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/commons/models/SortablePdfSelectionTable0000644000175000017500000001534111044603142033407 0ustar twernertwerner/* * Created on 21-Dec-2007 * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.commons.models; import java.io.Serializable; import java.util.Collections; import java.util.Comparator; import org.pdfsam.guiclient.dto.PdfSelectionTableItem; /** * Model for the JPdfSelectionTable with sort features * @author Andrea Vacondio * */ public class SortablePdfSelectionTableModel extends SimplePdfSelectionTableModel { private static final long serialVersionUID = -3947614487255713123L; private SortingState sortingState = new SortingState(); public final PdfSelectionTableItemComparator comparator = new PdfSelectionTableItemComparator(); public SortablePdfSelectionTableModel() { super(); setSortable(true); } /** * @param showedColumns * @param maxRowsNumber */ public SortablePdfSelectionTableModel(int showedColumns, int maxRowsNumber) { super(showedColumns, maxRowsNumber); setSortable(true); } /** * @return the sortingState */ public SortingState getSortingState() { return sortingState; } /** * sets the sorting states and sort * @param sortingState the sortingState to set */ public void setSortingState(SortingState sortingState) { this.sortingState = sortingState; sort(); } /** * sets the sorting states and sort * @param col column * @param sortType sortType */ public void setSortingState(int col, int sortType) { this.sortingState.setCol(col); this.sortingState.setSortType(sortType); sort(); } /** * set the sorting state to NOT_SORTING */ public void clearSortingState(){ this.sortingState.setCol(-1); this.sortingState.setSortType(NOT_SORTED); } /** * Sort the data */ public void sort(){ if(NOT_SORTED != sortingState.getSortType()){ comparator.setSortingState(sortingState); Collections.sort(data, comparator); this.fireTableDataChanged(); } } /** * reset sorting informations */ private void cancelSorting(){ if(sortingState!=null && NOT_SORTED != sortingState.getSortType()){ sortingState.setSortType(NOT_SORTED); this.fireTableStructureChanged(); } } public void addRow(PdfSelectionTableItem inputData){ cancelSorting(); super.addRow(inputData); } public void addRowAt(int index, PdfSelectionTableItem inputData){ cancelSorting(); super.addRowAt(index, inputData); } public void moveUpRow(int row)throws IndexOutOfBoundsException{ cancelSorting(); super.moveUpRow(row); } public void moveUpRows(int[] rows)throws IndexOutOfBoundsException{ cancelSorting(); super.moveUpRows(rows); } public void moveDownRow(int row) throws IndexOutOfBoundsException{ cancelSorting(); super.moveDownRow(row); } public void moveDownRows(int[] rows)throws IndexOutOfBoundsException{ cancelSorting(); super.moveDownRows(rows); } /** * comparator for the PdfSelectionTableItem * @author Andrea Vacondio * */ public class PdfSelectionTableItemComparator implements Comparator, Serializable{ private static final long serialVersionUID = 1128466157306952391L; private SortingState sortingState = new SortingState(); public int compare(Object o1, Object o2) { int retVal = 0; if(sortingState.getCol() == -1){ retVal = o1.toString().compareTo(o2.toString()); }else{ Object first; Object second; switch(sortingState.getCol()){ case FILENAME: first = (((PdfSelectionTableItem)o1).getInputFile() != null)? ((PdfSelectionTableItem)o1).getInputFile().getName(): ""; second = (((PdfSelectionTableItem)o2).getInputFile() != null)? ((PdfSelectionTableItem)o2).getInputFile().getName(): ""; break; case PATH: first = (((PdfSelectionTableItem)o1).getInputFile() != null)? ((PdfSelectionTableItem)o1).getInputFile().getAbsolutePath(): ""; second = (((PdfSelectionTableItem)o2).getInputFile() != null)? ((PdfSelectionTableItem)o2).getInputFile().getAbsolutePath(): ""; break; case PAGES: first = (((PdfSelectionTableItem)o1).getPagesNumber() != null)? new Integer(((PdfSelectionTableItem)o1).getPagesNumber()): new Integer("0"); second = (((PdfSelectionTableItem)o2).getPagesNumber() != null)? new Integer(((PdfSelectionTableItem)o2).getPagesNumber()): new Integer("0"); break; case PDF_DOCUMENT_VERSION: first = new Character(((PdfSelectionTableItem)o1).getPdfVersion()); second = new Character(((PdfSelectionTableItem)o2).getPdfVersion()); break; case PAGESELECTION: first = (((PdfSelectionTableItem)o1).getPageSelection() != null)? ((PdfSelectionTableItem)o1).getPageSelection(): ""; second = (((PdfSelectionTableItem)o2).getPageSelection() != null)? ((PdfSelectionTableItem)o2).getPageSelection(): ""; break; default: first = o1; second = o2; break; } if (Comparable.class.isAssignableFrom(first.getClass())) { if(sortingState.getSortType() == DESCENDING){ retVal = ((Comparable) first).compareTo(second); }else{ retVal = ((Comparable) second).compareTo(first); } }else{ if(sortingState.getSortType() == DESCENDING){ retVal = first.toString().compareTo(second.toString()); }else{ retVal = second.toString().compareTo(first.toString()); } } } return retVal; } /** * @return the sortingState */ public SortingState getSortingState() { return sortingState; } /** * @param sortingState the sortingState to set */ public void setSortingState(SortingState sortingState) { this.sortingState = sortingState; } } } ././@LongLink0000000000000000000000000000015500000000000011566 Lustar rootrootpdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/commons/models/SimplePdfSelectionTableModel.javapdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/commons/models/SimplePdfSelectionTableMo0000644000175000017500000002660211206021420033354 0ustar twernertwerner/* * Created on 18-Nov-2007 * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.commons.models; import java.util.Vector; import org.pdfsam.guiclient.commons.panels.JPdfSelectionPanel; import org.pdfsam.guiclient.configuration.Configuration; import org.pdfsam.guiclient.dto.PdfSelectionTableItem; import org.pdfsam.i18n.GettextResource; /** * Model for the table in JPdfSlectionPanel * @author Andrea Vacondio * @see javax.swing.table.AbstractTableModel */ public class SimplePdfSelectionTableModel extends AbstractPdfSelectionTableModel { private static final long serialVersionUID = 1655126010246744193L; //data array protected Vector data = new Vector(); protected Configuration config; /** * default constructor with default number of showed columns */ public SimplePdfSelectionTableModel() { this(DEFAULT_SHOWED_COLUMNS_NUMBER, JPdfSelectionPanel.UNLIMTED_SELECTABLE_FILE_NUMBER); } /** * @param showedColumns * @param maxRowsNumber */ public SimplePdfSelectionTableModel(int showedColumns, int maxRowsNumber) { config = Configuration.getInstance(); String[] i18nColumnNames = { "#", GettextResource.gettext(config.getI18nResourceBundle(),"File name"), GettextResource.gettext(config.getI18nResourceBundle(),"Path"), GettextResource.gettext(config.getI18nResourceBundle(),"Pages"), GettextResource.gettext(config.getI18nResourceBundle(),"Password"), GettextResource.gettext(config.getI18nResourceBundle(),"Version"), GettextResource.gettext(config.getI18nResourceBundle(),"Page Selection")}; setColumnNames(i18nColumnNames); String[] i18nToolTips ={ "", "", "", GettextResource.gettext(config.getI18nResourceBundle(),"Total pages of the document"), GettextResource.gettext(config.getI18nResourceBundle(),"Password to open the document (if needed)"), GettextResource.gettext(config.getI18nResourceBundle(),"Pdf version of the document"), GettextResource.gettext(config.getI18nResourceBundle(),"Double click to set pages you want to merge (ex: 2 or 5-23 or 2,5-7,12-)")}; setToolTips(i18nToolTips); setShowedColumns(showedColumns); setMaxRowsNumber(maxRowsNumber); } /** * @return Rows number */ public int getRowCount() { return (data != null)? data.size(): 0; } /** * Return the value at row, col */ public Object getValueAt(int row, int col) { String retVal = ""; if(row < data.size() && col < getShowedColumns()){ PdfSelectionTableItem tmpElement = (PdfSelectionTableItem)(data.get(row)); switch(col){ case ROW_NUM: retVal = (row+1)+""; break; case FILENAME: retVal = (tmpElement.getInputFile() != null)? tmpElement.getInputFile().getName(): ""; break; case PATH: retVal = (tmpElement.getInputFile() != null)? tmpElement.getInputFile().getAbsolutePath(): ""; break; case PAGES: retVal = (tmpElement.getPagesNumber() != null)? tmpElement.getPagesNumber(): ""; break; case PASSWORD: retVal = (tmpElement.getPassword() != null)? tmpElement.getPassword(): ""; break; case PDF_DOCUMENT_VERSION: retVal = tmpElement.getPdfVersionDescription(); break; case PAGESELECTION: retVal = (tmpElement.getPageSelection() != null)? tmpElement.getPageSelection(): ""; break; default: break; } } return retVal; } /** * Return the value at row */ public PdfSelectionTableItem getRow(int row) { PdfSelectionTableItem retVal = null; if(row <= data.size()){ retVal = (PdfSelectionTableItem)(data.get(row)); } return retVal; } /** * set data source for the model * @param inputData array PdfSelectionTableItem[] as data source */ public void setData(PdfSelectionTableItem[] inputData){ data.clear(); for(int i=0; (i= 0 && row < (data.size())){ if(PAGESELECTION == column){ ((PdfSelectionTableItem)data.get(row)).setPageSelection(value.toString()); }else if(PASSWORD == column){ ((PdfSelectionTableItem)data.get(row)).setPassword(value.toString()); } } } /** * Add a row to the table data source if maxRowsNumber is not reached and fire to Listeners * @param inputData PdfSelectionTableItem to add to the data source */ public void addRow(PdfSelectionTableItem inputData){ if (inputData != null && data.size()Remove a row from the table data source and fire to Listeners * * @param row row number to remove from the data source * @throws Exception if an exception occurs * */ public void deleteRow(int row) throws IndexOutOfBoundsException{ data.remove(row); fireTableRowsDeleted(row,row); } /** *

Remove a set of rows from the table data source and fire to Listeners * * @param rows rows number to remove from the data source * @throws Exception if an exception occurs * */ public void deleteRows(int[] rows) throws IndexOutOfBoundsException{ if (rows.length > 0 && rows.length <= data.size()){ data.subList(rows[0], rows[rows.length-1]+1).clear(); this.fireTableRowsDeleted(rows[0], rows[rows.length -1]); } } /** * @return rows of the model */ public PdfSelectionTableItem[] getRows(){ PdfSelectionTableItem[] retVal = null; if (data != null){ retVal = (PdfSelectionTableItem[]) data.toArray(new PdfSelectionTableItem[data.size()]); } return retVal; } /** * Add a row to the table data source if maxRowsNumber is not reached and fire to Listeners * @param index index to add to * @param inputData PdfSelectionTableItem to add to the data source */ public void addRowAt(int index, PdfSelectionTableItem inputData){ if (inputData != null && data.size()=0 && index<=data.size()){ data.add(index, inputData); this.fireTableRowsInserted(index,index); } } /** * Replace a row to the table data source and fire to Listeners * @param index index to be replaced * @param inputData new PdfSelectionTableItem to replace the data source */ public void updateRowAt(int index, PdfSelectionTableItem inputData){ if (inputData != null && index>=0 && index= 1 && row < (data.size())){ PdfSelectionTableItem tmpElement = (PdfSelectionTableItem)data.get(row); data.set(row, data.get((row-1))); data.set((row-1), tmpElement); fireTableRowsUpdated(row-1, row); } } /** * Moves up a set of rows to the table data source and fire to Listeners * @param rows Row numbers to move from the data source */ public void moveUpRows(int[] rows)throws IndexOutOfBoundsException{ if (rows.length > 0 && rows.length < data.size()){ //no move up if i'm selecting the first element of the table if (rows[0] > 0){ PdfSelectionTableItem tmpElement = (PdfSelectionTableItem)data.get(rows[0]-1); for (int i=0; i 0){ data.set(rows[i]-1, data.get(rows[i])); } } data.set(rows[rows.length-1], tmpElement); fireTableRowsUpdated(rows[0]-1, rows[rows.length-1]); } } } /** * Moves down a row to the table data source and fire to Listeners * @param row Row number to remove from the data source */ public void moveDownRow(int row) throws IndexOutOfBoundsException{ if (row >= 0 && row < (data.size()-1)){ PdfSelectionTableItem tmpElement = (PdfSelectionTableItem)data.get(row); data.set(row, data.get((row+1))); data.set((row+1), tmpElement); fireTableRowsUpdated(row, row+1); } } /** * Moves down a set of rows to the table data source and fire to Listeners * @param rows Row numbers to move from the data source */ public void moveDownRows(int[] rows)throws IndexOutOfBoundsException{ if (rows.length > 0 && rows.length < data.size()){ //no move down if i'm selecting the last element of the table if (rows[rows.length-1] < (data.size()-1)){ PdfSelectionTableItem tmpElement = (PdfSelectionTableItem)data.get(rows[rows.length-1]+1); for (int i=(rows.length-1); i>=0; i--){ if (rows[rows.length-1] < (data.size()-1)){ data.set(rows[i]+1, data.get(rows[i])); } } data.set(rows[0], tmpElement); fireTableRowsUpdated(rows[0], rows[rows.length-1]+1); } } } //sorting features not implemeneted public void sort(){ } public SortingState getSortingState(){ return null; } public void setSortingState(SortingState sortingState) { } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/commons/renderers/0000755000175000017500000000000011035172302027142 5ustar twernertwerner././@LongLink0000000000000000000000000000015600000000000011567 Lustar rootrootpdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/commons/renderers/JPdfSelectionTableRenderer.javapdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/commons/renderers/JPdfSelectionTableRend0000644000175000017500000001210511216476566033362 0ustar twernertwerner/* * Created on 27-Dec-2007 * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.commons.renderers; import java.awt.Color; import java.awt.Component; import javax.swing.ImageIcon; import javax.swing.JLabel; import javax.swing.JTable; import javax.swing.UIManager; import javax.swing.border.EmptyBorder; import javax.swing.table.TableCellRenderer; import org.pdfsam.guiclient.commons.models.AbstractPdfSelectionTableModel; import org.pdfsam.guiclient.configuration.Configuration; import org.pdfsam.i18n.GettextResource; /** * Renderer to show red background in rows loaded with errors * @author Andrea Vacondio * */ public class JPdfSelectionTableRenderer extends JLabel implements TableCellRenderer{ private static final long serialVersionUID = -4780112050203181493L; private boolean fullAccessRequired = true; public JPdfSelectionTableRenderer() { } /** * @param fullAccessRequired */ public JPdfSelectionTableRenderer(boolean fullAccessRequired) { super(); this.fullAccessRequired = fullAccessRequired; } /** * @return the fullAccessRequired */ public boolean isFullAccessRequired() { return fullAccessRequired; } public Component getTableCellRendererComponent( JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column){ setOpaque(true); setIcon(null); setFont(table.getFont()); setToolTipText(null); boolean loadedWithErrors = ((AbstractPdfSelectionTableModel)table.getModel()).getRow(row).isLoadedWithErrors(); boolean syntaxErrors = ((AbstractPdfSelectionTableModel)table.getModel()).getRow(row).isSyntaxErrors(); boolean fullPermission = ((AbstractPdfSelectionTableModel)table.getModel()).getRow(row).isFullPermission(); boolean encrypted = ((AbstractPdfSelectionTableModel)table.getModel()).getRow(row).isEncrypted(); //rowheader if (column == AbstractPdfSelectionTableModel.ROW_NUM){ setFont(table.getTableHeader().getFont()); setBackground(table.getTableHeader().getBackground()); setForeground(table.getTableHeader().getForeground()); }else{ if(isSelected){ setForeground(table.getSelectionForeground()); setBackground(table.getSelectionBackground()); } else{ setForeground(table.getForeground()); setBackground(table.getBackground()); } if(loadedWithErrors){ setBackground(new Color(222,189,189)); if (column == AbstractPdfSelectionTableModel.FILENAME){ setIcon(new ImageIcon(this.getClass().getResource("/images/erroronload.png"))); } }else if(syntaxErrors || (fullAccessRequired && !fullPermission)){ setBackground(Color.YELLOW); } } //value if (column == AbstractPdfSelectionTableModel.PASSWORD){ if(value != null && value.toString().length()>0){ setText("**********"); }else{ setText(""); } }else{ if(value != null){ setText(value.toString()); }else{ setText(""); } } //encrypt icon if (column == AbstractPdfSelectionTableModel.FILENAME){ if(encrypted){ setIcon(new ImageIcon(this.getClass().getResource("/images/encrypted.png"))); } } //focus if(column == AbstractPdfSelectionTableModel.ROW_NUM){ setBorder(UIManager.getBorder("TableHeader.cellBorder")); }else{ if (hasFocus) { setBorder( UIManager.getBorder("Table.focusCellHighlightBorder") ); } else { setBorder(new EmptyBorder(1, 1, 1, 1)); } } //tooltip messages if(syntaxErrors || (fullAccessRequired && !fullPermission) || loadedWithErrors){ String toolTip = ""; if(syntaxErrors){ toolTip += ""+GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"The cross reference table cantained some error and has been rebuilt")+"."; } if((fullAccessRequired && !fullPermission) ){ toolTip += ""+GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"The document has not been opened with the owner password. You must provide the owner password in order to manipulate the document")+"."; } if(loadedWithErrors){ toolTip += ""+GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"An error occured while loading the document")+"."; } toolTip +=""; setToolTipText(toolTip); } return this; } } ././@LongLink0000000000000000000000000000014700000000000011567 Lustar rootrootpdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/commons/renderers/ArrowHeaderRenderer.javapdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/commons/renderers/ArrowHeaderRenderer.ja0000644000175000017500000001165511035172302033360 0ustar twernertwerner/* * Created on 24-Dec-2007 * Copyright (C) 2007 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.commons.renderers; import java.awt.Color; import java.awt.Component; import java.awt.Graphics; import javax.swing.Icon; import javax.swing.JLabel; import javax.swing.JTable; import javax.swing.table.TableCellRenderer; import org.pdfsam.guiclient.commons.models.AbstractPdfSelectionTableModel; import org.pdfsam.guiclient.commons.models.AbstractPdfSelectionTableModel.SortingState; /** * Renderer for the header of JPdfSelectionTable. It shows the arrow up or down depending on the sorting. * Based on the inner class SortableHeaderRenderer of the TableSorter: * @author Philip Milne * @author Brendon McLean * @author Dan van Enckevort * @author Parwinder Sekhon * @version 2.0 02/27/04 * * @author Andrea Vacondio * */ public class ArrowHeaderRenderer extends JLabel implements TableCellRenderer { private static final long serialVersionUID = -1266775322573196447L; private AbstractPdfSelectionTableModel tableModel; private TableCellRenderer tableCellRenderer; public ArrowHeaderRenderer(AbstractPdfSelectionTableModel tableModel, TableCellRenderer tableCellRenderer) { this.tableModel = tableModel; this.tableCellRenderer = tableCellRenderer; } public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { Component c = tableCellRenderer.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); if (c instanceof JLabel) { JLabel l = (JLabel) c; l.setHorizontalTextPosition(JLabel.LEFT); int modelColumn = table.convertColumnIndexToModel(column); l.setIcon(getHeaderRendererIcon(modelColumn, l.getFont().getSize())); } return c; } /** * @param column * @param size * @return the arrow icon */ private Icon getHeaderRendererIcon(int column, int size) { Icon retVal = null; SortingState sortingState = tableModel.getSortingState(); if(sortingState != null && (AbstractPdfSelectionTableModel.NOT_SORTED != sortingState.getSortType()) && (column == sortingState.getCol())){ retVal = new Arrow(sortingState.getSortType() != AbstractPdfSelectionTableModel.DESCENDING, size); } return retVal; } /** * Arrow icon. Based on the inner class of the TableSorter * @author Philip Milne * @author Brendon McLean * @author Dan van Enckevort * @author Parwinder Sekhon * @version 2.0 02/27/04 * * @author Andrea Vacondio * */ private static class Arrow implements Icon { private boolean descending; private int size; public Arrow(boolean descending, int size) { this.descending = descending; this.size = size; } public void paintIcon(Component c, Graphics g, int x, int y) { Color color = c == null ? Color.GRAY : c.getBackground(); // In a compound sort, make each succesive triangle 20% // smaller than the previous one. int dx = (int)(size/2); int dy = descending ? dx : -dx; // Align icon (roughly) with font baseline. y = y + 5*size/6 + (descending ? -dy : 0); int shift = descending ? 1 : -1; g.translate(x, y); // Right diagonal. g.setColor(color.darker()); g.drawLine(dx / 2, dy, 0, 0); g.drawLine(dx / 2, dy + shift, 0, shift); // Left diagonal. g.setColor(color.brighter()); g.drawLine(dx / 2, dy, dx, 0); g.drawLine(dx / 2, dy + shift, dx, shift); // Horizontal line. if (descending) { g.setColor(color.darker().darker()); } else { g.setColor(color.brighter().brighter()); } g.drawLine(dx, 0, 0, 0); g.setColor(color); g.translate(-x, -y); } public int getIconWidth() { return size; } public int getIconHeight() { return size; } } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/commons/business/0000755000175000017500000000000011035172302027004 5ustar twernertwernerpdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/commons/business/SoundPlayer.java0000644000175000017500000000714011076622010032117 0ustar twernertwerner/* * Created on 12-Oct-2008 * Copyright (C) 2008 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.commons.business; import javax.sound.sampled.AudioInputStream; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.Clip; import javax.sound.sampled.DataLine; import org.apache.log4j.Logger; import org.pdfsam.guiclient.configuration.Configuration; import org.pdfsam.i18n.GettextResource; /** * Plays sounds * @author Andrea Vacondio * */ public class SoundPlayer { private static final Logger log = Logger.getLogger(SoundPlayer.class.getPackage().getName()); private static final String SOUND = "/resources/sounds/ok_sound.wav"; private static final String ERROR_SOUND = "/resources/sounds/error_sound.wav"; private static SoundPlayer player= null; private Clip errorClip; private Clip soundClip; public static synchronized SoundPlayer getInstance() { if (player == null){ player = new SoundPlayer(); } return player; } /** * Plays an error sound */ public void playErrorSound(){ if(Configuration.getInstance().isPlaySounds()){ try{ if(errorClip == null){ AudioInputStream sound = AudioSystem.getAudioInputStream(this.getClass().getResourceAsStream(ERROR_SOUND)); DataLine.Info info = new DataLine.Info(Clip.class, sound.getFormat()); errorClip = (Clip) AudioSystem.getLine(info); errorClip.open(sound); } execute(new PlayThread(errorClip)); }catch (Exception e){ log.warn(GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Error playing sound:")+" "+e.getMessage()); } } } /** * Plays a sound */ public void playSound(){ if(Configuration.getInstance().isPlaySounds()){ try{ if(soundClip == null){ AudioInputStream sound = AudioSystem.getAudioInputStream(this.getClass().getResourceAsStream(SOUND)); DataLine.Info info = new DataLine.Info(Clip.class, sound.getFormat()); soundClip = (Clip) AudioSystem.getLine(info); soundClip.open(sound); } execute(new PlayThread(soundClip)); }catch (Exception e){ log.warn(GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Error playing sound:")+" "+e.getMessage()); } } } /** * executes r * @param r */ private void execute(Runnable r){ new Thread(r).start(); } /** * Plays the sound * @author Andrea Vacondio * */ private class PlayThread extends Thread { private Clip clip; /** * @param clip */ public PlayThread(Clip clip) { super(); this.clip = clip; } public void run() { try{ clip.setFramePosition(0); clip.stop(); clip.start(); }catch(Exception e){ log.error(GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Error playing sound"),e); } } } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/commons/business/WorkThread.java0000644000175000017500000000456011076621630031736 0ustar twernertwerner/* * Created on 24-Dec-2007 * Copyright (C) 2007 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.commons.business; import org.apache.log4j.Logger; import org.pdfsam.console.business.dto.commands.AbstractParsedCommand; import org.pdfsam.guiclient.configuration.Configuration; import org.pdfsam.i18n.GettextResource; /** * Runnable to execute the command * @author Andrea Vacondio * */ public class WorkThread implements Runnable{ private static final Logger log = Logger.getLogger(WorkThread.class.getPackage().getName()); private String[] myStringArray; private Configuration config; public WorkThread(String[] myStringArray){ this.myStringArray = myStringArray; config = Configuration.getInstance(); } public void run() { try{ AbstractParsedCommand cmd = config.getConsoleServicesFacade().parseAndValidate(myStringArray); if(cmd != null){ config.getConsoleServicesFacade().execute(cmd); SoundPlayer.getInstance().playSound(); }else{ log.error(GettextResource.gettext(config.getI18nResourceBundle(),"Command validation returned an empty value.")); } log.info(GettextResource.gettext(config.getI18nResourceBundle(),"Command executed.")); }catch(Throwable t){ log.error("Command Line: "+commandToString(), t); SoundPlayer.getInstance().playErrorSound(); } } /** * @return String representation of the input command */ public String commandToString() { StringBuffer buf = new StringBuffer(); buf.append("["); for(int i = 0; i= panel.getMaxSelectableFiles()){ JOptionPane.showMessageDialog(panel, GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Selection table is full, please remove some pdf document."), GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Table full"), JOptionPane.INFORMATION_MESSAGE); }else{ lazyInitFileChooser(); if(singleSelection){ fileChooser.setMultiSelectionEnabled(false); }else{ fileChooser.setMultiSelectionEnabled(true); } if(!(workQueue.getRunning()>0)){ if (fileChooser.showOpenDialog(panel) == JFileChooser.APPROVE_OPTION){ if(fileChooser.isMultiSelectionEnabled()){ addFiles(fileChooser.getSelectedFiles()); }else{ addFile(fileChooser.getSelectedFile()); } } }else{ log.info(GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Please wait while all files are processed..")); } } } /** * adds multiple selected files */ public void showFileChooserAndAddFiles(){ showFileChooserAndAddFiles(false); } /** * Lazy JFileChooser initialization */ private void lazyInitFileChooser(){ if(fileChooser == null){ fileChooser = new JFileChooser(Configuration.getInstance().getDefaultWorkingDir()); fileChooser.setFileFilter(new PdfFilter()); fileChooser.setMultiSelectionEnabled(true); } } /** * add a file to the selectionTable * @param file input file * @param password password * @param pageSelection page selection */ public synchronized void addFile(File file, String password, String pageSelection){ if (file != null){ workQueue.execute(new AddThread(file, password, pageSelection)); } } /** * add a file to the selectionTable * @param file input file * @param password password */ public void addFile(File file, String password){ this.addFile(file, password, null); } /** * add a file to the selectionTable * @param file input file */ public void addFile(File file){ this.addFile(file, null, null); } /** * reload a file to the selectionTable * @param file input file * @param password password * @param pageSelection page selection */ public synchronized void reloadFile(File file, String password, String pageSelection, int index){ if (file != null){ workQueue.execute(new ReloadThread(file, password, pageSelection, index)); } } /** * reload a file to the selectionTable * @param file input file * @param password password */ public void reloadFile(File file, String password, int index){ this.reloadFile(file, password, null, index); } /** * reload a file to the selectionTable * @param file input file */ public void reloadFile(File file, int index){ this.reloadFile(file, null, null, index); } /** * adds files to the selectionTable * @param files */ public synchronized void addFiles(File[] files){ if (files != null){ for (int i=0; i < files.length; i++){ workQueue.execute(new AddThread(files[i])); } } } /** * adds files to the selectionTable * @param files File objects list * @param ordered files are added keeping order */ public void addFiles(List files, boolean ordered){ if (files != null && !files.isEmpty()){ addFiles((File[])files.toArray(new File[files.size()])); } } /** * Add files without keeping order * @param files */ public void addFiles(List files){ addFiles(files,false); } /** * @return number of running threads */ public int getRunningThreadsNumber(){ return workQueue.getRunning(); } /** * Runnable to load pdf documents * @author Andrea Vacondio * */ private class AddThread implements Runnable{ String wipText; File inputFile; String password; String pageSelection; public AddThread(File inputFile){ this(inputFile, null, null); } public AddThread(File inputFile, String password){ this(inputFile, password, null); } public AddThread(File inputFile, String password, String pageSelection){ this.inputFile = inputFile; this.pageSelection = pageSelection; this.password = password; } public void run() { try{ if (inputFile != null){ if(new PdfFilter(false).accept(inputFile)){ wipText = GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Please wait while reading")+" "+inputFile.getName()+" ..."; panel.addWipText(wipText); panel.addTableRow(getPdfSelectionTableItem(inputFile, password, pageSelection)); panel.removeWipText(wipText); }else{ log.warn(GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Selected file is not a pdf document.")+" "+inputFile.getName()); } } }catch(Throwable e){ log.error(GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Error: "),e); } } /** * * @param fileToAdd file to add * @param password password to open the file * @return the item to add to the table */ PdfSelectionTableItem getPdfSelectionTableItem(File fileToAdd, String password, String pageSelection){ PdfSelectionTableItem tableItem = null; PdfReader pdfReader = null; if (fileToAdd != null){ tableItem = new PdfSelectionTableItem(); tableItem.setInputFile(fileToAdd); tableItem.setPassword(password); tableItem.setPageSelection(pageSelection); try{ //fix 04/11/08 for memory usage pdfReader = new PdfReader(new RandomAccessFileOrArray(fileToAdd.getAbsolutePath()), (password != null)?password.getBytes():null); tableItem.setEncrypted(pdfReader.isEncrypted()); tableItem.setFullPermission(pdfReader.isOpenedWithFullPermissions()); if(tableItem.isEncrypted()){ tableItem.setPermissions(getPermissionsVerbose(pdfReader.getPermissions())); int cMode = pdfReader.getCryptoMode(); switch (cMode){ case PdfWriter.STANDARD_ENCRYPTION_40: tableItem.setEncryptionAlgorithm(EncryptionUtility.RC4_40); break; case PdfWriter.STANDARD_ENCRYPTION_128: tableItem.setEncryptionAlgorithm(EncryptionUtility.RC4_128); break; case PdfWriter.ENCRYPTION_AES_128: tableItem.setEncryptionAlgorithm(EncryptionUtility.AES_128); break; default: break; } } tableItem.setPagesNumber(Integer.toString(pdfReader.getNumberOfPages())); tableItem.setFileSize(fileToAdd.length()); tableItem.setPdfVersion(pdfReader.getPdfVersion()); tableItem.setSyntaxErrors(pdfReader.isRebuilt()); initTableItemDocumentData(pdfReader, tableItem); } catch (Exception e){ tableItem.setLoadedWithErrors(true); log.error(GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Error loading ")+fileToAdd.getAbsolutePath()+" :", e); } finally{ if(pdfReader != null){ pdfReader.close(); pdfReader = null; } } } return tableItem; } /** * It gives a human readable version of the document permissions * @param permissions * @return */ private String getPermissionsVerbose(int permissions) { StringBuffer buf = new StringBuffer(); if ((PdfWriter.ALLOW_PRINTING & permissions) == PdfWriter.ALLOW_PRINTING) buf.append(GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Print")); if ((PdfWriter.ALLOW_MODIFY_CONTENTS & permissions) == PdfWriter.ALLOW_MODIFY_CONTENTS) buf.append(", "+GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Modify")); if ((PdfWriter.ALLOW_COPY & permissions) == PdfWriter.ALLOW_COPY) buf.append(", "+GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Copy or extract")); if ((PdfWriter.ALLOW_MODIFY_ANNOTATIONS & permissions) == PdfWriter.ALLOW_MODIFY_ANNOTATIONS) buf.append(", "+GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Add or modify text annotations")); if ((PdfWriter.ALLOW_FILL_IN & permissions) == PdfWriter.ALLOW_FILL_IN) buf.append(", "+GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Fill form fields")); if ((PdfWriter.ALLOW_SCREENREADERS & permissions) == PdfWriter.ALLOW_SCREENREADERS) buf.append(", "+GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Extract for use by accessibility dev.")); if ((PdfWriter.ALLOW_ASSEMBLY & permissions) == PdfWriter.ALLOW_ASSEMBLY) buf.append(", "+GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Manipulate pages and add bookmarks")); if ((PdfWriter.ALLOW_DEGRADED_PRINTING & permissions) == PdfWriter.ALLOW_DEGRADED_PRINTING) buf.append(", "+GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Low quality print")); return buf.toString(); } /** * initialization of the document data * @param reader * @param tableItem */ private void initTableItemDocumentData(PdfReader reader, PdfSelectionTableItem tableItem){ if(reader!=null && tableItem != null){ HashMap info = reader.getInfo(); if(info!=null && info.size()>0){ for(Iterator entries = info.entrySet().iterator(); entries.hasNext();){ Map.Entry entry = (Map.Entry) entries.next(); if(entry != null){ String key = (String)entry.getKey(); String value = (entry.getValue()!=null)? (String)entry.getValue(): ""; if(key.equals(TITLE)){ tableItem.getDocumentInfo().setTitle(value); }else if(key.equals(PRODUCER)){ tableItem.getDocumentInfo().setProducer(value); }else if(key.equals(AUTHOR)){ tableItem.getDocumentInfo().setAuthor(value); }else if(key.equals(SUBJECT)){ tableItem.getDocumentInfo().setSubject(value); }else if(key.equals(CREATOR)){ tableItem.getDocumentInfo().setCreator(value); }else if(key.equals(MODDATE)){ tableItem.getDocumentInfo().setModificationDate(value); }else if(key.equals(CREATIONDATE)){ tableItem.getDocumentInfo().setCreationDate(value); }else if(key.equals(KEYWORDS)){ tableItem.getDocumentInfo().setKeywords(value); } } } } } } } /** * Runnable to reload pdf documents * @author Andrea Vacondio * */ private class ReloadThread extends AddThread{ private int index = 0; /** * @param inputFile * @param password * @param pageSelection */ public ReloadThread(File inputFile, String password, String pageSelection, int index) { super(inputFile, password, pageSelection); this.index = index; } /** * @param inputFile * @param password */ public ReloadThread(File inputFile, String password, int index) { this(inputFile, password, null, index); } /** * @param inputFile */ public ReloadThread(File inputFile, int index) { this(inputFile, null, null, index); } public void run() { try{ if (inputFile != null){ if(new PdfFilter(false).accept(inputFile)){ wipText = GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Please wait while reading")+" "+inputFile.getName()+" ..."; panel.addWipText(wipText); panel.updateTableRow(index, getPdfSelectionTableItem(inputFile, password, pageSelection)); panel.removeWipText(wipText); }else{ log.warn(GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Selected file is not a pdf document.")+" "+inputFile.getName()); } } }catch(Throwable e){ log.error(GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Error: "),e); } } } /** * Work queue used to load documents * @author Andrea Vacondio * */ private static class WorkQueue{ private final SingleWorker singleThread; private final LinkedList singleQueue = new LinkedList(); private int running = 0; private Object mutex = new Object(); public WorkQueue(){ singleThread = new SingleWorker(); singleThread.start(); } /** * Execute and addThread * @param r */ public void execute(Runnable r) { synchronized (mutex){ singleQueue.addLast(r); mutex.notifyAll(); } } public synchronized void incRunningCounter(){ running++; } public synchronized void deincRunningCounter(){ running--; } public int getRunning(){ return running; } /** * Single priority thread * @author Andrea Vacondio * */ private class SingleWorker extends Thread { public void run() { Runnable r = null; while (true) { synchronized(mutex) { while(singleQueue.isEmpty()) { try{ mutex.wait(); } catch (InterruptedException ignored){} } r = (Runnable) singleQueue.removeFirst(); } if(r != null){ try { incRunningCounter(); r.run(); }catch (RuntimeException e) { log.error(e); } finally{ deincRunningCounter(); } } } } } } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/commons/business/listeners/0000755000175000017500000000000011161422006031013 5ustar twernertwerner././@LongLink0000000000000000000000000000017100000000000011564 Lustar rootrootpdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/commons/business/listeners/CompressCheckBoxItemListener.javapdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/commons/business/listeners/CompressCheck0000644000175000017500000000261411105066656033507 0ustar twernertwerner/* * Created on 20-Dec-2007 * Copyright (C) 2007 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.commons.business.listeners; import org.pdfsam.console.business.dto.commands.AbstractParsedCommand; import org.pdfsam.guiclient.commons.components.JPdfVersionCombo; /** * ItemListener used to disable or enable items in JPdfVersionCombo * @author Andrea Vacondio * */ public class CompressCheckBoxItemListener extends VersionFilterCheckBoxItemListener { private static Integer versionFilter = new Integer(""+AbstractParsedCommand.VERSION_1_5); /** * @param versionCombo version Combo */ public CompressCheckBoxItemListener(JPdfVersionCombo versionCombo) { super(versionCombo, versionFilter); } } ././@LongLink0000000000000000000000000000015600000000000011567 Lustar rootrootpdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/commons/business/listeners/EscapeKeyListener.javapdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/commons/business/listeners/EscapeKeyList0000644000175000017500000000254211161422776033464 0ustar twernertwerner/* * Created on 22-Mar-2009 * Copyright (C) 2009 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.commons.business.listeners; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import javax.swing.JFrame; /** * Escape button hides the frame * @author Andrea Vacondio * */ public class EscapeKeyListener implements KeyListener { private JFrame frame; /** * @param frame */ public EscapeKeyListener(JFrame frame) { super(); this.frame = frame; } public void keyPressed(KeyEvent e) { if (e.getKeyCode() == KeyEvent.VK_ESCAPE){ frame.setVisible(false); } } public void keyReleased(KeyEvent e) { } public void keyTyped(KeyEvent e) { } } ././@LongLink0000000000000000000000000000017600000000000011571 Lustar rootrootpdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/commons/business/listeners/VersionFilterCheckBoxItemListener.javapdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/commons/business/listeners/VersionFilter0000644000175000017500000000351411077143172033546 0ustar twernertwerner/* * Created on 20-Oct-2008 * Copyright (C) 2008 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.commons.business.listeners; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import org.pdfsam.guiclient.commons.components.JPdfVersionCombo; /** * ItemListener used to disable or enable items in JPdfVersionCombo based on the version filter * @author Andrea Vacondio * */ public class VersionFilterCheckBoxItemListener implements ItemListener { private JPdfVersionCombo versionCombo = null; private Integer versionFilter = null; /** * @param versionCombo * @param versionFilter */ public VersionFilterCheckBoxItemListener(JPdfVersionCombo versionCombo, Integer versionFilter) { super(); this.versionCombo = versionCombo; this.versionFilter = versionFilter; } public void itemStateChanged(ItemEvent e) { if(versionCombo != null){ if(ItemEvent.SELECTED == e.getStateChange()){ versionCombo.addVersionFilter(versionFilter); }else if(e.getStateChange() == ItemEvent.DESELECTED){ versionCombo.removeVersionFilter(versionFilter); } } } } ././@LongLink0000000000000000000000000000017300000000000011566 Lustar rootrootpdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/commons/business/listeners/PdfSelectionMouseHeaderAdapter.javapdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/commons/business/listeners/PdfSelectionM0000644000175000017500000000505711035172302033442 0ustar twernertwerner/* * Created on 21-Dec-2007 * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.commons.business.listeners; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.table.JTableHeader; import javax.swing.table.TableColumnModel; import org.pdfsam.guiclient.commons.models.AbstractPdfSelectionTableModel; import org.pdfsam.guiclient.commons.models.SortablePdfSelectionTableModel; /** * Listener for the mouse clicks on the table header * @author Andrea Vacondio * */ public class PdfSelectionMouseHeaderAdapter extends MouseAdapter { private AbstractPdfSelectionTableModel tableModel; public PdfSelectionMouseHeaderAdapter(AbstractPdfSelectionTableModel tableModel){ this.tableModel = tableModel; } public void mouseClicked(MouseEvent e) { if(tableModel.isSortable()){ JTableHeader h = (JTableHeader) e.getSource(); TableColumnModel columnModel = h.getColumnModel(); int viewColumn = columnModel.getColumnIndexAtX(e.getX()); int column = columnModel.getColumn(viewColumn).getModelIndex(); if (column != -1 && column != SortablePdfSelectionTableModel.PASSWORD && column != SortablePdfSelectionTableModel.ROW_NUM) { int sortType = (tableModel.getSortingState().getCol() == column)?tableModel.getSortingState().getSortType(): SortablePdfSelectionTableModel.NOT_SORTED; // Cycle the sorting states through {NOT_SORTED, ASCENDING, DESCENDING} or // {NOT_SORTED, DESCENDING, ASCENDING} depending on whether shift is pressed. sortType = sortType + (e.isShiftDown() ? -1 : 1); sortType = (sortType + 4) % 3 - 1; // signed mod, returning {-1, 0, 1} tableModel.setSortingState(tableModel.new SortingState(column, sortType)); h.repaint(); } } } } ././@LongLink0000000000000000000000000000017400000000000011567 Lustar rootrootpdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/commons/business/listeners/PdfSelectionTableActionListener.javapdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/commons/business/listeners/PdfSelectionT0000644000175000017500000001076011042141000033433 0ustar twernertwerner/* * Created on 14-Nov-2007 * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.commons.business.listeners; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import org.apache.log4j.Logger; import org.pdfsam.guiclient.commons.business.PdfLoader; import org.pdfsam.guiclient.commons.components.JPdfSelectionTable; import org.pdfsam.guiclient.commons.models.AbstractPdfSelectionTableModel; import org.pdfsam.guiclient.commons.panels.JPdfSelectionPanel; import org.pdfsam.guiclient.configuration.Configuration; import org.pdfsam.guiclient.dto.PdfSelectionTableItem; import org.pdfsam.i18n.GettextResource; /** * Listener class used by PdfSelectionTable buttons * @author Andrea Vacondio */ public class PdfSelectionTableActionListener implements ActionListener{ private static final Logger log = Logger.getLogger(PdfSelectionTableActionListener.class.getPackage().getName()); public static final String ADD = "add"; public static final String ADDSINGLE = "addSingle"; public static final String MOVE_UP = "moveUp"; public static final String MOVE_DOWN = "moveDown"; public static final String CLEAR = "clear"; public static final String REMOVE = "remove"; public static final String RELOAD = "reload"; /** * reference to the merge table */ private JPdfSelectionPanel panel; private PdfLoader loader; /** * @param panel Selection panel * @param loader PdfLoader */ public PdfSelectionTableActionListener(JPdfSelectionPanel panel, PdfLoader loader) { this.panel = panel; this.loader = loader; } /** * if the button is pressed it moves up or down items in the table */ public void actionPerformed(ActionEvent e) { JPdfSelectionTable mainTable = panel.getMainTable(); if (e != null && mainTable != null){ try{ if(CLEAR.equals(e.getActionCommand())){ ((AbstractPdfSelectionTableModel) mainTable.getModel()).clearData(); }else if (ADD.equals(e.getActionCommand())){ loader.showFileChooserAndAddFiles(); }else if (ADDSINGLE.equals(e.getActionCommand())){ loader.showFileChooserAndAddFiles(true); }else{ int[] selectedRows = mainTable.getSelectedRows(); if (selectedRows.length > 0){ if(MOVE_UP.equals(e.getActionCommand())){ ((AbstractPdfSelectionTableModel) mainTable.getModel()).moveUpRows(selectedRows); if (selectedRows[0] > 0){ mainTable.setRowSelectionInterval(selectedRows[0]-1, selectedRows[selectedRows.length-1]-1); } }else if(MOVE_DOWN.equals(e.getActionCommand())){ ((AbstractPdfSelectionTableModel) mainTable.getModel()).moveDownRows(selectedRows); if (selectedRows[selectedRows.length-1] < (((AbstractPdfSelectionTableModel) mainTable.getModel()).getRowCount()-1)){ mainTable.setRowSelectionInterval(selectedRows[0]+1, selectedRows[selectedRows.length-1]+1); } }else if(REMOVE.equals(e.getActionCommand())){ ((AbstractPdfSelectionTableModel) mainTable.getModel()).deleteRows(selectedRows); }else if (RELOAD.equals(e.getActionCommand())){ for(int i=0; i"; propsText += ""+GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"File name")+": "+props.getInputFile().getAbsolutePath()+"
\n" +""+GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Number of pages")+": "+props.getPagesNumber()+"
\n" +""+GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"File size")+": "+props.getFileSize()+"B
\n" +""+GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Pdf version")+": "+props.getPdfVersionDescription()+"
\n" +""+GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Encryption")+": "+(props.isEncrypted()? props.getEncryptionAlgorithm(): GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Not encrypted"))+"
\n"; if(props.isEncrypted()){ propsText +=""+GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Permissions")+": "+props.getPermissions()+"
\n"; } if(props.getDocumentInfo() != null){ propsText += ""+GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Title")+": "+props.getDocumentInfo().getTitle()+"
\n" +""+GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Author")+": "+props.getDocumentInfo().getAuthor()+"
\n" +""+GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Subject")+": "+props.getDocumentInfo().getSubject()+"
\n" +""+GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Producer")+": "+props.getDocumentInfo().getProducer()+"
\n" +""+GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Creator")+": "+props.getDocumentInfo().getCreator()+"
\n" +""+GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Creation date")+": "+props.getDocumentInfo().getCreationDate()+"
\n" +""+GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Modification date")+": "+props.getDocumentInfo().getModificationDate()+"
\n" +""+GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Keywords")+": "+props.getDocumentInfo().getKeywords()+"
\n"; } propsText += ""; textInfoArea.setMargin(new Insets(5, 5, 5, 5)); textInfoArea.setText(propsText); setVisible(true); } } private void initialize() { try{ URL iconUrl = this.getClass().getResource("/images/info.png"); setTitle(GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Document properties")); setIconImage(new ImageIcon(iconUrl).getImage()); setSize(WIDTH, HEIGHT); setExtendedState(JFrame.NORMAL); setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE); JMenuBar menuBar = new JMenuBar(); JMenu menuFile = new JMenu(); menuFile.setText(GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"File")); menuFile.setMnemonic(KeyEvent.VK_F); JMenuItem closeItem = new JMenuItem(); closeItem.setText(GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Close")); closeItem.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { setVisible(false); } }); menuFile.add(closeItem); menuBar.add(menuFile); getRootPane().setJMenuBar(menuBar); textInfoArea = new JTextPane(); textInfoArea.setFont(new Font("Dialog", Font.PLAIN, 9)); textInfoArea.setBorder(new EtchedBorder(EtchedBorder.LOWERED)); textInfoArea.setContentType("text/html"); textInfoArea.setEditable(false); mainPanel.add(textInfoArea); mainScrollPanel = new JScrollPane(textInfoArea); getContentPane().add(mainScrollPanel); JMenuItem menuCopy = new JMenuItem(new DefaultEditorKit.CopyAction()); menuCopy.setText(GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Copy")); menuCopy.setIcon(new ImageIcon(this.getClass().getResource("/images/edit-copy.png"))); jPopupMenu.add(menuCopy); textInfoArea.addMouseListener(this); //centered Toolkit tk = Toolkit.getDefaultToolkit(); Dimension screenSize = tk.getScreenSize(); int screenHeight = screenSize.height; int screenWidth = screenSize.width; if(screenWidth>WIDTH && screenHeight>HEIGHT){ setLocation((screenWidth - WIDTH)/ 2, (screenHeight -HEIGHT)/ 2); } textInfoArea.addKeyListener(escapeListener); addKeyListener(escapeListener); }catch(Exception e){ log.error(GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Error creating properties panel."),e); } } public void mouseReleased(MouseEvent e){ if(e.isPopupTrigger()){ jPopupMenu.show(e.getComponent(), e.getX(), e.getY()); } } public void mouseClicked(MouseEvent arg0) {} public void mouseEntered(MouseEvent arg0) {} public void mouseExited(MouseEvent arg0) {} public void mousePressed(MouseEvent e) { if(e.isPopupTrigger()){ jPopupMenu.show(e.getComponent(), e.getX(), e.getY()); } } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/dto/0000755000175000017500000000000011035172272024272 5ustar twernertwernerpdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/dto/IntItem.java0000644000175000017500000000352211035172274026512 0ustar twernertwerner/* * Created on 3-mar-2005 * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.dto; import java.io.Serializable; /** * Model of an int id and its description * @author Andrea Vacondio */ public class IntItem implements Serializable{ private static final long serialVersionUID = -2846709367724047792L; private int id; private String description; /** * Constructor * */ public IntItem() { } /** * Constructor. * @param id * @param description * */ public IntItem(int id, String description ) { this.id = id; this.description = description; } /** * @return description */ public String getDescription() { return description; } /** * @return id */ public int getId() { return id; } /** * sets the description property * @param description */ public void setDescription(String description) { this.description = description; } /** * sets the id property * @param id */ public void setId(int id) { this.id = id; } public String toString(){ return description; } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/dto/StringItem.java0000644000175000017500000000542711035172274027234 0ustar twernertwerner/* * Created on 3-Nov-2007 * Copyright (C) 2007 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.dto; import java.io.Serializable; /** * Model of a String id and its description * @author Andrea Vacondio */ public class StringItem implements Serializable, Comparable { private static final long serialVersionUID = -2689293296890998558L; private String id; private String description; public StringItem() { } public StringItem(String id, String description) { super(); this.id = id; this.description = description; } /** * @return the description */ public String getDescription() { return description; } /** * @param description the description to set */ public void setDescription(String description) { this.description = description; } /** * @return the id */ public String getId() { return id; } /** * @param id the id to set */ public void setId(String id) { this.id = id; } public String toString(){ return description; } /* (non-Javadoc) * @see java.lang.Object#hashCode() */ public int hashCode() { final int PRIME = 31; int result = 1; result = PRIME * result + ((description == null) ? 0 : description.hashCode()); result = PRIME * result + ((id == null) ? 0 : id.hashCode()); return result; } /* (non-Javadoc) * @see java.lang.Object#equals(java.lang.Object) */ public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; final StringItem other = (StringItem) obj; if (description == null) { if (other.description != null) return false; } else if (!description.equals(other.description)) return false; if (id == null) { if (other.id != null) return false; } else if (!id.equals(other.id)) return false; return true; } public int compareTo(Object arg0) { return (this.equals(arg0))? 0 : compareTo((StringItem)arg0); } private int compareTo(StringItem item){ int retVal = description.compareTo(item.description); if (retVal == 0){ retVal = (this.hashCode()>item.hashCode())? 1: -1; } return retVal; } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/dto/PdfSelectionTableItem.java0000644000175000017500000003575111211265054031313 0ustar twernertwerner/* * Created on 18-Nov-2007 * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.dto; import java.io.File; import java.io.Serializable; import org.pdfsam.guiclient.commons.panels.JPdfSelectionPanel; import org.pdfsam.guiclient.utils.PdfVersionUtility; /** * Item of the table in {@link JPdfSelectionPanel} * @author Andrea Vacondio * */ public class PdfSelectionTableItem implements Serializable{ private static final long serialVersionUID = 7190628784577648811L; private File inputFile; private String pagesNumber; private String pageSelection; private boolean encrypted; private boolean fullPermission; private String encryptionAlgorithm; private String permissions; private long fileSize = 0; private DocumentData documentInfo = new DocumentData(); private String password; private char pdfVersion; private String pdfVersionDescription; private boolean loadedWithErrors = false; private boolean syntaxErrors = false; /** * Default values */ public PdfSelectionTableItem() { this(null, "0", "All", false, true, ' '); } /** * @param inputFile * @param pagesNumber * @param pageSelection * @param encrypted * @param fullPermission * @param password * @param loadedWithErrors * @param syntaxErrors */ public PdfSelectionTableItem(File inputFile, String pagesNumber, String pageSelection, boolean encrypted, boolean fullPermission, char pdfVersion, String password, boolean loadedWithErrors, boolean syntaxErrors) { super(); this.inputFile = inputFile; this.pagesNumber = pagesNumber; this.pageSelection = pageSelection; this.encrypted = encrypted; this.pdfVersion = pdfVersion; this.pdfVersionDescription = PdfVersionUtility.getVersionDescription(pdfVersion); this.password = password; this.loadedWithErrors = loadedWithErrors; this.syntaxErrors = syntaxErrors; this.fullPermission = fullPermission; } /** * loadedWithErrors is false * @param inputFile * @param pagesNumber * @param pageSelection * @param encrypted * @param password */ public PdfSelectionTableItem(File inputFile, String pagesNumber, String pageSelection, boolean encrypted, boolean fullPermission, char pdfVersion, String password) { this(inputFile, pagesNumber, pageSelection, encrypted, fullPermission, pdfVersion, password, false, false); } /** * No password given * loadedWithErrors is false * @param inputFile * @param pagesNumber * @param pageSelection * @param encrypted */ public PdfSelectionTableItem(File inputFile, String pagesNumber,String pageSelection, boolean encrypted, boolean fullPermission, char pdfVersion) { this(inputFile, pagesNumber, pageSelection, encrypted, fullPermission, pdfVersion, null); } /** * @return the inputFile */ public File getInputFile() { return inputFile; } /** * @param inputFile the inputFile to set */ public void setInputFile(File inputFile) { this.inputFile = inputFile; } /** * @return the pagesNumber */ public String getPagesNumber() { return pagesNumber; } /** * @param pagesNumber the pagesNumber to set */ public void setPagesNumber(String pagesNumber) { this.pagesNumber = pagesNumber; } /** * @return the pageSelection */ public String getPageSelection() { return pageSelection; } /** * @param pageSelection the pageSelection to set */ public void setPageSelection(String pageSelection) { this.pageSelection = pageSelection; } /** * @return the encrypted */ public boolean isEncrypted() { return encrypted; } /** * @param encrypted the encrypted to set */ public void setEncrypted(boolean encrypted) { this.encrypted = encrypted; } /** * @return the password */ public String getPassword() { return password; } /** * @param password the password to set */ public void setPassword(String password) { this.password = password; } /** * @return the pdfVersion */ public char getPdfVersion() { return pdfVersion; } /** * @param pdfVersion the pdfVersion to set */ public void setPdfVersion(char pdfVersion) { this.pdfVersion = pdfVersion; this.pdfVersionDescription = PdfVersionUtility.getVersionDescription(pdfVersion); } /** * @return the loadedWithErrors */ public boolean isLoadedWithErrors() { return loadedWithErrors; } /** * @param loadedWithErrors the loadedWithErrors to set */ public void setLoadedWithErrors(boolean loadedWithErrors) { this.loadedWithErrors = loadedWithErrors; } /** * @return the pdfVersionDescription */ public String getPdfVersionDescription() { return pdfVersionDescription; } /** * @return the syntaxErrors */ public boolean isSyntaxErrors() { return syntaxErrors; } /** * @param syntaxErrors the syntaxErrors to set */ public void setSyntaxErrors(boolean syntaxErrors) { this.syntaxErrors = syntaxErrors; } /** * @return the encryptionAlgorithm */ public String getEncryptionAlgorithm() { return encryptionAlgorithm; } /** * @param encryptionAlgorithm the encryptionAlgorithm to set */ public void setEncryptionAlgorithm(String encryptionAlgorithm) { this.encryptionAlgorithm = encryptionAlgorithm; } /** * @return the permissions */ public String getPermissions() { return permissions; } /** * @param permissions the permissions to set */ public void setPermissions(String permissions) { this.permissions = permissions; } /** * @return the fileSize */ public long getFileSize() { return fileSize; } /** * @param fileSize the fileSize to set */ public void setFileSize(long fileSize) { this.fileSize = fileSize; } /** * @return the documentInfo */ public DocumentData getDocumentInfo() { return documentInfo; } /** * @param documentInfo the documentInfo to set */ public void setDocumentInfo(DocumentData documentInfo) { this.documentInfo = documentInfo; } /** * @return the fullPermission */ public boolean isFullPermission() { return fullPermission; } /** * @param fullPermission the fullPermission to set */ public void setFullPermission(boolean fullPermission) { this.fullPermission = fullPermission; } /* (non-Javadoc) * @see java.lang.Object#hashCode() */ public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((documentInfo == null) ? 0 : documentInfo.hashCode()); result = prime * result + (encrypted ? 1231 : 1237); result = prime * result + ((encryptionAlgorithm == null) ? 0 : encryptionAlgorithm.hashCode()); result = prime * result + (int) (fileSize ^ (fileSize >>> 32)); result = prime * result + (fullPermission ? 1231 : 1237); result = prime * result + ((inputFile == null) ? 0 : inputFile.hashCode()); result = prime * result + (loadedWithErrors ? 1231 : 1237); result = prime * result + ((pageSelection == null) ? 0 : pageSelection.hashCode()); result = prime * result + ((pagesNumber == null) ? 0 : pagesNumber.hashCode()); result = prime * result + ((password == null) ? 0 : password.hashCode()); result = prime * result + pdfVersion; result = prime * result + ((pdfVersionDescription == null) ? 0 : pdfVersionDescription.hashCode()); result = prime * result + ((permissions == null) ? 0 : permissions.hashCode()); result = prime * result + (syntaxErrors ? 1231 : 1237); return result; } /* (non-Javadoc) * @see java.lang.Object#equals(java.lang.Object) */ public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; PdfSelectionTableItem other = (PdfSelectionTableItem) obj; if (documentInfo == null) { if (other.documentInfo != null) return false; } else if (!documentInfo.equals(other.documentInfo)) return false; if (encrypted != other.encrypted) return false; if (encryptionAlgorithm == null) { if (other.encryptionAlgorithm != null) return false; } else if (!encryptionAlgorithm.equals(other.encryptionAlgorithm)) return false; if (fileSize != other.fileSize) return false; if (fullPermission != other.fullPermission) return false; if (inputFile == null) { if (other.inputFile != null) return false; } else if (!inputFile.equals(other.inputFile)) return false; if (loadedWithErrors != other.loadedWithErrors) return false; if (pageSelection == null) { if (other.pageSelection != null) return false; } else if (!pageSelection.equals(other.pageSelection)) return false; if (pagesNumber == null) { if (other.pagesNumber != null) return false; } else if (!pagesNumber.equals(other.pagesNumber)) return false; if (password == null) { if (other.password != null) return false; } else if (!password.equals(other.password)) return false; if (pdfVersion != other.pdfVersion) return false; if (pdfVersionDescription == null) { if (other.pdfVersionDescription != null) return false; } else if (!pdfVersionDescription.equals(other.pdfVersionDescription)) return false; if (permissions == null) { if (other.permissions != null) return false; } else if (!permissions.equals(other.permissions)) return false; if (syntaxErrors != other.syntaxErrors) return false; return true; } /** * Model for the document metadata * @author Andrea Vacondio * */ public class DocumentData implements Serializable{ private static final long serialVersionUID = -8384507320222619396L; private String author = ""; private String title = ""; private String modificationDate = ""; private String creationDate = ""; private String keywords = ""; private String producer = ""; private String creator = ""; private String subject = ""; /** * @return the author */ public String getAuthor() { return author; } /** * @param author the author to set */ public void setAuthor(String author) { this.author = author; } /** * @return the title */ public String getTitle() { return title; } /** * @param title the title to set */ public void setTitle(String title) { this.title = title; } /** * @return the modificationDate */ public String getModificationDate() { return modificationDate; } /** * @param modificationDate the modificationDate to set */ public void setModificationDate(String modificationDate) { this.modificationDate = modificationDate; } /** * @return the creationDate */ public String getCreationDate() { return creationDate; } /** * @param creationDate the creationDate to set */ public void setCreationDate(String creationDate) { this.creationDate = creationDate; } /** * @return the keywords */ public String getKeywords() { return keywords; } /** * @param keywords the keywords to set */ public void setKeywords(String keywords) { this.keywords = keywords; } /** * @return the producer */ public String getProducer() { return producer; } /** * @param producer the producer to set */ public void setProducer(String producer) { this.producer = producer; } /** * @return the creator */ public String getCreator() { return creator; } /** * @param creator the creator to set */ public void setCreator(String creator) { this.creator = creator; } /** * @return the subject */ public String getSubject() { return subject; } /** * @param subject the subject to set */ public void setSubject(String subject) { this.subject = subject; } /* (non-Javadoc) * @see java.lang.Object#hashCode() */ public int hashCode() { final int prime = 31; int result = 1; result = prime * result + getOuterType().hashCode(); result = prime * result + ((author == null) ? 0 : author.hashCode()); result = prime * result + ((creationDate == null) ? 0 : creationDate.hashCode()); result = prime * result + ((creator == null) ? 0 : creator.hashCode()); result = prime * result + ((keywords == null) ? 0 : keywords.hashCode()); result = prime * result + ((modificationDate == null) ? 0 : modificationDate.hashCode()); result = prime * result + ((producer == null) ? 0 : producer.hashCode()); result = prime * result + ((subject == null) ? 0 : subject.hashCode()); result = prime * result + ((title == null) ? 0 : title.hashCode()); return result; } /* (non-Javadoc) * @see java.lang.Object#equals(java.lang.Object) */ public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; DocumentData other = (DocumentData) obj; if (!getOuterType().equals(other.getOuterType())) return false; if (author == null) { if (other.author != null) return false; } else if (!author.equals(other.author)) return false; if (creationDate == null) { if (other.creationDate != null) return false; } else if (!creationDate.equals(other.creationDate)) return false; if (creator == null) { if (other.creator != null) return false; } else if (!creator.equals(other.creator)) return false; if (keywords == null) { if (other.keywords != null) return false; } else if (!keywords.equals(other.keywords)) return false; if (modificationDate == null) { if (other.modificationDate != null) return false; } else if (!modificationDate.equals(other.modificationDate)) return false; if (producer == null) { if (other.producer != null) return false; } else if (!producer.equals(other.producer)) return false; if (subject == null) { if (other.subject != null) return false; } else if (!subject.equals(other.subject)) return false; if (title == null) { if (other.title != null) return false; } else if (!title.equals(other.title)) return false; return true; } private PdfSelectionTableItem getOuterType() { return PdfSelectionTableItem.this; } } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/GuiClient.java0000644000175000017500000000671511042140146026234 0ustar twernertwerner/* * Created on 08-Nov-2007 * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient; import java.io.InputStream; import java.util.Properties; import javax.swing.JFrame; import org.apache.log4j.Logger; import org.pdfsam.guiclient.gui.frames.JMainFrame; /** * GUI Client for the console * @author a.vacondio * */ public class GuiClient extends JFrame { private static final long serialVersionUID = -3608998690519362986L; private static final Logger log = Logger.getLogger(GuiClient.class.getPackage().getName()); private static final String PROPERTY_FILE = "pdfsam.properties"; public static final String AUTHOR = "Andrea Vacondio"; public static final String UNIXNAME = "pdfsam"; private static final String NAME = "PDF Split and Merge"; private static final String VERSION_TYPE_PROPERTY = "pdfsam.version"; private static final String VERSION_TYPE_DEFAULT = "basic"; private static final String VERSION_PROPERTY = "pdfsam.jar.version"; private static final String VERSION_DEFAULT = "1.0.0"; private static final String BUILDDATE_PROPERTY = "pdfsam.builddate"; private static final String BUILDDATE_DEFAULT = ""; private static final String BRANCH_PROPERTY = "pdfsam.branch"; private static final String BRANCH_DEFAULT = "1"; private static JMainFrame clientGUI; private static Properties defaultProps = new Properties(); /** * @param args */ public static void main(String[] args) { try { loadApplicationProperties(); clientGUI = new JMainFrame(); clientGUI.setVisible(true); } catch (Throwable t) { log.fatal("Error:", t); } } /** * load application properties */ private static void loadApplicationProperties(){ try{ InputStream is = GuiClient.class.getClassLoader().getResourceAsStream(PROPERTY_FILE); defaultProps.load(is); }catch(Exception e){ log.error("Unable to load pdfsam properties.", e); } } /** * @return application version */ public static String getVersion(){ return defaultProps.getProperty(VERSION_PROPERTY, VERSION_DEFAULT); } /** * @return application name */ public static String getApplicationName(){ return NAME+" "+defaultProps.getProperty(VERSION_TYPE_PROPERTY, VERSION_TYPE_DEFAULT); } /** * @return application version type (basic or enhanced) */ public static String getVersionType(){ return defaultProps.getProperty(VERSION_TYPE_PROPERTY, VERSION_TYPE_DEFAULT); } /** * @return application build date */ public static String getBuildDate(){ return defaultProps.getProperty(BUILDDATE_PROPERTY, BUILDDATE_DEFAULT); } /** * @return application branch */ public static String getBranch(){ return defaultProps.getProperty(BRANCH_PROPERTY, BRANCH_DEFAULT); } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/updates/0000755000175000017500000000000011035172272025151 5ustar twernertwernerpdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/updates/UpdateManager.java0000644000175000017500000000550311035172272030534 0ustar twernertwerner/* * Created on 26-Feb-2008 * Copyright (C) 2008 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.updates; import java.net.URL; import org.apache.log4j.Logger; import org.pdfsam.guiclient.GuiClient; import org.pdfsam.guiclient.configuration.Configuration; import org.pdfsam.guiclient.updates.checkers.HttpUpdateChecker; import org.pdfsam.guiclient.updates.checkers.UpdateChecker; import org.pdfsam.i18n.GettextResource; /** * Manager to check for an available new version * @author Andrea Vacondio * */ public class UpdateManager { private static Logger log = Logger.getLogger(UpdateManager.class.getPackage().getName()); private UpdateChecker checker = null; private boolean checked = false; private String availableVersion = null; private URL httpUrl = null; /** * @param httpUrl */ public UpdateManager(URL httpUrl) { this.httpUrl = httpUrl; } /** * @return true if there is an available version and this version is different from the current version */ public boolean isNewVersionAvailable(){ checkForNewVersion(false); return ((availableVersion!=null)&&(!GuiClient.getVersion().equals(availableVersion))); } /** * * @return the availableVersion */ public String getAvailableVersion() { checkForNewVersion(false); return availableVersion; } /** * Check for a new version available if not already checked. * @param forceRecheck force to recheck for a new version available */ public void checkForNewVersion(boolean forceRecheck){ if(forceRecheck || !checked){ log.debug(GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Checking for a new version available.")); try{ if (checker == null){ checker = new HttpUpdateChecker(httpUrl); } availableVersion = checker.getLatestVersion(); }catch(Exception e){ log.warn(GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Error checking for a new version available."), e); } } checked = true; } /** * Check for a new version available */ public void checkForNewVersion(){ checkForNewVersion(true); } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/updates/checkers/0000755000175000017500000000000011035172272026740 5ustar twernertwernerpdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/updates/checkers/HttpUpdateChecker.java0000644000175000017500000000576211044604264033165 0ustar twernertwerner/* * Created on 26-Feb-2008 * Copyright (C) 2008 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.updates.checkers; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.StringReader; import java.net.HttpURLConnection; import java.net.URL; import org.dom4j.Document; import org.dom4j.Node; import org.dom4j.io.SAXReader; import org.pdfsam.guiclient.configuration.Configuration; import org.pdfsam.guiclient.exceptions.CheckForUpdateException; import org.pdfsam.i18n.GettextResource; /** * Checks for update over a http connection * @author Andrea Vacondio * */ public class HttpUpdateChecker implements UpdateChecker { private URL httpUrl = null; /** * @param httpUrl */ public HttpUpdateChecker(URL httpUrl) { this.httpUrl = httpUrl; } public String getLatestVersion() throws CheckForUpdateException { String retVal = null; String xmlContent = getXmlContent(); if(xmlContent != null){ try{ SAXReader reader = new SAXReader(); Document document = reader.read(new StringReader(xmlContent)); Node node = document.selectSingleNode("/pdfsam/latestVersion/@value"); if(node != null){ retVal = node.getText().trim(); retVal = (retVal.length()>0)? retVal: null; } }catch(Exception e){ throw new CheckForUpdateException(GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Unable to get latest available version"), e); } } return retVal; } /** * @return the String xml content retrieved * @throws CheckForUpdateException */ private String getXmlContent() throws CheckForUpdateException { String retVal = ""; HttpURLConnection urlConn = null; BufferedReader br = null; try{ urlConn = (HttpURLConnection)httpUrl.openConnection(); urlConn.setRequestProperty("user agent", "Mozilla/5.0 (compatible; MSIE 6.0; Windows NT 5.1"); br = new BufferedReader(new InputStreamReader(urlConn.getInputStream())); StringBuffer sb=new StringBuffer(); String tmp=null; while((tmp=br.readLine())!=null){ sb.append(tmp); } br.close(); retVal = sb.toString(); }catch(Exception e){ throw new CheckForUpdateException(e); }finally{ if(urlConn != null){ urlConn.disconnect(); } } return retVal; } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/updates/checkers/UpdateChecker.java0000644000175000017500000000227411035172272032317 0ustar twernertwerner/* * Created on 26-Feb-2008 * Copyright (C) 2008 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.updates.checkers; import org.pdfsam.guiclient.exceptions.CheckForUpdateException; /** * Interface for the update checker * @author Andrea Vacondio * */ public interface UpdateChecker { /** * @return the latest available version. null if no version information is available * @throws CheckForUpdateException if an error occur */ public String getLatestVersion() throws CheckForUpdateException; } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/gui/0000755000175000017500000000000011035172266024273 5ustar twernertwernerpdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/gui/components/0000755000175000017500000000000011035172270026453 5ustar twernertwernerpdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/gui/components/JMainMenuBar.java0000644000175000017500000000725211035172270031574 0ustar twernertwerner/* * Created on 08-Nov-2007 * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.gui.components; import java.awt.event.ActionEvent; import java.awt.event.KeyEvent; import javax.swing.ImageIcon; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.KeyStroke; import org.apache.log4j.Logger; import org.pdfsam.guiclient.business.listeners.ExitActionListener; import org.pdfsam.guiclient.business.listeners.mediators.EnvironmentMediator; import org.pdfsam.guiclient.configuration.Configuration; import org.pdfsam.i18n.GettextResource; /** * Menu bar * @author Andrea Vacondio * */ public class JMainMenuBar extends JMenuBar { private static final long serialVersionUID = -818197133636053691L; private static final Logger log = Logger.getLogger(JMainMenuBar.class.getPackage().getName()); private Configuration config; private final JMenu menuFile = new JMenu(); private final JMenuItem saveEnvItem = new JMenuItem(); private final JMenuItem loadEnvItem = new JMenuItem(); private final JMenuItem exitItem = new JMenuItem(); private EnvironmentMediator envMediator; public JMainMenuBar(EnvironmentMediator envMediator){ config = Configuration.getInstance(); this.envMediator = envMediator; init(); } /** * Initialize the bar */ private void init(){ try{ add(menuFile); menuFile.setText(GettextResource.gettext(config.getI18nResourceBundle(),"File")); menuFile.setMnemonic(KeyEvent.VK_F); saveEnvItem.setText(GettextResource.gettext(config.getI18nResourceBundle(),"Save environment")); saveEnvItem.setAccelerator(KeyStroke.getKeyStroke( KeyEvent.VK_S, ActionEvent.ALT_MASK)); saveEnvItem.setActionCommand(EnvironmentMediator.SAVE_ENV_ACTION); saveEnvItem.setIcon(new ImageIcon(this.getClass().getResource("/images/filesave.png"))); saveEnvItem.addActionListener(envMediator); loadEnvItem.setText(GettextResource.gettext(config.getI18nResourceBundle(),"Load environment")); loadEnvItem.setAccelerator(KeyStroke.getKeyStroke( KeyEvent.VK_L, ActionEvent.ALT_MASK)); loadEnvItem.setActionCommand(EnvironmentMediator.LOAD_ENV_ACTION); loadEnvItem.setIcon(new ImageIcon(this.getClass().getResource("/images/fileopen.png"))); loadEnvItem.addActionListener(envMediator); exitItem.setText(GettextResource.gettext(config.getI18nResourceBundle(),"Exit")); exitItem.setAccelerator(KeyStroke.getKeyStroke( KeyEvent.VK_F4, ActionEvent.ALT_MASK)); exitItem.setActionCommand(ExitActionListener.EXIT_COMMAND); exitItem.setIcon(new ImageIcon(this.getClass().getResource("/images/exit.png"))); exitItem.addActionListener(new ExitActionListener()); menuFile.add(saveEnvItem); menuFile.add(loadEnvItem); menuFile.addSeparator(); menuFile.add(exitItem); }catch(Exception e){ log.error(GettextResource.gettext(config.getI18nResourceBundle(),"Unable to initialize menu bar."), e); } } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/gui/components/JHelpLabel.java0000644000175000017500000001207011035172270031260 0ustar twernertwerner/* * Created on 05-Apr-2007 * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.gui.components; import java.awt.Color; import java.awt.Dimension; import javax.swing.ImageIcon; import javax.swing.JLabel; import javax.swing.border.MatteBorder; /** * Help icon with long html ToolTip * @author a.vacondio * */ public class JHelpLabel extends JLabel { private static final long serialVersionUID = 1488661423870319925L; private static byte[] imageBytes = {-119, 80, 78, 71, 13, 10, 26, 10, 0, 0, 0, 13, 73, 72, 68, 82, 0, 0, 0, 16, 0, 0, 0, 16, 8, 6, 0, 0, 0, 31, -13, -1, 97, 0, 0, 0, 6, 98, 75, 71, 68, 0, -12, 0, 19, 0, 19, -34, 41, 17, 21, 0, 0, 0, 9, 112, 72, 89, 115, 0, 0, 15, 18, 0, 0, 15, 18, 1, 33, -101, -14, 51, 0, 0, 0, 7, 116, 73, 77, 69, 7, -41, 5, 21, 16, 53, 40, -25, 106, 103, -42, 0, 0, 0, 29, 116, 69, 88, 116, 67, 111, 109, 109, 101, 110, 116, 0, 67, 114, 101, 97, 116, 101, 100, 32, 119, 105, 116, 104, 32, 84, 104, 101, 32, 71, 73, 77, 80, -17, 100, 37, 110, 0, 0, 1, -36, 73, 68, 65, 84, 56, -53, 117, -109, -49, 106, 83, 81, 16, -58, 127, 51, -25, -74, -40, -83, 110, -62, 125, -116, -42, 80, -117, -48, 117, -80, 20, -21, -54, -107, 47, 33, 34, 52, 77, -82, 109, -13, -89, 27, -33, -62, 87, 40, 18, -36, -71, -79, -120, 54, -35, -11, 17, 46, -79, 20, -92, -108, 70, -112, -34, 25, 23, 39, 55, -71, 73, -51, -64, 97, 14, -25, -98, -7, -50, 55, -33, 119, 71, 46, -73, -74, -9, 0, 16, -123, -96, 49, -85, 32, 26, 64, 4, 84, 39, 75, 64, 67, -52, 18, -49, -4, -41, -120, 4, 81, 62, 53, 63, 126, -89, 18, -95, 54, -56, -35, 12, 55, -57, -54, 92, 56, -55, -19, -53, -76, 122, -17, 77, -1, -35, 102, -126, -54, 124, -95, 59, 118, 111, -12, 54, 51, -36, 29, -111, -8, -67, 125, -34, -61, 30, 125, -50, 53, 40, -59, -88, 17, -127, 84, 72, -48, 16, -85, -97, -100, -26, -59, 95, -24, 61, -53, 28, 16, 51, -29, -61, -59, 9, 110, 70, -73, -34, -90, -77, 113, -128, -69, 123, 54, -20, 75, -88, 13, -14, 98, -44, 72, -47, -64, -108, -127, 6, -91, -13, -76, -27, -128, 100, -61, 62, 101, 11, 0, -5, -33, 14, 113, 115, 78, -98, 31, -54, -15, 122, -45, -77, 97, 95, 74, 6, 42, -94, -124, -38, 32, 23, 85, 68, 68, -102, 103, 71, 0, -40, -43, -117, -44, -81, 119, 82, -65, -34, 73, -27, -9, 110, -70, -78, -74, 74, 54, -20, 3, -120, 21, 54, -87, 9, 40, -86, 0, 28, -81, 55, 61, -102, 81, -23, -79, 18, -27, -103, -69, -45, -83, -73, 28, -64, -1, -116, 81, 31, -33, 1, 80, -46, -110, -118, -88, 85, 113, 67, 109, -112, 91, 97, -88, 42, 111, -65, -20, -53, -19, -43, 13, -120, 70, 17, -117, 81, 35, 13, -75, 65, -34, 62, -17, 33, 2, 14, -8, -29, -45, 92, 85, 38, -128, 90, -118, 24, -99, 81, 97, -19, -2, 117, -118, -2, -100, -39, -72, 72, 59, 89, 77, -24, 108, 28, 80, -46, 118, 119, -34, 127, 109, -29, 54, -77, 54, 50, 16, -27, 127, 97, -123, 77, -9, -51, -77, 35, -52, -30, -53, 43, 119, -81, 102, 15, 5, 37, 41, 69, 92, 12, 13, 74, -21, 71, 23, 55, 3, 17, -62, -51, -18, 3, 97, 69, 20, -107, 37, 0, 0, -35, 122, -117, -34, 102, -122, 44, -69, -96, 58, -77, -15, 65, 11, -9, -59, -52, -62, 74, 59, -117, 0, 115, -77, 48, 71, 79, 53, -2, -1, -123, -59, 54, -106, 0, -56, -27, -42, -10, 94, 28, 83, -99, 46, -87, -116, -20, -36, 40, -117, 76, 71, 94, 84, -16, -15, -104, 127, 112, -4, -46, 38, -88, 45, -32, -59, 0, 0, 0, 0, 73, 69, 78, 68, -82, 66, 96, -126}; private static ImageIcon icon = new ImageIcon(imageBytes); /** * @param text Text of the help ToolTip * @param isHtml true if it's alread an html text */ public JHelpLabel(String text, boolean isHtml) { super(); if(isHtml){ setToolTipText(text); } else{ setToolTipText(HTMLEncode(text)); } setPreferredSize(new Dimension(18, 18)); setMaximumSize(new Dimension(18, 18)); setMinimumSize(new Dimension(18, 18)); setBorder(new MatteBorder(1, 1, 1, 1, Color.LIGHT_GRAY)); setIcon(icon); } /** * Thanks to benoit.heinrich on forum.java.sun.com * @param str * @return html encoded string */ private String HTMLEncode(String str){ StringBuffer sbhtml = new StringBuffer(); for (int i = 0 ; i < str.length() ; i++ ){ char ch = str.charAt( i ); if ( ( ch >= '0' && ch <= '9' ) || ( ch >= 'A' && ch <= 'Z' ) || (ch >= 'a' && ch <= 'z') || (ch == ' ') || (ch == '\n')){ sbhtml.append( ch ); } else{ sbhtml.append( "&#" ); sbhtml.append( (int) ch ); } } return ""+sbhtml.toString().replaceAll("\n","
")+""; } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/gui/components/JLogPopupMenu.java0000644000175000017500000000634411035172270032031 0ustar twernertwerner/* * Created on 15-Nov-2007 * Copyright (C) 2007 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.gui.components; import java.awt.event.ActionListener; import javax.swing.ImageIcon; import javax.swing.JMenuItem; import javax.swing.JPopupMenu; import javax.swing.text.DefaultEditorKit; import org.pdfsam.guiclient.business.listeners.LogActionListener; import org.pdfsam.guiclient.configuration.Configuration; import org.pdfsam.i18n.GettextResource; /** * Popup menu for the log window * @author Andrea Vacondio * */ public class JLogPopupMenu extends JPopupMenu { private static final long serialVersionUID = 5285203284602898113L; private Configuration config; private ActionListener listener; /** * Default constructor, it adds a LogActionListener to listen menu items */ public JLogPopupMenu(){ this(new LogActionListener()); } public JLogPopupMenu(ActionListener listener){ this.listener = listener; init(); } private void init(){ config = Configuration.getInstance(); JMenuItem menuCopy = new JMenuItem(new DefaultEditorKit.CopyAction()); menuCopy.setText(GettextResource.gettext(config.getI18nResourceBundle(),"Copy")); menuCopy.setIcon(new ImageIcon(this.getClass().getResource("/images/edit-copy.png"))); this.add(menuCopy); JMenuItem menuClear = new JMenuItem(); menuClear.setActionCommand(LogActionListener.CLEAR_LOG_ACTION); menuClear.setText(GettextResource.gettext(config.getI18nResourceBundle(),"Clear")); menuClear.setIcon(new ImageIcon(this.getClass().getResource("/images/edit-clear.png"))); menuClear.addActionListener(listener); this.add(menuClear); JMenuItem menuSelectAll = new JMenuItem(); menuSelectAll.setActionCommand(LogActionListener.SELECTALL_LOG_ACTION); menuSelectAll.setText(GettextResource.gettext(config.getI18nResourceBundle(),"Select all")); menuSelectAll.setIcon(new ImageIcon(this.getClass().getResource("/images/edit-select-all.png"))); menuSelectAll.addActionListener(listener); this.add(menuSelectAll); this.addSeparator(); JMenuItem menuSave = new JMenuItem(); menuSave.setActionCommand(LogActionListener.SAVE_LOG_ACTION); menuSave.setText(GettextResource.gettext(config.getI18nResourceBundle(),"Save log")); menuSave.setIcon(new ImageIcon(this.getClass().getResource("/images/edit-save.png"))); menuSave.addActionListener(listener); this.add(menuSave); } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/gui/panels/0000755000175000017500000000000011035172266025555 5ustar twernertwernerpdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/gui/panels/JLogPanel.java0000644000175000017500000000602011035172270030224 0ustar twernertwerner/* * Created on 13-Nov-2007 * Copyright (C) 2007 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.gui.panels; import java.awt.Dimension; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.Box; import javax.swing.BoxLayout; import javax.swing.ImageIcon; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextPane; import org.pdfsam.guiclient.business.TextPaneAppender; import org.pdfsam.guiclient.configuration.Configuration; import org.pdfsam.guiclient.gui.components.JLogPopupMenu; import org.pdfsam.i18n.GettextResource; /** * Log panel * @author Andrea Vacondio * */ public class JLogPanel extends JPanel implements MouseListener{ private static final long serialVersionUID = 2531783640694977646L; private final JLabel logLevel = new JLabel(); private JTextPane logTextPanel = null; private Configuration config = null; private JLogPopupMenu popupMenu = null; private JScrollPane logPanel = new JScrollPane(); public JLogPanel() { this.config = Configuration.getInstance(); init(); } /** * Initialization */ private void init(){ logTextPanel = TextPaneAppender.getTextPaneInstance(); popupMenu = new JLogPopupMenu(); setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); setPreferredSize(new Dimension(500, 130)); setMinimumSize(new Dimension(0, 0)); logLevel.setIcon(new ImageIcon(this.getClass().getResource("/images/log.png"))); logLevel.setPreferredSize(new Dimension(0,25)); logLevel.setText(GettextResource.gettext(config.getI18nResourceBundle(),"Log level:")+" "+config.getLoggingLevel()); logPanel.setMinimumSize(new Dimension(0, 0)); logPanel.setViewportView(logTextPanel); add(Box.createRigidArea(new Dimension(3, 0))); add(logLevel); add(logPanel); logTextPanel.addMouseListener(this); } public void mouseReleased(MouseEvent e){ if(e.isPopupTrigger()){ popupMenu.show(e.getComponent(), e.getX(), e.getY()); } } public void mouseClicked(MouseEvent arg0) {} public void mouseEntered(MouseEvent arg0) {} public void mouseExited(MouseEvent arg0) {} public void mousePressed(MouseEvent e) { if(e.isPopupTrigger()){ popupMenu.show(e.getComponent(), e.getX(), e.getY()); } } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/gui/panels/JTreePanel.java0000644000175000017500000000653011162202102030375 0ustar twernertwerner/* * Created on 09-Nov-2007 * Copyright (C) 2007 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.gui.panels; import javax.swing.JScrollPane; import javax.swing.JTree; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultTreeModel; import javax.swing.tree.TreePath; import javax.swing.tree.TreeSelectionModel; import org.pdfsam.guiclient.configuration.Configuration; import org.pdfsam.guiclient.plugins.models.PluginDataModel; import org.pdfsam.i18n.GettextResource; /** * panel containing the selection tree * @author Andrea Vacondio * */ public class JTreePanel extends JScrollPane { private static final long serialVersionUID = -53156470256505793L; private JTree tree; private DefaultTreeModel treeModel; private DefaultMutableTreeNode plugsNode; private DefaultMutableTreeNode rootNode; public JTreePanel(DefaultMutableTreeNode rootNode){ this.rootNode = rootNode; this.plugsNode = new DefaultMutableTreeNode(GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Plugins")); this.rootNode.add(plugsNode); this.treeModel = new DefaultTreeModel(rootNode); this.tree = new JTree(treeModel); init(); setViewportView(this.tree); } /** * initialization */ private void init(){ this.tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION); this.tree.setShowsRootHandles(false); } /** * adds an element to the root node * @param pluginDataModel */ public void addToRootNode(PluginDataModel pluginDataModel){ rootNode.add(new DefaultMutableTreeNode(pluginDataModel)); treeModel.reload(); } /** * adds an element to the plugs node * @param pluginDataModel */ public void addToPlugsNode(PluginDataModel pluginDataModel){ plugsNode.add(new DefaultMutableTreeNode(pluginDataModel)); } /** * expands the tree */ public void expand(){ this.tree.expandPath(new TreePath(plugsNode.getPath())); } /** * @return the tree */ public JTree getTree() { return tree; } /** * @return the treeModel */ public DefaultTreeModel getTreeModel() { return treeModel; } /** * @return the plugsNode */ public DefaultMutableTreeNode getPlugsNode() { return plugsNode; } /** * @return the rootNode */ public DefaultMutableTreeNode getRootNode() { return rootNode; } /** * @return the selected node */ public DefaultMutableTreeNode getSelectedNode(){ return (DefaultMutableTreeNode)tree.getLastSelectedPathComponent(); } /** * @return the selection path */ public TreePath getSelectionPath(){ return tree.getSelectionPath(); } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/gui/panels/JInfoPanel.java0000644000175000017500000002226311206020672030403 0ustar twernertwerner/* * Created on 07-Feb-2006 * About panel. It shows informations about the application. * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.gui.panels; import java.awt.Color; import java.awt.Component; import java.awt.Container; import java.awt.Dimension; import java.awt.FocusTraversalPolicy; import java.awt.Font; import java.util.Hashtable; import javax.swing.Box; import javax.swing.BoxLayout; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.JTextPane; import javax.swing.border.EtchedBorder; import org.apache.log4j.Logger; import org.pdfsam.guiclient.GuiClient; import org.pdfsam.guiclient.configuration.Configuration; import org.pdfsam.guiclient.exceptions.LoadJobException; import org.pdfsam.guiclient.exceptions.SaveJobException; import org.pdfsam.guiclient.plugins.interfaces.AbstractPlugablePanel; import org.pdfsam.guiclient.plugins.models.PluginsTableModel; import org.pdfsam.i18n.GettextResource; /** * "About" window. It shows informations about the software * @author Andrea Vacondio */ public class JInfoPanel extends AbstractPlugablePanel{ private static final long serialVersionUID = 8500896540097187242L; private static final Logger log = Logger.getLogger(JInfoPanel.class.getPackage().getName()); private JTable tablePlugins; private JTextPane textInfoArea; private final JScrollPane textInfoScrollPanel = new JScrollPane(); private String author = ""; private String version = ""; private String applicationName = ""; private String language = ""; private String buildDate = ""; private String javaHome = ""; private String javaVersion = ""; private String configPath = ""; private Configuration config; private Hashtable plugins; private final InfoFocusPolicy infoFocusPolicy = new InfoFocusPolicy(); private final static String PLUGIN_AUTHOR = "Andrea Vacondio"; private final static String PLUGIN_VERSION = "0.0.3e"; /** * Constructor. It provides initialization. * @param plugins Informations about loaded plugins */ public JInfoPanel(Hashtable plugins) { this.plugins = plugins; initialize(); } private void initialize() { config = Configuration.getInstance(); setPanelIcon("/images/info.png"); try{ author = GuiClient.AUTHOR; version = GuiClient.getVersion(); applicationName = GuiClient.getApplicationName(); language = config.getXmlConfigObject().getXMLConfigValue("/pdfsam/info/language"); buildDate = GuiClient.getBuildDate(); javaHome = System.getProperty("java.home"); javaVersion = System.getProperty("java.runtime.name")+" "+System.getProperty("java.runtime.version"); configPath = config.getXmlConfigObject().getXMLConfigFile().getAbsolutePath(); }catch(Exception e){ log.error("error:", e); } setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); //TEXT_AREA textInfoScrollPanel.setPreferredSize(new Dimension(300, 100)); textInfoArea = new JTextPane(); textInfoArea.setFont(new Font("Dialog", Font.PLAIN, 9)); textInfoArea.setPreferredSize(new Dimension(300,100)); textInfoArea.setBorder(new EtchedBorder(EtchedBorder.LOWERED)); textInfoArea.setContentType("text/html"); textInfoArea.setText(""+applicationName+"

" +GettextResource.gettext(config.getI18nResourceBundle(),"Version: ")+version+"
" +GettextResource.gettext(config.getI18nResourceBundle(),"Language: ")+language+"
" +GettextResource.gettext(config.getI18nResourceBundle(),"Developed by: ")+author+"
" +GettextResource.gettext(config.getI18nResourceBundle(),"Build date: ")+buildDate+"
" +GettextResource.gettext(config.getI18nResourceBundle(),"Java home: ")+javaHome+"
" +GettextResource.gettext(config.getI18nResourceBundle(),"Java version: ")+javaVersion+"
" +GettextResource.gettext(config.getI18nResourceBundle(),"Max memory: ")+(Runtime.getRuntime().maxMemory()/1048576)+"Mb
" +GettextResource.gettext(config.getI18nResourceBundle(),"Configuration file: ")+configPath+"
" +GettextResource.gettext(config.getI18nResourceBundle(),"Website: ")+"
http://www.pdfsam.org" +"

"+getThanksText()+""); textInfoArea.setEditable(false); textInfoScrollPanel.setViewportView(textInfoArea); //END_TEXT_AREA //TABLE_PLUGS final JScrollPane installedPluginsScrollPanel = new JScrollPane(); installedPluginsScrollPanel.setPreferredSize(new Dimension(300,100)); tablePlugins = new JTable(); PluginsTableModel tablePluginsModel = new PluginsTableModel(plugins); String[] i18nColumnsName = {GettextResource.gettext(config.getI18nResourceBundle(),"Name"),GettextResource.gettext(config.getI18nResourceBundle(),"Version"),GettextResource.gettext(config.getI18nResourceBundle(),"Author")}; tablePluginsModel.setColumnNames(i18nColumnsName); tablePlugins.setModel(tablePluginsModel); tablePlugins.setGridColor(Color.LIGHT_GRAY); tablePlugins.setFocusable(false); tablePlugins.setRowSelectionAllowed(false); tablePlugins.setIntercellSpacing(new Dimension(2, 2)); tablePlugins.setBorder(new EtchedBorder(EtchedBorder.LOWERED)); installedPluginsScrollPanel.setViewportView(tablePlugins); //END_TABLE_PLUGS add(textInfoScrollPanel); add(Box.createRigidArea(new Dimension(0, 10))); add(installedPluginsScrollPanel); //END_THANKS_TEXT_AREA } /** * @return Returns the Plugin author. */ public String getPluginAuthor() { return PLUGIN_AUTHOR; } /** * @return Returns the Plugin name. */ public String getPluginName() { return GettextResource.gettext(config.getI18nResourceBundle(),"About"); } /** * @return Returns the version. */ public String getVersion() { return PLUGIN_VERSION; } public org.dom4j.Node getJobNode(org.dom4j.Node arg0, boolean savePasswords) throws SaveJobException { return arg0; } public void loadJobNode(org.dom4j.Node arg0) throws LoadJobException { log.debug(GettextResource.gettext(config.getI18nResourceBundle(),"Unimplemented method for JInfoPanel")); } protected String getThanksText(){ String[] contributors = new String[]{"SourceForge", "Freshmeat", "Launchpad", "Rosetta translators", "Ubuntu", "iText", "GNU", "OpenOffice", "jcmdline", "JGoodies", "Eclipse", "Xenoage Software", "Elisa Bortolotti", "Bigpapa", "Alberto Bortolotti", "dom4j", "jaxen", "log4j", "BouncyCastle", "All the donors and contributors"}; String contributes = GettextResource.gettext(config.getI18nResourceBundle(),"Contributes: "); for (int i=0; i

    " + "
  • "+GettextResource.gettext(config.getI18nResourceBundle(),"Language")+": "+GettextResource.gettext(config.getI18nResourceBundle(),"Set your preferred language (restart needed)")+".
  • " + "
  • "+GettextResource.gettext(config.getI18nResourceBundle(),"Look and feel")+": "+GettextResource.gettext(config.getI18nResourceBundle(),"Set your preferred look and feel and your preferred theme (restart needed)")+".
  • " + "
  • "+GettextResource.gettext(config.getI18nResourceBundle(),"Log level")+": "+GettextResource.gettext(config.getI18nResourceBundle(),"Set a log detail level (restart needed)")+".
  • " + "
  • "+GettextResource.gettext(config.getI18nResourceBundle(),"Check for updates")+": "+GettextResource.gettext(config.getI18nResourceBundle(),"Set when new version availability should be checked (restart needed)")+".
  • " + "
  • "+GettextResource.gettext(config.getI18nResourceBundle(),"Play alert sounds")+": "+GettextResource.gettext(config.getI18nResourceBundle(),"Turn on or off alert sounds")+".
  • " + "
  • "+GettextResource.gettext(config.getI18nResourceBundle(),"Default env.")+": "+GettextResource.gettext(config.getI18nResourceBundle(),"Select a previously saved env. file that will be automatically loaded at startup")+".
  • " + "
  • "+GettextResource.gettext(config.getI18nResourceBundle(),"Default working directory")+": "+GettextResource.gettext(config.getI18nResourceBundle(),"Select a directory where documents will be saved and loaded by default")+".
  • " + "
"; envHelpLabel = new JHelpLabel(helpTextEnv, true); settingsOptionsPanel.add(envHelpLabel); //ENV_LABEL_PREFIX browseButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { fileChooser.setFileFilter(new XmlFilter()); fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES); if (fileChooser.showOpenDialog(browseButton.getParent()) == JFileChooser.APPROVE_OPTION){ if (fileChooser.getSelectedFile() != null){ try{ loadDefaultEnv.setText(fileChooser.getSelectedFile().getAbsolutePath()); } catch (Exception ex){ log.error(GettextResource.gettext(config.getI18nResourceBundle(),"Error: "), ex); } } } } }); settingsOptionsPanel.add(browseButton); browseDestDirButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { fileChooser.setFileFilter(null); fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); if (fileChooser.showOpenDialog(browseButton.getParent()) == JFileChooser.APPROVE_OPTION){ if (fileChooser.getSelectedFile() != null){ try{ defaultDirectory.setText(fileChooser.getSelectedFile().getAbsolutePath()); } catch (Exception ex){ log.error(GettextResource.gettext(config.getI18nResourceBundle(),"Error: "), ex); } } } } }); settingsOptionsPanel.add(browseDestDirButton); saveButton.setIcon(new ImageIcon(this.getClass().getResource("/images/filesave.png"))); saveButton.setText(GettextResource.gettext(config.getI18nResourceBundle(),"Save")); saveButton.setMargin(new Insets(5, 5, 5, 5)); saveButton.setSize(new Dimension(88,25)); saveButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { try{ config.getXmlConfigObject().setXMLConfigValue("/pdfsam/settings/i18n", ((StringItem)languageCombo.getSelectedItem()).getId()); config.getXmlConfigObject().setXMLConfigValue("/pdfsam/settings/lookAndfeel/LAF", ((StringItem)comboLaf.getSelectedItem()).getId()); config.getXmlConfigObject().setXMLConfigValue("/pdfsam/settings/lookAndfeel/theme", ((StringItem)comboTheme.getSelectedItem()).getId()); config.getXmlConfigObject().setXMLConfigValue("/pdfsam/info/version", GuiClient.getApplicationName()+" "+GuiClient.getVersion()); config.getXmlConfigObject().setXMLConfigValue("/pdfsam/settings/loglevel", ((StringItem)comboLog.getSelectedItem()).getId()); config.getXmlConfigObject().setXMLConfigValue("/pdfsam/settings/checkupdates", ((StringItem)comboCheckNewVersion.getSelectedItem()).getId()); config.getXmlConfigObject().setXMLConfigValue("/pdfsam/settings/playsounds", (playSounds.isSelected()? "1": "0")); if (loadDefaultEnv != null){ config.getXmlConfigObject().setXMLConfigValue("/pdfsam/settings/defaultjob", loadDefaultEnv.getText()); }else{ config.getXmlConfigObject().setXMLConfigValue("/pdfsam/settings/defaultjob",""); } config.getXmlConfigObject().setXMLConfigValue("/pdfsam/settings/default_working_dir", defaultDirectory.getText()); config.getXmlConfigObject().saveXMLfile(); config.setPlaySounds(playSounds.isSelected()); log.info(GettextResource.gettext(config.getI18nResourceBundle(),"Configuration saved.")); } catch (Exception ex){ log.error(GettextResource.gettext(config.getI18nResourceBundle(),"Error: "),ex); } } }); add(saveButton); //ENTER_KEY_LISTENERS browseDestDirButton.addKeyListener(browseDestDirEnterKeyListener); browseButton.addKeyListener(browseEnterKeyListener); saveButton.addKeyListener(saveEnterKeyListener); //END_ENTER_KEY_LISTENERS setLayout(); } /** * Loads the available languages */ private Vector loadLanguages(){ Vector langs = new Vector(10,5); try{ Document document = XMLParser.parseXmlFile(this.getClass().getResource("/org/pdfsam/i18n/languages.xml")); List nodeList = document.selectNodes("/languages/language"); for (int i = 0; nodeList != null && i < nodeList.size(); i++){ Node langNode =((Node) nodeList.get(i)); if (langNode != null){ langs.add(new StringItem(langNode.selectSingleNode("@value").getText(), langNode.selectSingleNode("@description").getText())); } } }catch(Exception e){ log.error(GettextResource.gettext(config.getI18nResourceBundle(),"Error: "), e); langs.add(new StringItem("en_GB", "English (UK)")); } Collections.sort(langs); return langs; } /** * Loads the available log levels * @return logs level list */ private Vector loadLogLevels(){ Vector logs = new Vector(10,5); logs.add(new StringItem(Integer.toString(Level.DEBUG_INT), Level.DEBUG.toString())); logs.add(new StringItem(Integer.toString(Level.INFO_INT), Level.INFO.toString())); logs.add(new StringItem(Integer.toString(Level.WARN_INT), Level.WARN.toString())); logs.add(new StringItem(Integer.toString(Level.ERROR_INT), Level.ERROR.toString())); logs.add(new StringItem(Integer.toString(Level.FATAL_INT), Level.FATAL.toString())); logs.add(new StringItem(Integer.toString(Level.OFF_INT), Level.OFF.toString())); return logs; } /** * @return Returns the Plugin author. */ public String getPluginAuthor() { return PLUGIN_AUTHOR; } /** * @return Returns the Plugin name. */ public String getPluginName() { return GettextResource.gettext(config.getI18nResourceBundle(),"Settings"); } /** * @return Returns the version. */ public String getVersion() { return PLUGIN_VERSION; } /** * Set plugin layout for each component * */ private void setLayout(){ // LAYOUT settingsLayout.putConstraint(SpringLayout.SOUTH, settingsOptionsPanel, 310, SpringLayout.NORTH, this); settingsLayout.putConstraint(SpringLayout.EAST, settingsOptionsPanel, -5, SpringLayout.EAST, this); settingsLayout.putConstraint(SpringLayout.NORTH, settingsOptionsPanel, 5, SpringLayout.NORTH, this); settingsLayout.putConstraint(SpringLayout.WEST, settingsOptionsPanel, 5, SpringLayout.WEST, this); grayBorderSettingsLayout.putConstraint(SpringLayout.NORTH, gridOptionsPanel, 5, SpringLayout.NORTH, settingsOptionsPanel); grayBorderSettingsLayout.putConstraint(SpringLayout.WEST, gridOptionsPanel, 5, SpringLayout.WEST, settingsOptionsPanel); grayBorderSettingsLayout.putConstraint(SpringLayout.SOUTH, playSounds, 20, SpringLayout.NORTH, playSounds); grayBorderSettingsLayout.putConstraint(SpringLayout.EAST, playSounds, -5, SpringLayout.EAST, settingsOptionsPanel); grayBorderSettingsLayout.putConstraint(SpringLayout.NORTH, playSounds, 5, SpringLayout.SOUTH, gridOptionsPanel); grayBorderSettingsLayout.putConstraint(SpringLayout.WEST, playSounds, 0, SpringLayout.WEST, gridOptionsPanel); grayBorderSettingsLayout.putConstraint(SpringLayout.SOUTH, loadDefaultEnvLabel, 20, SpringLayout.NORTH, loadDefaultEnvLabel); grayBorderSettingsLayout.putConstraint(SpringLayout.EAST, loadDefaultEnvLabel, -5, SpringLayout.EAST, settingsOptionsPanel); grayBorderSettingsLayout.putConstraint(SpringLayout.NORTH, loadDefaultEnvLabel, 5, SpringLayout.SOUTH, playSounds); grayBorderSettingsLayout.putConstraint(SpringLayout.WEST, loadDefaultEnvLabel, 0, SpringLayout.WEST, playSounds); grayBorderSettingsLayout.putConstraint(SpringLayout.SOUTH, loadDefaultEnv, 20, SpringLayout.NORTH, loadDefaultEnv); grayBorderSettingsLayout.putConstraint(SpringLayout.EAST, loadDefaultEnv, -100, SpringLayout.EAST, settingsOptionsPanel); grayBorderSettingsLayout.putConstraint(SpringLayout.NORTH, loadDefaultEnv, 5, SpringLayout.SOUTH, loadDefaultEnvLabel); grayBorderSettingsLayout.putConstraint(SpringLayout.WEST, loadDefaultEnv, 0, SpringLayout.WEST, loadDefaultEnvLabel); grayBorderSettingsLayout.putConstraint(SpringLayout.SOUTH, browseButton, 25, SpringLayout.NORTH, browseButton); grayBorderSettingsLayout.putConstraint(SpringLayout.EAST, browseButton, -5, SpringLayout.EAST, settingsOptionsPanel); grayBorderSettingsLayout.putConstraint(SpringLayout.NORTH, browseButton, 0, SpringLayout.NORTH, loadDefaultEnv); grayBorderSettingsLayout.putConstraint(SpringLayout.WEST, browseButton, -90, SpringLayout.EAST, settingsOptionsPanel); grayBorderSettingsLayout.putConstraint(SpringLayout.SOUTH, defaultDirLabel, 20, SpringLayout.NORTH, defaultDirLabel); grayBorderSettingsLayout.putConstraint(SpringLayout.EAST, defaultDirLabel, 0, SpringLayout.EAST, loadDefaultEnvLabel); grayBorderSettingsLayout.putConstraint(SpringLayout.NORTH, defaultDirLabel, 5, SpringLayout.SOUTH, loadDefaultEnv); grayBorderSettingsLayout.putConstraint(SpringLayout.WEST, defaultDirLabel, 0, SpringLayout.WEST, loadDefaultEnvLabel); grayBorderSettingsLayout.putConstraint(SpringLayout.SOUTH, defaultDirectory, 20, SpringLayout.NORTH, defaultDirectory); grayBorderSettingsLayout.putConstraint(SpringLayout.EAST, defaultDirectory, 0, SpringLayout.EAST, loadDefaultEnv); grayBorderSettingsLayout.putConstraint(SpringLayout.NORTH, defaultDirectory, 5, SpringLayout.SOUTH, defaultDirLabel); grayBorderSettingsLayout.putConstraint(SpringLayout.WEST, defaultDirectory, 0, SpringLayout.WEST, loadDefaultEnv); grayBorderSettingsLayout.putConstraint(SpringLayout.SOUTH, browseDestDirButton, 25, SpringLayout.NORTH, browseDestDirButton); grayBorderSettingsLayout.putConstraint(SpringLayout.EAST, browseDestDirButton, 0, SpringLayout.EAST, browseButton); grayBorderSettingsLayout.putConstraint(SpringLayout.NORTH, browseDestDirButton, 0, SpringLayout.NORTH, defaultDirectory); grayBorderSettingsLayout.putConstraint(SpringLayout.WEST, browseDestDirButton, 0, SpringLayout.WEST, browseButton); grayBorderSettingsLayout.putConstraint(SpringLayout.SOUTH, envHelpLabel, -1, SpringLayout.SOUTH, settingsOptionsPanel); grayBorderSettingsLayout.putConstraint(SpringLayout.EAST, envHelpLabel, -1, SpringLayout.EAST, settingsOptionsPanel); settingsLayout.putConstraint(SpringLayout.EAST, saveButton, -10, SpringLayout.EAST, this); settingsLayout.putConstraint(SpringLayout.NORTH, saveButton, 5, SpringLayout.SOUTH, settingsOptionsPanel); } public FocusTraversalPolicy getFocusPolicy(){ return (FocusTraversalPolicy)settingsFocusPolicy; } /** * * @author Andrea Vacondio * Focus policy for split panel * */ public class SettingsFocusPolicy extends FocusTraversalPolicy { public SettingsFocusPolicy(){ super(); } public Component getComponentAfter(Container CycleRootComp, Component aComponent){ if (aComponent.equals(languageCombo)){ return comboLaf; } else if (aComponent.equals(comboLaf)){ return comboTheme; } else if (aComponent.equals(comboTheme)){ return comboLog; } else if (aComponent.equals(comboLog)){ return comboCheckNewVersion; } else if (aComponent.equals(comboCheckNewVersion)){ return checkNowButton; } else if (aComponent.equals(checkNowButton)){ return playSounds; } else if (aComponent.equals(playSounds)){ return loadDefaultEnv; } else if (aComponent.equals(loadDefaultEnv)){ return browseButton; } else if (aComponent.equals(browseButton)){ return defaultDirectory; } else if (aComponent.equals(defaultDirectory)){ return browseDestDirButton; } else if (aComponent.equals(browseDestDirButton)){ return saveButton; } else if (aComponent.equals(saveButton)){ return languageCombo; } return languageCombo; } public Component getComponentBefore(Container CycleRootComp, Component aComponent){ if (aComponent.equals(browseButton)){ return loadDefaultEnv; } else if (aComponent.equals(loadDefaultEnv)){ return playSounds; } else if (aComponent.equals(playSounds)){ return checkNowButton; } else if (aComponent.equals(checkNowButton)){ return comboCheckNewVersion; } else if (aComponent.equals(comboCheckNewVersion)){ return comboLog; } else if (aComponent.equals(comboLog)){ return comboTheme; } else if (aComponent.equals(comboTheme)){ return comboLaf; } else if (aComponent.equals(comboLaf)){ return languageCombo; } else if (aComponent.equals(saveButton)){ return browseDestDirButton; } else if (aComponent.equals(browseDestDirButton)){ return defaultDirectory; } else if (aComponent.equals(defaultDirectory)){ return browseButton; } else if (aComponent.equals(languageCombo)){ return saveButton; } return languageCombo; } public Component getDefaultComponent(Container CycleRootComp){ return languageCombo; } public Component getLastComponent(Container CycleRootComp){ return browseButton; } public Component getFirstComponent(Container CycleRootComp){ return languageCombo; } } public org.dom4j.Node getJobNode(org.dom4j.Node arg0, boolean savePasswords) throws SaveJobException { return arg0; } public void loadJobNode(org.dom4j.Node arg0) throws LoadJobException { log.debug(GettextResource.gettext(config.getI18nResourceBundle(),"Unimplemented method for JSettingsPanel")); } public void resetPanel() { } /** * sets the check update mediator * @param updateCheckerMediator */ public void setCheckUpdateMediator(UpdateCheckerMediator updateCheckerMediator){ checkNowButton.addActionListener(updateCheckerMediator); } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/gui/panels/JButtonsPanel.java0000644000175000017500000001136211035172270031146 0ustar twernertwerner/* * Created on 08-Nov-2007 * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.gui.panels; import java.awt.Dimension; import javax.swing.BoxLayout; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JPanel; import javax.swing.JToolBar; import org.apache.log4j.Logger; import org.pdfsam.guiclient.business.listeners.ExitActionListener; import org.pdfsam.guiclient.business.listeners.LogActionListener; import org.pdfsam.guiclient.business.listeners.mediators.EnvironmentMediator; import org.pdfsam.guiclient.configuration.Configuration; import org.pdfsam.i18n.GettextResource; /** * Buttons bar for the main GUI * * @author Andrea Vacondio * @see javax.swing.JPanel */ public class JButtonsPanel extends JPanel { private static final long serialVersionUID = 203934401531647182L; private static final Logger log = Logger.getLogger(JButtonsPanel.class.getPackage().getName()); private JToolBar toolBar; private Configuration config; private JButton buttonSaveEnv; private JButton buttonLoadEnv; private JButton buttonSaveLog; private JButton buttonClearLog; private JButton buttonExit; private EnvironmentMediator envMediator; private LogActionListener logActionListener; public JButtonsPanel(EnvironmentMediator envMediator, LogActionListener logActionListener){ this.envMediator = envMediator; this.logActionListener = logActionListener; this.config = Configuration.getInstance(); init(); } /** * Initialize the panel */ private void init(){ try{ setLayout(new BoxLayout(this, BoxLayout.X_AXIS)); setPreferredSize(new Dimension(600, 30)); toolBar = new JToolBar("Toolbar", JToolBar.HORIZONTAL); toolBar.setFloatable(true); toolBar.setRollover(true); toolBar.setMaximumSize(new Dimension(Short.MAX_VALUE, Short.MAX_VALUE)); buttonSaveEnv = new JButton(new ImageIcon(this.getClass().getResource("/images/filesave.png"))); buttonSaveEnv.setActionCommand(EnvironmentMediator.SAVE_ENV_ACTION); buttonSaveEnv.setToolTipText(GettextResource.gettext(config.getI18nResourceBundle(),"Save environment")); buttonSaveEnv.addActionListener(envMediator); buttonLoadEnv = new JButton(new ImageIcon(this.getClass().getResource("/images/fileopen.png"))); buttonLoadEnv.setActionCommand(EnvironmentMediator.LOAD_ENV_ACTION); buttonLoadEnv.setToolTipText(GettextResource.gettext(config.getI18nResourceBundle(),"Load environment")); buttonLoadEnv.addActionListener(envMediator); buttonSaveLog = new JButton(new ImageIcon(this.getClass().getResource("/images/edit-save.png"))); buttonSaveLog.setActionCommand(LogActionListener.SAVE_LOG_ACTION); buttonSaveLog.setToolTipText(GettextResource.gettext(config.getI18nResourceBundle(),"Save log")); buttonSaveLog.addActionListener(logActionListener); buttonClearLog = new JButton(new ImageIcon(this.getClass().getResource("/images/edit-clear.png"))); buttonClearLog.setActionCommand(LogActionListener.CLEAR_LOG_ACTION); buttonClearLog.setToolTipText(GettextResource.gettext(config.getI18nResourceBundle(),"Clear log")); buttonClearLog.addActionListener(logActionListener); buttonExit = new JButton(new ImageIcon(this.getClass().getResource("/images/exit.png"))); buttonExit.setActionCommand(ExitActionListener.EXIT_COMMAND); buttonExit.setToolTipText(GettextResource.gettext(config.getI18nResourceBundle(),"Exit")); buttonExit.addActionListener(new ExitActionListener()); toolBar.add(buttonSaveEnv); toolBar.add(buttonLoadEnv); toolBar.addSeparator(); toolBar.add(buttonSaveLog); toolBar.add(buttonClearLog); toolBar.addSeparator(); toolBar.add(buttonExit); add(toolBar); }catch(Exception e){ log.error(GettextResource.gettext(config.getI18nResourceBundle(),"Unable to initialize button bar."), e); } } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/gui/panels/JStatusPanel.java0000644000175000017500000001563411035172270031001 0ustar twernertwerner/* * Created on 19-Dec-2006 * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.gui.panels; import java.awt.Component; import java.awt.Dimension; import java.text.DecimalFormat; import java.util.Observable; import java.util.Observer; import javax.swing.Box; import javax.swing.BoxLayout; import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JProgressBar; import javax.swing.JSeparator; import javax.swing.SwingUtilities; import javax.swing.border.EtchedBorder; import javax.swing.border.SoftBevelBorder; import org.apache.log4j.Logger; import org.pdfsam.console.business.dto.WorkDoneDataModel; import org.pdfsam.guiclient.configuration.Configuration; import org.pdfsam.i18n.GettextResource; /** * Status bar for the main GUI * * @author Andrea Vacondio * @see javax.swing.JPanel */ public class JStatusPanel extends JPanel implements Observer{ private static final long serialVersionUID = 4178557129723539075L; private static final Logger log = Logger.getLogger(JStatusPanel.class.getPackage().getName()); private final JLabel plugIcon = new JLabel(); private final JLabel updatesAvailableIcon = new JLabel(); private final JLabel plugDesc = new JLabel(); private final JProgressBar progressBar = new JProgressBar(); private final Configuration config; private final String updateIconUrl = "/images/updates_available.png"; public JStatusPanel() { this(null, "", 1000); } public JStatusPanel(Icon icon, String desc) { this(icon,desc,1000); } public JStatusPanel(Icon icon, String desc, int maxValue) { config = Configuration.getInstance(); plugIcon.setIcon(icon); updatesAvailableIcon.setIcon(new ImageIcon(this.getClass().getResource(updateIconUrl))); plugDesc.setText(desc); progressBar.setMaximum(maxValue); init(); } /** * Sets the panel icon * @param icon */ public void setIcon(Icon icon) { plugIcon.setIcon(icon); } /** * sets the panel text * @param text */ public void setText(String text) { plugDesc.setText(text); } /** * Delegate to progressBar * @param value */ public void setBarIndeterminate(boolean value){ progressBar.setIndeterminate(value); } /** * Delegate to progressBar * @param value */ public void setBarValue(int value){ progressBar.setValue(value); } /** * Delegate to progressBar * @param value */ public void setMaximum(int value){ progressBar.setMaximum(value); } /** * Delegate to progressBar * @param value */ public void setBarString(String value){ progressBar.setString(value); } /** * Delegate to progressBar * @param value */ public void setBarStringPainted(boolean value){ progressBar.setStringPainted(value); } /** * Delegate to progressBar * @return true if the string is painted */ public boolean isBarStringPainted(){ return progressBar.isStringPainted(); } /** * Delegate to progressBar * @return progressBar value */ public int getBarValue(){ return progressBar.getValue(); } /** * Delegate to progressBar * @return percent completed */ public double getPercentComplete(){ return progressBar.getPercentComplete(); } /** * Shows the update available icon * @param version new available version */ public void setNewAvailableVersion(String version){ updatesAvailableIcon.setToolTipText(GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"New version available: ")+version); updatesAvailableIcon.setVisible(true); } private void init() { setLayout(new BoxLayout(this, BoxLayout.X_AXIS)); setPreferredSize(new Dimension(600, 24)); setBorder(new SoftBevelBorder(SoftBevelBorder.LOWERED)); plugIcon.setMinimumSize(new Dimension(20, 20)); updatesAvailableIcon.setMinimumSize(new Dimension(20, 20)); plugDesc.setMinimumSize(new Dimension(100, 20)); plugDesc.setMaximumSize(new Dimension(Short.MAX_VALUE, Short.MAX_VALUE)); plugIcon.setAlignmentX(Component.CENTER_ALIGNMENT); updatesAvailableIcon.setAlignmentX(Component.CENTER_ALIGNMENT); plugDesc.setAlignmentX(Component.LEFT_ALIGNMENT); updatesAvailableIcon.setVisible(false); progressBar.setBorderPainted(true); progressBar.setOrientation(JProgressBar.HORIZONTAL); progressBar.setMinimum(0); progressBar.setMinimumSize(new Dimension(150, 20)); progressBar.setPreferredSize(new Dimension(350, 20)); progressBar.setMaximumSize(new Dimension(350, 20)); progressBar.setBorder(new EtchedBorder(EtchedBorder.RAISED)); final JSeparator separator = new JSeparator(JSeparator.VERTICAL); separator.setMaximumSize(new Dimension(10, 20)); add(Box.createRigidArea(new Dimension(5, 0))); add(plugIcon); add(Box.createRigidArea(new Dimension(5, 0))); add(separator); add(Box.createRigidArea(new Dimension(5, 0))); add(plugDesc); add(Box.createHorizontalGlue()); add(updatesAvailableIcon); add(Box.createRigidArea(new Dimension(5, 0))); add(progressBar); } public void update(Observable o, Object arg) { try{ final WorkDoneDataModel dto = (WorkDoneDataModel)arg; Runnable runner = new Runnable() { public void run() { int percentage = dto.getPercentage(); if(percentage == WorkDoneDataModel.INDETERMINATE){ setBarIndeterminate(true); setBarStringPainted(false); }else if (percentage == WorkDoneDataModel.MAX_PERGENTAGE){ setBarIndeterminate(false); setBarStringPainted(true); setBarValue(WorkDoneDataModel.MAX_PERGENTAGE); setBarString(new DecimalFormat("0.# %").format(getPercentComplete())); }else{ setBarValue(percentage); setBarStringPainted(true); setBarString(new DecimalFormat("0.# %").format(getPercentComplete())); } } }; SwingUtilities.invokeLater(runner); }catch(Exception e){ log.error(GettextResource.gettext(config.getI18nResourceBundle(),"Error: "), e); } } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/gui/panels/JBackgroundedPanel.java0000644000175000017500000000351511035172270032101 0ustar twernertwerner/* * Created on 26-Dec-2006 * Copyright (C) 2006 by Andrea Vacondio. * Thanks to john_greenhow on forum.java.sun.com * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.gui.panels; import java.awt.Graphics; import java.awt.Image; import javax.swing.ImageIcon; import javax.swing.JPanel; /** * Panel used in JSplash screen to display background image * @author Andrea Vacondio */ public class JBackgroundedPanel extends JPanel { private static final long serialVersionUID = -1882976522867446997L; private Image background; /** * A constructor to build and initialize your panel. * @param resourceName */ public JBackgroundedPanel(String resourceName) { try{ if(resourceName != null && resourceName.length()>0){ background = new ImageIcon(this.getClass().getResource(resourceName)).getImage(); setOpaque(false); }else{ background = null; } }catch(Exception e){ background = null; } } /** * @see java.awt.Container#paint(java.awt.Graphics) */ public void paint(Graphics g) { if(background != null){ g.drawImage(background, 0, 0, getWidth(), getHeight(), this); } super.paint(g); } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/gui/frames/0000755000175000017500000000000011035172270025543 5ustar twernertwernerpdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/gui/frames/JSplashScreen.java0000644000175000017500000001233511035172272031120 0ustar twernertwerner/* * Created on 27-Dec-2006 * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.gui.frames; import java.awt.BorderLayout; import java.awt.Component; import java.awt.Dimension; import java.awt.Font; import java.awt.Toolkit; import javax.swing.BorderFactory; import javax.swing.Box; import javax.swing.BoxLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JProgressBar; import javax.swing.JScrollPane; import javax.swing.border.EtchedBorder; import org.pdfsam.guiclient.GuiClient; import org.pdfsam.guiclient.business.TextPaneAppender; import org.pdfsam.guiclient.business.listeners.ExitActionListener; import org.pdfsam.guiclient.gui.panels.JBackgroundedPanel; /** * * Splash screen. * @author Andrea Vacondio */ public class JSplashScreen extends JFrame { private static final long serialVersionUID = 3664676940782142274L; private final JLabel labelProgress = new JLabel(); private final JLabel labelVersion = new JLabel(); private final JProgressBar progressBar = new JProgressBar(); private final JBackgroundedPanel topPanel = new JBackgroundedPanel("/images/splashscreen.png"); private final JPanel bottomPanel = new JPanel(); private final JButton exitButton = new JButton(); private final JScrollPane logPane = new JScrollPane(); private String initMessage; public JSplashScreen(String title, String initMessage){ this.setTitle(title); this.initMessage = initMessage; init(); } private void init(){ setUndecorated(true); topPanel.setLayout(new BoxLayout(topPanel, BoxLayout.Y_AXIS)); topPanel.setBorder(new EtchedBorder(EtchedBorder.LOWERED)); progressBar.setBorderPainted(true); progressBar.setOrientation(JProgressBar.HORIZONTAL); progressBar.setValue(0); progressBar.setAlignmentX(Component.LEFT_ALIGNMENT); labelProgress.setFont(new Font("SansSerif", Font.PLAIN, 10)); labelProgress.setPreferredSize(new Dimension(300, 15)); labelProgress.setText(initMessage); labelProgress.setAlignmentX(Component.LEFT_ALIGNMENT); labelVersion.setText("pdfsam "+GuiClient.getVersion()); labelVersion.setPreferredSize(new Dimension(300, 15)); labelVersion.setFont(new Font("SansSerif", Font.BOLD, 10)); labelVersion.setAlignmentY(JLabel.BOTTOM_ALIGNMENT); labelVersion.setAlignmentX(Component.LEFT_ALIGNMENT); topPanel.add(labelProgress); topPanel.add(progressBar); topPanel.add(Box.createVerticalGlue()); topPanel.add(labelVersion); topPanel.setOpaque(false); bottomPanel.setLayout(new BoxLayout(bottomPanel, BoxLayout.LINE_AXIS)); bottomPanel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10)); bottomPanel.setBorder(new EtchedBorder(EtchedBorder.LOWERED)); exitButton.setText("Exit"); exitButton.setActionCommand(ExitActionListener.EXIT_COMMAND); exitButton.addActionListener(new ExitActionListener()); bottomPanel.add(Box.createHorizontalGlue()); bottomPanel.add(exitButton); logPane.setViewportView(TextPaneAppender.getTextPaneInstance()); logPane.setPreferredSize(new Dimension(300, 65)); getContentPane().add(topPanel, BorderLayout.PAGE_START); getContentPane().add(bottomPanel, BorderLayout.PAGE_END); getContentPane().add(logPane, BorderLayout.CENTER); center(this,300,200); } /** * Used to center the mai window on the screen * @param frame JFrame to center * @param width * @param height */ private void center(JFrame frame, int width, int height){ Dimension framedimension = new Dimension(width,height); Dimension screensize = Toolkit.getDefaultToolkit().getScreenSize(); Double centreX = new Double((screensize.getWidth() / 2) - (framedimension.getWidth() / 2)); Double centreY = new Double((screensize.getHeight() / 2) - (framedimension.getHeight() / 2)); frame.setBounds(centreX.intValue(), centreY.intValue(), width, height); } /** * Delegate to label * @param message */ public void setText(String message){ if(labelProgress != null){ labelProgress.setText(message); } } /** * Delegate to progressBar */ public void addBarValue(){ if(progressBar != null){ progressBar.setValue(progressBar.getValue()+1); } } /** * Delegate to progressBar * @param value */ public void setMaximumBarValue(int value){ if(progressBar != null){ progressBar.setMaximum(value); } } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/gui/frames/JMainFrame.java0000644000175000017500000002645111035172272030371 0ustar twernertwerner/* * Created on 09-Nov-2007 * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.gui.frames; import java.awt.BorderLayout; import java.awt.CardLayout; import java.awt.Dimension; import java.io.File; import java.net.URL; import java.util.Enumeration; import java.util.Hashtable; import java.util.Iterator; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JSplitPane; import javax.swing.SwingUtilities; import javax.swing.ToolTipManager; import javax.swing.tree.DefaultMutableTreeNode; import org.apache.log4j.Logger; import org.pdfsam.console.business.dto.WorkDoneDataModel; import org.pdfsam.console.utils.TimeUtility; import org.pdfsam.guiclient.GuiClient; import org.pdfsam.guiclient.business.Environment; import org.pdfsam.guiclient.business.listeners.LogActionListener; import org.pdfsam.guiclient.business.listeners.mediators.EnvironmentMediator; import org.pdfsam.guiclient.business.listeners.mediators.TreeMediator; import org.pdfsam.guiclient.business.listeners.mediators.UpdateCheckerMediator; import org.pdfsam.guiclient.configuration.Configuration; import org.pdfsam.guiclient.gui.components.JMainMenuBar; import org.pdfsam.guiclient.gui.panels.JButtonsPanel; import org.pdfsam.guiclient.gui.panels.JInfoPanel; import org.pdfsam.guiclient.gui.panels.JLogPanel; import org.pdfsam.guiclient.gui.panels.JSettingsPanel; import org.pdfsam.guiclient.gui.panels.JStatusPanel; import org.pdfsam.guiclient.gui.panels.JTreePanel; import org.pdfsam.guiclient.plugins.PlugInsLoader; import org.pdfsam.guiclient.plugins.interfaces.AbstractPlugablePanel; import org.pdfsam.guiclient.plugins.models.PluginDataModel; import org.pdfsam.i18n.GettextResource; /** * Main frame * @author Andrea Vacondio * */ public class JMainFrame extends JFrame { private static final long serialVersionUID = -3858244069059677829L; private static final Logger log = Logger.getLogger(JMainFrame.class.getPackage().getName()); private String DEFAULT_ICON = "/images/pdf.png"; private String DEFAULT_ICON_16 = "/images/pdf16.png"; private Configuration config; private JSplashScreen screen; private Hashtable pluginsMap; private EnvironmentMediator envMediator; private UpdateCheckerMediator updateMediator; private JStatusPanel statusPanel; private JTreePanel treePanel; private JButtonsPanel buttonsPanel; private JPanel mainPanel = new JPanel(new CardLayout()); private JScrollPane mainScrollPanel; private JSplitPane verticalSplitPane; private JSplitPane horizSplitPane; private JLogPanel logPanel; public JMainFrame(){ long start = System.currentTimeMillis(); log.info("Starting "+GuiClient.getApplicationName()+" Ver. "+GuiClient.getVersion()); runSplash(); config = Configuration.getInstance(); ToolTipManager.sharedInstance().setDismissDelay (300000); initialize(); closeSplash(); log.info(GuiClient.getApplicationName()+" Ver. "+GuiClient.getVersion()+" "+GettextResource.gettext(config.getI18nResourceBundle(),"started in ")+TimeUtility.format(System.currentTimeMillis()-start)); } /** * initialization */ private void initialize() { try{ //center(this,800,600); URL iconUrl = this.getClass().getResource("/images/pdf_"+GuiClient.getVersionType()+".png"); URL iconUrl16 = this.getClass().getResource("/images/pdf_"+GuiClient.getVersionType()+"16.png"); if(iconUrl == null){ iconUrl = this.getClass().getResource(DEFAULT_ICON); } if(iconUrl16 == null){ iconUrl16 = this.getClass().getResource(DEFAULT_ICON_16); } setIconImage(new ImageIcon(iconUrl).getImage()); setTitle(GuiClient.getApplicationName()+" Ver. "+GuiClient.getVersion()); //load plugins setSplashStep(GettextResource.gettext(config.getI18nResourceBundle(),"Loading plugins..")); PlugInsLoader pluginsLoader = new PlugInsLoader(config.getXmlConfigObject().getXMLConfigValue("/pdfsam/settings/plugs_absolute_dir")); pluginsMap = pluginsLoader.loadPlugins(); //Info panel JInfoPanel infoPanel = new JInfoPanel(pluginsMap); PluginDataModel infoDataModel = new PluginDataModel(infoPanel.getPluginName(), infoPanel.getVersion(), infoPanel.getPluginAuthor()); mainPanel.add(infoPanel,infoPanel.getPluginName()); //Settings panel JSettingsPanel settingsPanel = new JSettingsPanel(); PluginDataModel settingsDataModel = new PluginDataModel(settingsPanel.getPluginName(), settingsPanel.getVersion(), settingsPanel.getPluginAuthor()); mainPanel.add(settingsPanel,settingsPanel.getPluginName()); //sets main panel mainPanel.setPreferredSize(new Dimension(670,500)); for(Iterator plugsIterator = pluginsMap.values().iterator(); plugsIterator.hasNext();){ AbstractPlugablePanel instance = (AbstractPlugablePanel)plugsIterator.next(); mainPanel.add(instance,instance.getPluginName()); } //menu setSplashStep(GettextResource.gettext(config.getI18nResourceBundle(),"Building menus..")); //env mediator envMediator = new EnvironmentMediator(new Environment(pluginsMap), this); getRootPane().setJMenuBar(new JMainMenuBar(envMediator)); //buttons bar setSplashStep(GettextResource.gettext(config.getI18nResourceBundle(),"Building buttons bar..")); buttonsPanel = new JButtonsPanel(envMediator, new LogActionListener()); getContentPane().add(buttonsPanel,BorderLayout.PAGE_START); //status panel setSplashStep(GettextResource.gettext(config.getI18nResourceBundle(),"Building status bar..")); statusPanel = new JStatusPanel(new ImageIcon(iconUrl16),GuiClient.getApplicationName(),WorkDoneDataModel.MAX_PERGENTAGE); getContentPane().add(statusPanel,BorderLayout.PAGE_END); config.getConsoleServicesFacade().addExecutionObserver(statusPanel); //tree panel setSplashStep(GettextResource.gettext(config.getI18nResourceBundle(),"Building tree..")); treePanel = new JTreePanel(new DefaultMutableTreeNode(GuiClient.UNIXNAME+" "+GuiClient.getVersion())); for (Enumeration enumeration = pluginsMap.keys(); enumeration.hasMoreElements();) { treePanel.addToPlugsNode((PluginDataModel)enumeration.nextElement()); } treePanel.addToRootNode(settingsDataModel); treePanel.addToRootNode(infoDataModel); treePanel.getTree().addTreeSelectionListener(new TreeMediator(this)); treePanel.expand(); //add info and settings to plugins map pluginsMap.put(settingsDataModel, settingsPanel); pluginsMap.put(infoDataModel, infoPanel); //set up check for updates mediator updateMediator = new UpdateCheckerMediator(statusPanel); if(config.isCheckForUpdates()){ updateMediator.checkForUpdates(5000, false); } settingsPanel.setCheckUpdateMediator(updateMediator); //final set up mainScrollPanel = new JScrollPane(mainPanel); mainScrollPanel.setMinimumSize(new Dimension(100, 400)); logPanel = new JLogPanel(); horizSplitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, treePanel, mainScrollPanel); horizSplitPane.setOneTouchExpandable(true); horizSplitPane.setDividerLocation(155); verticalSplitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT, horizSplitPane,logPanel); verticalSplitPane.setOneTouchExpandable(true); verticalSplitPane.setResizeWeight(1.0); verticalSplitPane.setDividerLocation(0.75); //load the default env if set File defaultEnv = config.getDefaultEnv(); if(defaultEnv != null && defaultEnv.exists() && defaultEnv.isFile()){ log.info(GettextResource.gettext(config.getI18nResourceBundle(),"Loading default environment.")); envMediator.getEnvironment().loadJobs(defaultEnv); } getContentPane().add(verticalSplitPane,BorderLayout.CENTER); setSize(640, 480); setExtendedState(JFrame.MAXIMIZED_BOTH); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }catch(Exception e){ log.fatal(GettextResource.gettext(config.getI18nResourceBundle(),"Error starting pdfsam."),e); } } /** * Used to center the main window on the screen * @param frame JFrame to center * @param width * @param height */ /*private void center(JFrame frame, int width, int height){ Dimension framedimension = new Dimension(width,height); Dimension screensize = Toolkit.getDefaultToolkit().getScreenSize(); Double centreX = new Double((screensize.getWidth() / 2) - (framedimension.getWidth() / 2)); Double centreY = new Double((screensize.getHeight() / 2) - (framedimension.getHeight() / 2)); frame.setBounds(centreX.intValue(), centreY.intValue(), 640, 480); }*/ /** * Run a splash screen */ private void runSplash(){ screen = new JSplashScreen("pdfsam loader", "Initialization.."); screen.setMaximumBarValue(5); Runnable runner = new Runnable() { public void run() { screen.setVisible(true); } }; SwingUtilities.invokeLater(runner); } /** * close the splash screen */ private void closeSplash(){ if(screen != null){ screen.setVisible(false); screen.dispose(); } } /** * Sets the splash text and increment the progress bar * @param message */ private void setSplashStep(String message){ if(screen != null){ screen.setText(message); screen.addBarValue(); } } /** * @return the statusPanel */ public JStatusPanel getStatusPanel() { return statusPanel; } /** * @return the treePanel */ public JTreePanel getTreePanel() { return treePanel; } /** * @return the buttonsPanel */ public JButtonsPanel getButtonsPanel() { return buttonsPanel; } /** * @return the pluginsMap */ public Hashtable getPluginsMap() { return pluginsMap; } /** * @return the mainPanel */ public JPanel getMainPanel() { return mainPanel; } /** * sets the minimum size of the scroll pane * @param d */ public void setMainPanelPreferredSize(Dimension d){ mainPanel.setPreferredSize(d); } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/utils/0000755000175000017500000000000011160217312024636 5ustar twernertwernerpdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/utils/ThemeUtility.java0000644000175000017500000001462311035172264030144 0ustar twernertwerner/* * Created on 22-feb-2005 * * Ritorna il LookAndFeel specificato dal file di configurazione * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.utils; import java.util.LinkedList; import javax.swing.UIManager; import org.pdfsam.guiclient.dto.StringItem; import com.jgoodies.looks.plastic.PlasticLookAndFeel; import com.jgoodies.looks.plastic.theme.BrownSugar; import com.jgoodies.looks.plastic.theme.DarkStar; import com.jgoodies.looks.plastic.theme.DesertBlue; import com.jgoodies.looks.plastic.theme.DesertGreen; import com.jgoodies.looks.plastic.theme.DesertRed; import com.jgoodies.looks.plastic.theme.ExperienceBlue; import com.jgoodies.looks.plastic.theme.ExperienceGreen; import com.jgoodies.looks.plastic.theme.Silver; import com.jgoodies.looks.plastic.theme.SkyBlue; import com.jgoodies.looks.plastic.theme.SkyBluer; import com.jgoodies.looks.plastic.theme.SkyGreen; import com.jgoodies.looks.plastic.theme.SkyKrupp; import com.jgoodies.looks.plastic.theme.SkyPink; import com.jgoodies.looks.plastic.theme.SkyYellow; /** * ThemeSelector utility. It provides functions to let the user select the GUI theme * @author Andrea Vacondio */ public class ThemeUtility { /** * @param lafNumber * @return le LookAndFeel */ public static String getLAF(int lafNumber){ String ThemeSelected; switch (lafNumber) { case 1: ThemeSelected = UIManager.getSystemLookAndFeelClassName(); break; case 2: ThemeSelected = "javax.swing.plaf.metal.MetalLookAndFeel"; break; case 3: ThemeSelected = "com.jgoodies.looks.plastic.Plastic3DLookAndFeel"; break; case 4: ThemeSelected = "com.jgoodies.looks.plastic.PlasticLookAndFeel"; break; case 5: ThemeSelected = "com.jgoodies.looks.plastic.PlasticXPLookAndFeel"; break; case 6: ThemeSelected = "com.jgoodies.looks.windows.WindowsLookAndFeel"; break; default: ThemeSelected = UIManager.getCrossPlatformLookAndFeelClassName(); break; } return ThemeSelected; } /** * * @return a LinkedList of ListItem objects with the availales LAF */ public static LinkedList getLAFList(){ LinkedList retval = new LinkedList(); retval.add(new StringItem("0","Java")); retval.add(new StringItem("1","System")); retval.add(new StringItem("2","Metal")); retval.add(new StringItem("3","Plastic3D")); retval.add(new StringItem("4","Plastic")); retval.add(new StringItem("5","PlasticXP")); retval.add(new StringItem("6","Windows")); return retval; } /** * * @return LinkedList of ListItem objects with the available Themes form Plastic */ public static LinkedList getThemeList(){ LinkedList retval = new LinkedList(); retval.add(new StringItem("0","None")); retval.add(new StringItem("1","DesertBlue")); retval.add(new StringItem("2","DesertRed")); retval.add(new StringItem("3","Silver")); retval.add(new StringItem("4","SkyPink")); retval.add(new StringItem("5","SkyKrupp")); retval.add(new StringItem("6","SkyYellow")); retval.add(new StringItem("7","SkyGreen")); retval.add(new StringItem("8","DarkStar")); retval.add(new StringItem("9","BrownSugar")); retval.add(new StringItem("10","DesertGreen")); retval.add(new StringItem("11","ExperienceBlue")); retval.add(new StringItem("12","ExperienceGreen")); retval.add(new StringItem("13","SkyBlue")); retval.add(new StringItem("14","SkyBluer")); return retval; } /** * * @param lafNumber * @return true if the LookAndFeel is Plastic type */ public static boolean isPlastic(int lafNumber){ return ((lafNumber >= 3) && (lafNumber <= 5)); } /** * Sets the theme * @param themeNumber Theme number */ public static void setTheme(int themeNumber){ switch (themeNumber) { case 1: PlasticLookAndFeel.setPlasticTheme(new DesertBlue()); break; case 2: PlasticLookAndFeel.setPlasticTheme(new DesertRed()); break; case 3: PlasticLookAndFeel.setPlasticTheme(new Silver()); break; case 4: PlasticLookAndFeel.setPlasticTheme(new SkyPink()); break; case 5: PlasticLookAndFeel.setPlasticTheme(new SkyKrupp()); break; case 6: PlasticLookAndFeel.setPlasticTheme(new SkyYellow()); break; case 7: PlasticLookAndFeel.setPlasticTheme(new SkyGreen()); break; case 8: PlasticLookAndFeel.setPlasticTheme(new DarkStar()); break; case 9: PlasticLookAndFeel.setPlasticTheme(new BrownSugar()); break; case 10: PlasticLookAndFeel.setPlasticTheme(new DesertGreen()); break; case 11: PlasticLookAndFeel.setPlasticTheme(new ExperienceBlue()); break; case 12: PlasticLookAndFeel.setPlasticTheme(new ExperienceGreen()); break; case 13: PlasticLookAndFeel.setPlasticTheme(new SkyBlue()); break; case 14: PlasticLookAndFeel.setPlasticTheme(new SkyBluer()); break; default: break; } } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/utils/filters/0000755000175000017500000000000011035172262026313 5ustar twernertwernerpdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/utils/filters/JarFilter.java0000644000175000017500000000242011035172262031036 0ustar twernertwerner/* * Created on 03-Feb-2006 * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.utils.filters; /** * Filter for the PlugInsLoader. Used to load only jar files. * * @author Andrea Vacondio * @see javax.swing.JFileChooser */ public class JarFilter extends AbstractFileFilter{ private static final String FILE_EXTENSION = "jar"; public JarFilter() { super(); } public JarFilter(boolean acceptDirectory) { super(acceptDirectory); } public String getAcceptedExtension() { return FILE_EXTENSION; } public String getDescription() { return "jar files"; } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/utils/filters/AbstractFileFilter.java0000644000175000017500000000375311035172262032677 0ustar twernertwerner/* * Created on 03-Nov-2007 * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.utils.filters; import java.io.File; import javax.swing.filechooser.FileFilter; /** * Filters superclass * @author Andrea Vacondio * */ public abstract class AbstractFileFilter extends FileFilter implements java.io.FileFilter{ private boolean acceptDirectory = true; /** * If true the filter accepts directories * @param acceptDirectory */ public AbstractFileFilter(boolean acceptDirectory){ this.acceptDirectory = acceptDirectory; } public AbstractFileFilter(){ this.acceptDirectory = true; } public boolean accept(File f) { boolean retVal = false; if (f!=null){ if (f.isDirectory()){ retVal = acceptDirectory; }else{ String extension = getExtension(f); retVal = getAcceptedExtension().equals(extension); } } return retVal; } /** * * @return the accepted extension */ public abstract String getAcceptedExtension(); /** * Get the extension of a file. */ public String getExtension(File f) { String ext = null; String s = f.getName(); int i = s.lastIndexOf('.'); if (i > 0 && i < s.length() - 1) { ext = s.substring(i+1).toLowerCase(); } return ext; } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/utils/filters/HtmlFilter.java0000644000175000017500000000331411035172262031231 0ustar twernertwerner/* * Created on 26-Dec-2006 * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.utils.filters; import java.io.File; import java.io.FileFilter; /** * Filter for the JFileChooser. Used by Log to save log to file. * * @author Andrea Vacondio * @see javax.swing.JFileChooser */ public class HtmlFilter implements FileFilter { public boolean accept(File f) { boolean retVal = false; if (f!=null){ if (f.isDirectory()){ retVal = true; }else{ String extension = getExtension(f); retVal = ("html".equals(extension) || "htm".equals(extension)); } } return retVal; } public String getDescription() { return "html files"; } public String getExtension(File f) { String ext = null; String s = f.getName(); int i = s.lastIndexOf('.'); if (i > 0 && i < s.length() - 1) { ext = s.substring(i+1).toLowerCase(); } return ext; } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/utils/filters/TxtFilter.java0000644000175000017500000000236511035172262031111 0ustar twernertwerner/* * Created on 15-Nov-2007 * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.utils.filters; /** * Filter for the JFileChooser * @author Andrea Vacondio * */ public class TxtFilter extends AbstractFileFilter { private static final String FILE_EXTENSION = "txt"; public TxtFilter() { super(); } public TxtFilter(boolean acceptDirectory) { super(acceptDirectory); } public String getAcceptedExtension() { return FILE_EXTENSION; } public String getDescription() { return "txt files"; } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/utils/filters/DirFilter.java0000644000175000017500000000245411035172262031047 0ustar twernertwerner/* * Created on 20-Feb-2006 * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.utils.filters; import java.io.File; import javax.swing.filechooser.FileFilter; /** * Filter for the JFileChooser. Used by split plugin to chose output directory. * @author Andrea Vacondio * @see javax.swing.JFileChooser * */ public class DirFilter extends FileFilter { public boolean accept(File f) { boolean retVal = false; if (f != null){ retVal = f.isDirectory(); } return retVal; } public String getDescription() { return "Direcotries"; } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/utils/filters/PdfFilter.java0000644000175000017500000000252011035172262031034 0ustar twernertwerner/* * Created on 03-Feb-2006 * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.utils.filters; /** * Filter for the JFileChooser. Used by merge and split plugin to chose input files. * * @author Andrea Vacondio * @see javax.swing.JFileChooser */ public class PdfFilter extends AbstractFileFilter { private static final String FILE_EXTENSION = "pdf"; public PdfFilter() { super(); } public PdfFilter(boolean acceptDirectory) { super(acceptDirectory); } public String getAcceptedExtension() { return FILE_EXTENSION; } public String getDescription() { return "pdf files"; } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/utils/filters/XmlFilter.java0000644000175000017500000000250211035172262031063 0ustar twernertwerner/* * Created on 18-Oct-2006 * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.utils.filters; /** * Filter for the JFileChooser. Used by Main to choose output files. * * @author Andrea Vacondio * @see javax.swing.JFileChooser */ public class XmlFilter extends AbstractFileFilter { private static final String FILE_EXTENSION = "xml"; public XmlFilter() { super(); } public XmlFilter(boolean acceptDirectory) { super(acceptDirectory); } public String getAcceptedExtension() { return FILE_EXTENSION; } public String getDescription() { return "xml files"; } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/utils/UpdatesUtility.java0000644000175000017500000000317111044604322030476 0ustar twernertwerner/* * Created on 29-Feb-2008 * Copyright (C) 2008 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.utils; import java.util.Vector; import org.pdfsam.guiclient.configuration.Configuration; import org.pdfsam.guiclient.dto.StringItem; import org.pdfsam.i18n.GettextResource; /** * Utility for the Updates section * @author Andrea Vacodnio * */ public class UpdatesUtility { public final static String NEVER_CHECK = "0"; public final static String CHECK_AT_STARTUP = "1"; /** * @return the items for the checkNewVersion combo */ public static Vector getCheckNewVersionItems(){ Vector items = new Vector(2,2); items.add(new StringItem(NEVER_CHECK, GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Never"))); items.add(new StringItem(CHECK_AT_STARTUP, GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"pdfsam start up"))); return items; } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/utils/DialogUtility.java0000644000175000017500000000647611177607742030323 0ustar twernertwerner/* * Created on 12-Oct-2007 * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.utils; import java.awt.Component; import javax.swing.JOptionPane; import org.pdfsam.guiclient.configuration.Configuration; import org.pdfsam.i18n.GettextResource; /** * Utility to show dialogs * @author Andrea Vacondio * */ public class DialogUtility { /** * Shows a yes/no/cancel dialog to ask for change the ouput directory * @param comp parent component * @param suggestedDir suggested directory * @return the dialog return value */ public static int showConfirmOuputLocationDialog(Component comp, String suggestedDir){ return JOptionPane.showOptionDialog(comp, GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Output file location is not correct")+".\n"+GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Would you like to change it to")+" "+suggestedDir+" ?", GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Output location error"), JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE,null, null, null); } /** * Shows a yes/no/cancel dialog to ask the user about overwriting output file * @param comp parent component * @param filename suggested directory * @return an integer indicating the option chosen by the user */ public static int askForOverwriteOutputFileDialog(Component comp, String filename){ return JOptionPane.showOptionDialog(comp, GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Selected output file already exists ")+filename+"\n"+GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Would you like to overwrite it?"), GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Output location error"), JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null, null, null); } /** * Shows an error dialog * @param comp * @param bounds */ public static void errorValidatingBounds(Component comp, String bounds){ JOptionPane.showMessageDialog(comp, GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Provided pages selection is not valid")+" ("+bounds+")\n"+GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Limits must be a comma separated list of \"page_number\" or \"page_number-page_number\""), GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Limits are not valid"), JOptionPane.ERROR_MESSAGE); } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/utils/EncryptionUtility.java0000644000175000017500000000312211160217604031221 0ustar twernertwerner/* * Created on 18-Mar-2009 * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.utils; import org.pdfsam.console.business.dto.commands.EncryptParsedCommand; /** * Support to the encryption * @author Andrea Vacondio * */ public class EncryptionUtility { public final static String RC4_40 = "RC4-40b"; public final static String RC4_128 = "RC4-128b"; public final static String AES_128 = "AES-128b"; /** *@return Console parameter for the selected encryption algorithm from the JComboBox */ public static String getEncAlgorithm(String algorithm){ String retval = EncryptParsedCommand.E_RC4_40; if(algorithm != null){ if(algorithm.equals(RC4_40)){ retval = EncryptParsedCommand.E_RC4_40; }else if(algorithm.equals(RC4_128)){ retval = EncryptParsedCommand.E_RC4_128; }else if(algorithm.equals(AES_128)){ retval = EncryptParsedCommand.E_AES_128; } } return retval; } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/utils/PdfVersionUtility.java0000644000175000017500000001036411035172264031157 0ustar twernertwerner/* * Created on 25-Dic-2007 * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.utils; import java.util.ArrayList; import java.util.HashMap; import org.apache.log4j.Logger; import org.pdfsam.console.business.dto.commands.AbstractParsedCommand; import org.pdfsam.guiclient.configuration.Configuration; import org.pdfsam.guiclient.dto.StringItem; import org.pdfsam.i18n.GettextResource; /** * Pdf document version utilities * @author Andrea Vacondio * */ public class PdfVersionUtility { private static final Logger log = Logger.getLogger(PdfVersionUtility.class.getPackage().getName()); private static HashMap cache = new HashMap(); private static ArrayList listCache = new ArrayList(); /** * @param c pdfVersion * @return String Version description */ public static String getVersionDescription(char c){ String retVal = ""; try{ Object description = getVersions().get(Character.toString(c)); retVal = (description != null)? (String) description : ""; }catch(Exception e){ log.error(GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Error getting pdf version description."), e); } return retVal; } /** * @return a map containing every possible pdf version */ public static HashMap getVersions(){ if(cache.isEmpty()){ Configuration config = Configuration.getInstance(); cache.put(Character.toString(AbstractParsedCommand.VERSION_1_2), GettextResource.gettext(config.getI18nResourceBundle(),"Version 1.2 (Acrobat 3)")); cache.put(Character.toString(AbstractParsedCommand.VERSION_1_3), GettextResource.gettext(config.getI18nResourceBundle(),"Version 1.3 (Acrobat 4)")); cache.put(Character.toString(AbstractParsedCommand.VERSION_1_4), GettextResource.gettext(config.getI18nResourceBundle(),"Version 1.4 (Acrobat 5)")); cache.put(Character.toString(AbstractParsedCommand.VERSION_1_5), GettextResource.gettext(config.getI18nResourceBundle(),"Version 1.5 (Acrobat 6)")); cache.put(Character.toString(AbstractParsedCommand.VERSION_1_6), GettextResource.gettext(config.getI18nResourceBundle(),"Version 1.6 (Acrobat 7)")); cache.put(Character.toString(AbstractParsedCommand.VERSION_1_7), GettextResource.gettext(config.getI18nResourceBundle(),"Version 1.7 (Acrobat 8)")); } return cache; } /** * @return a list containing every possible pdf version as a StrinItem */ public static ArrayList getVersionsList(){ if(listCache.isEmpty()){ Configuration config = Configuration.getInstance(); listCache.add(new StringItem(Character.toString(AbstractParsedCommand.VERSION_1_2), GettextResource.gettext(config.getI18nResourceBundle(),"Version 1.2 (Acrobat 3)"))); listCache.add(new StringItem(Character.toString(AbstractParsedCommand.VERSION_1_3), GettextResource.gettext(config.getI18nResourceBundle(),"Version 1.3 (Acrobat 4)"))); listCache.add(new StringItem(Character.toString(AbstractParsedCommand.VERSION_1_4), GettextResource.gettext(config.getI18nResourceBundle(),"Version 1.4 (Acrobat 5)"))); listCache.add(new StringItem(Character.toString(AbstractParsedCommand.VERSION_1_5), GettextResource.gettext(config.getI18nResourceBundle(),"Version 1.5 (Acrobat 6)"))); listCache.add(new StringItem(Character.toString(AbstractParsedCommand.VERSION_1_6), GettextResource.gettext(config.getI18nResourceBundle(),"Version 1.6 (Acrobat 7)"))); listCache.add(new StringItem(Character.toString(AbstractParsedCommand.VERSION_1_7), GettextResource.gettext(config.getI18nResourceBundle(),"Version 1.7 (Acrobat 8)"))); } return listCache; } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/utils/xml/0000755000175000017500000000000011035172260025441 5ustar twernertwernerpdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/utils/xml/XMLParser.java0000644000175000017500000000570311035172262030130 0ustar twernertwerner/* * Created on 19-feb-2005 * * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.utils.xml; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import java.net.URL; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.io.OutputFormat; import org.dom4j.io.SAXReader; import org.dom4j.io.XMLWriter; /** * Parser XML. Given and XML file, it's parsed and the DOM object created. If and error occur * an exception is thrown. * @author Andrea Vacondio * @see org.pdfsam.guiclient.utils.xml.XMLConfig */ public class XMLParser { /** * Parse the xml file converting the given path * @param fullPath * @return parsed Document * @throws DocumentException */ public static Document parseXmlFile(String fullPath) throws DocumentException{ return parseXmlFile(new File(fullPath)); } /** * parse the xml input file * @param inputFile * @return parsed Document * @throws DocumentException */ public static Document parseXmlFile(File inputFile) throws DocumentException{ Document document = null; if (inputFile.isFile()){ SAXReader reader = new SAXReader(); document = reader.read(inputFile); }else{ throw new DocumentException("Unable to read "+inputFile+"."); } return document; } /** * Parse the url * @return The DOM object */ public static Document parseXmlFile(URL url) throws DocumentException{ Document document = null; SAXReader reader = new SAXReader(); document = reader.read(url); return document; } /** * Write the DOM to the xml file * * @param domDoc Document to write * @param outFile xml File to write * @throws Exception */ public static void writeXmlFile(Document domDoc, File outFile) throws Exception{ BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(outFile)); OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("UTF-8"); XMLWriter xmlFileWriter = new XMLWriter(bos, format); xmlFileWriter.write(domDoc); xmlFileWriter.flush(); xmlFileWriter.close(); } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/utils/xml/XMLConfig.java0000644000175000017500000001243411157706232030105 0ustar twernertwerner/* * Created on 15-feb-2005 * Usage: XMLConfig xml_cfg_document = new XMLConfig(); * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /** * @author Andrea Vacondio * */ package org.pdfsam.guiclient.utils.xml; import java.io.File; import java.util.List; import java.util.Vector; import org.apache.log4j.Logger; import org.dom4j.Document; import org.dom4j.Element; import org.dom4j.Node; import org.pdfsam.console.utils.FileUtility; import org.pdfsam.guiclient.exceptions.ConfigurationException; /** * Object for the xml config file. It provides functions to get and set xml tags in the * config.xml file. * @author Andrea Vacondio * @see org.pdfsam.guiclient.utils.xml.XMLParser * @see org.dom4j.Document * */ public class XMLConfig{ private static final Logger log = Logger.getLogger(XMLConfig.class.getPackage().getName()); private Document document; private File xmlConfigFile; private final String defaultDirectory = System.getProperty("user.home")+"/.pdfsam"; public XMLConfig() throws Exception{ xmlConfigFile = new File("config.xml"); document = XMLParser.parseXmlFile(xmlConfigFile); } public XMLConfig(String configPath) throws Exception{ this(configPath, false); } /** * @param configPath * @param checkUserHome * if true tries to check if the file * ${user.home}/.pdfsam/config.xml exists and can be written, if * not tries to check if the file APPLICATIOH_PATH/config.xml can * be written, if not copies the APPLICATIOH_PATH/config.xml to * ${user.home}/.pdfsam/config.xml * @throws Exception */ public XMLConfig(String configPath, boolean checkUserHome) throws Exception{ File configFile= new File(configPath, "config.xml"); if(checkUserHome){ File defaultConfigFile = new File(defaultDirectory, "config.xml"); if (!(defaultConfigFile.exists() && defaultConfigFile.canWrite())){ if(!configFile.exists()){ throw new ConfigurationException("Unable to find configuration file."); } if (!configFile.canWrite()){ File defaultDir = new File(defaultDirectory); if(defaultDir.mkdirs()){ log.info("Copying config.xml from "+configFile.getPath()+" to "+defaultConfigFile.getPath()); FileUtility.copyFile(configFile, defaultConfigFile); configFile = defaultConfigFile; }else{ throw new ConfigurationException("Unable to create "+defaultDirectory); } } }else{ configFile = defaultConfigFile; } } xmlConfigFile = configFile; document = XMLParser.parseXmlFile(xmlConfigFile); } /** * * @return File name of the XML config file. */ public File getXMLConfigFile(){ return xmlConfigFile; } /** * It gives back a tag value * * @param xpath * @return tag value */ public String getXMLConfigValue(String xpath) throws Exception{ String retVal = ""; Node node = document.selectSingleNode(xpath); if(node != null){ retVal = node.getText().trim(); } return retVal; } /** * It gives back the language tag value * * @return tag value */ public List getXMLLanguagesList() throws Exception{ Vector langs = new Vector(10,5); List nodeList = document.selectNodes("/pdfsam/available_languages/language"); for (int i = 0; nodeList != null && i < nodeList.size(); i++){ langs.add(((Node) nodeList.get(i)).selectSingleNode("@value").getText()); } return langs; } /** * Given a DOM object it sets the new tag value * * @param xpath * @param value * new value of the xml tag */ public void setXMLConfigValue(String xpath, String value) throws Exception { Node node = document.selectSingleNode(xpath); if (node == null) { node = document.selectSingleNode(xpath.substring(0, xpath.lastIndexOf("/"))); if (node != null) { node = (Node) ((Element) node).addElement(xpath.substring(xpath.lastIndexOf("/") + 1)); } } if (node != null) { node.setText(value); } else { log.warn("Unable to set " + value + " to " + xpath); } } /** * It saves any changes on the xml file * * @throws Exception * @see org.pdfsam.guiclient.utils.xml.XMLParser#writeXmlFile(Document, File) */ public void saveXMLfile() throws Exception{ XMLParser.writeXmlFile(document, xmlConfigFile); } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/business/0000755000175000017500000000000011035172274025341 5ustar twernertwernerpdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/business/TextPaneAppender.java0000644000175000017500000000661511035172276031425 0ustar twernertwerner/* * Created on 13-Nov-2007 * Copyright (C) 2007 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.business; import java.awt.Color; import java.util.Hashtable; import javax.swing.JTextPane; import javax.swing.text.BadLocationException; import javax.swing.text.MutableAttributeSet; import javax.swing.text.SimpleAttributeSet; import javax.swing.text.StyleConstants; import javax.swing.text.StyledDocument; import org.apache.log4j.AppenderSkeleton; import org.apache.log4j.Level; import org.apache.log4j.spi.LoggingEvent; /** * JTextPane appender * @author Andrea Vacondio * */ public class TextPaneAppender extends AppenderSkeleton { private static JTextPane logTextArea = null; private static StyledDocument styledDocument = null; private static Hashtable attributes = null; public TextPaneAppender() { getTextPaneInstance(); } public synchronized static JTextPane getTextPaneInstance(){ if(logTextArea == null){ logTextArea = new JTextPane(); logTextArea.setEditable(false); logTextArea.setDragEnabled(true); styledDocument = logTextArea.getStyledDocument(); createTextAttributes(); } return logTextArea; } /** * creates attributes map for message style */ private static void createTextAttributes() { attributes = new Hashtable(); attributes.put(Level.ERROR, new SimpleAttributeSet()); attributes.put(Level.FATAL, new SimpleAttributeSet()); attributes.put(Level.WARN, new SimpleAttributeSet()); StyleConstants.setForeground((MutableAttributeSet)attributes.get(Level.ERROR), Color.red); StyleConstants.setForeground((MutableAttributeSet)attributes.get(Level.FATAL), Color.red); StyleConstants.setForeground((MutableAttributeSet)attributes.get(Level.WARN), Color.blue); } protected void append(LoggingEvent arg0) { if(this.layout != null){ String logText = this.layout.format(arg0); String trace = ""; try{ if (arg0.getThrowableInformation() != null) { String[] throwableStrings = arg0.getThrowableInformation().getThrowableStrRep(); for (int i = 0; i < throwableStrings.length; i++){ trace += throwableStrings[i]+"\n"; } } if(attributes.get(arg0.getLevel()) != null){ styledDocument.insertString(styledDocument.getLength(), logText+trace, (MutableAttributeSet)attributes.get(arg0.getLevel())); }else{ styledDocument.insertString(styledDocument.getLength(), logText, null); } }catch(BadLocationException e){ logTextArea.setText(logTextArea.getText()+this.layout.format(arg0)); } logTextArea.setCaretPosition(logTextArea.getDocument().getLength()); } } public void close() { logTextArea = null; } public boolean requiresLayout() { return true; } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/business/Environment.java0000644000175000017500000001255511162201146030510 0ustar twernertwerner/* * Created on 07-Nov-2007 * Copyright (C) 2007 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.business; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Hashtable; import java.util.Iterator; import java.util.ResourceBundle; import org.apache.log4j.Logger; import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; import org.dom4j.Node; import org.dom4j.io.OutputFormat; import org.dom4j.io.SAXReader; import org.dom4j.io.XMLWriter; import org.pdfsam.guiclient.GuiClient; import org.pdfsam.guiclient.configuration.Configuration; import org.pdfsam.guiclient.plugins.interfaces.AbstractPlugablePanel; import org.pdfsam.i18n.GettextResource; /** * Environment logic * @author Andrea Vacondio * */ public class Environment { private static final Logger log = Logger.getLogger(Environment.class.getPackage().getName()); private ResourceBundle i18nMessages; private Hashtable plugins; public Environment(Hashtable plugins){ this.plugins = plugins; this.i18nMessages = Configuration.getInstance().getI18nResourceBundle(); } /** * saves and environment to the output file * @param outFile * @param savePasswords true save passwords informations * @param selection selection information */ public void saveEnvironment(File outFile, boolean savePasswords, String selection){ try { if (outFile != null){ synchronized(Environment.class){ Document document = DocumentHelper.createDocument(); Element root = document.addElement("pdfsam_saved_jobs"); root.addAttribute("version", GuiClient.getVersion()); root.addAttribute("savedate", new SimpleDateFormat("dd-MMM-yyyy").format(new Date())); if(selection != null && selection.length()>0){ root.addAttribute("selection", selection); } for (Iterator plugsIterator = plugins.values().iterator();plugsIterator.hasNext();) { AbstractPlugablePanel plugablePanel = (AbstractPlugablePanel) plugsIterator.next(); Element node = (Element) root.addElement("plugin"); node.addAttribute("class", plugablePanel.getClass().getName()); node.addAttribute("name", plugablePanel.getPluginName()); plugablePanel.getJobNode(node, savePasswords); log.info(GettextResource.gettext(i18nMessages, plugablePanel.getPluginName()+ " node environment loaded.")); } BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(outFile)); OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("UTF-8"); XMLWriter xmlWriter = new XMLWriter(bos, format); xmlWriter.write(document); xmlWriter.flush(); xmlWriter.close(); } log.info(GettextResource.gettext(i18nMessages, "Environment saved.")); }else{ log.error(GettextResource.gettext(i18nMessages, "Error saving environment, output file is null.")); } } catch (Exception ex) { log.error(GettextResource.gettext(i18nMessages, "Error saving environment."),ex); } } public void saveEnvironment(File outFile, boolean savePasswords){ saveEnvironment(outFile,false, ""); } /** * saves and environment to the output file without saving passwords * @param outFile */ public void saveEnvironment(File outFile){ saveEnvironment(outFile,false); } /** * loads an environment from an input file * @param inputFile */ public void loadJobs(File inputFile) { if (inputFile != null && inputFile.exists() && inputFile.canRead()) { try { synchronized(Environment.class){ SAXReader reader = new SAXReader(); Document document = reader.read(inputFile); for (Iterator plugsIterator = plugins.values().iterator();plugsIterator.hasNext();) { AbstractPlugablePanel plugablePanel = (AbstractPlugablePanel) plugsIterator.next(); Node node = document.selectSingleNode("/pdfsam_saved_jobs/plugin[@class=\"" + plugablePanel.getClass().getName() + "\"]"); if(node == null){ //backwards compatibility node = document.selectSingleNode("/pdfsam_saved_jobs/plugin[@class=\"" + plugablePanel.getClass().getName().replaceAll("^org.pdfsam", "it.pdfsam") + "\"]"); } if(node != null){ plugablePanel.loadJobNode(node); } } log.info(GettextResource.gettext(i18nMessages, "Environment loaded.")); } } catch (Exception ex) { log.error(GettextResource.gettext(i18nMessages, "Error loading environment."),ex); } } else { log.error(GettextResource.gettext(i18nMessages, "Error loading environment from input file. "+inputFile)); } } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/business/listeners/0000755000175000017500000000000011035172274027351 5ustar twernertwerner././@LongLink0000000000000000000000000000014600000000000011566 Lustar rootrootpdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/business/listeners/LogActionListener.javapdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/business/listeners/LogActionListener.jav0000644000175000017500000000652711104613526033447 0ustar twernertwerner/* * Created on 06-Nov-2007 * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.business.listeners; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import java.io.FileWriter; import javax.swing.JFileChooser; import javax.swing.JTextPane; import org.apache.log4j.Logger; import org.pdfsam.guiclient.business.TextPaneAppender; import org.pdfsam.guiclient.configuration.Configuration; import org.pdfsam.guiclient.utils.filters.TxtFilter; import org.pdfsam.i18n.GettextResource; /** * Listener to the log actions * @author Andrea Vacondio * */ public class LogActionListener implements ActionListener { private static final Logger log = Logger.getLogger(LogActionListener.class.getPackage().getName()); public static final String CLEAR_LOG_ACTION = "clearlog"; public static final String SAVE_LOG_ACTION = "savelog"; public static final String SELECTALL_LOG_ACTION = "selectalllog"; private Configuration config; private JTextPane logTextArea; private JFileChooser fileChooser; public LogActionListener(JTextPane logTextArea){ this.config = Configuration.getInstance(); this.logTextArea = logTextArea; } public LogActionListener(){ this(TextPaneAppender.getTextPaneInstance()); } public void actionPerformed(ActionEvent arg0) { if(arg0.getActionCommand().equals(LogActionListener.CLEAR_LOG_ACTION)){ clearTextPane(); }else if(arg0.getActionCommand().equals(LogActionListener.SELECTALL_LOG_ACTION)){ selectAllTextPane(); }else if(arg0.getActionCommand().equals(LogActionListener.SAVE_LOG_ACTION)){ saveLog(); }else{ log.warn(GettextResource.gettext(config.getI18nResourceBundle(), "Unknown action.")); } } /** * clear the text of the log text pane */ private void clearTextPane(){ logTextArea.setText(""); } /** * select the text of the log text pane */ private void selectAllTextPane(){ logTextArea.selectAll(); logTextArea.requestFocus(); } /** * Save log text to file */ private void saveLog(){ if(fileChooser==null){ fileChooser = new JFileChooser(config.getDefaultWorkingDir()); fileChooser.setFileFilter(new TxtFilter(false)); } File chosenFile = null; if (fileChooser.showSaveDialog(logTextArea) == JFileChooser.APPROVE_OPTION) { chosenFile = fileChooser.getSelectedFile(); if (chosenFile != null) { try { FileWriter fileWriter = new FileWriter(chosenFile); fileWriter.write(logTextArea.getText()); fileWriter.flush(); fileWriter.close(); log.info(GettextResource.gettext(config.getI18nResourceBundle(), "Log saved.")); } catch (Exception e) { log.error("Error saving log file. ",e); } } } } } ././@LongLink0000000000000000000000000000015100000000000011562 Lustar rootrootpdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/business/listeners/EnterDoClickListener.javapdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/business/listeners/EnterDoClickListener.0000644000175000017500000000370011035172276033370 0ustar twernertwerner/* * Created on 23-Mar-2006 * * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.business.listeners; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import javax.swing.JButton; /** * Implements KeyListener to add to buttons. When "Enter" is pressed, it calls a click programmatically * @author Andrea Vacondio * @see java.awt.event.KeyListener * @see java.awt.event.KeyAdapter * */ public class EnterDoClickListener extends KeyAdapter { /** * Button to click */ private JButton button; /** * Constructor * * @param button Button to click */ public EnterDoClickListener(JButton button){ this.button = button; } /** * Invoked when a key has been pressed. */ public void keyPressed(KeyEvent e) { if (button != null){ if (e.getKeyCode() == KeyEvent.VK_ENTER){ button.doClick(); } } } /** * @return Returns the button. */ public JButton getButton() { return button; } /** * @param button The button to set. */ public void setButton(JButton button) { this.button = button; } } ././@LongLink0000000000000000000000000000014700000000000011567 Lustar rootrootpdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/business/listeners/ExitActionListener.javapdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/business/listeners/ExitActionListener.ja0000644000175000017500000000234511035172276033450 0ustar twernertwerner/* * Created on 26-Dec-2006 * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.business.listeners; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; /** * Listener for the exit action * @author a.vacondio */ public class ExitActionListener implements ActionListener{ public static final String EXIT_COMMAND = "exit"; public void actionPerformed(ActionEvent arg0) { if(arg0 != null){ if(ExitActionListener.EXIT_COMMAND.equals(arg0.getActionCommand())){ System.exit(0); } } } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/business/listeners/mediators/0000755000175000017500000000000011035172276031342 5ustar twernertwerner././@LongLink0000000000000000000000000000016400000000000011566 Lustar rootrootpdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/business/listeners/mediators/UpdateCheckerMediator.javapdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/business/listeners/mediators/UpdateCheck0000644000175000017500000001012511042140742033433 0ustar twernertwerner/* * Created on 27-Feb-2008 * Copyright (C) 2008 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.business.listeners.mediators; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.net.URL; import java.net.URLEncoder; import org.apache.log4j.Logger; import org.pdfsam.guiclient.GuiClient; import org.pdfsam.guiclient.configuration.Configuration; import org.pdfsam.guiclient.gui.panels.JStatusPanel; import org.pdfsam.guiclient.updates.UpdateManager; import org.pdfsam.i18n.GettextResource; /** * Update checker mediator * @author Andrea Vacondio */ public class UpdateCheckerMediator implements ActionListener { private JStatusPanel statusPanel = null; private final UpdateChecker updateChecker = new UpdateChecker(); private Thread t = null; public UpdateCheckerMediator(JStatusPanel statusPanel){ this.statusPanel = statusPanel; t = new Thread(updateChecker); } public void actionPerformed(ActionEvent e) { checkForUpdates(); } /** * Run the runnable to check if an update is available after a delay * @param delay * @param forceRecheck tells if a complete check have to be done. */ public void checkForUpdates(long delay, boolean forceRecheck){ updateChecker.setDelay(delay); updateChecker.setForceRecheck(forceRecheck); if(!t.isAlive()){ t = new Thread(updateChecker); t.start(); } } /** * Run the runnable to check if an update is available */ public void checkForUpdates(){ checkForUpdates(0, true); } /** * Runnable that checks for updates * @author Andrea Vacondio */ private class UpdateChecker implements Runnable{ private Logger log = null; private long delay = 0; private boolean forceRecheck = false; private UpdateManager updateManager = null; private final String destinationUrl = "http://www.pdfsam.org/check-version.php"; /** * @param delay the delay to set */ public void setDelay(long delay) { this.delay = delay; } /** * @param forceRecheck the forceRecheck to set */ public void setForceRecheck(boolean forceRecheck) { this.forceRecheck = forceRecheck; } /** * check for a new version available and, if there is one, updates the status bar. */ public void run() { try{ Thread.sleep(delay); URL url = new URL(destinationUrl+"?version="+URLEncoder.encode(GuiClient.getVersionType(),"UTF-8")+"&remoteversion="+URLEncoder.encode(GuiClient.getVersion(),"UTF-8")+"&branch="+URLEncoder.encode(GuiClient.getBranch(),"UTF-8")); if(updateManager == null){ updateManager = new UpdateManager(url); } updateManager.checkForNewVersion(forceRecheck); if(updateManager.isNewVersionAvailable()){ getLogger().info(GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"New version available.")); statusPanel.setNewAvailableVersion(updateManager.getAvailableVersion()); }else{ getLogger().info(GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"No new version available.")); } }catch(Exception ex){ getLogger().error(GettextResource.gettext(Configuration.getInstance().getI18nResourceBundle(),"Error: "), ex); } } private Logger getLogger(){ if(log == null){ log = Logger.getLogger(UpdateChecker.class.getPackage().getName()); } return log; } } } ././@LongLink0000000000000000000000000000016200000000000011564 Lustar rootrootpdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/business/listeners/mediators/EnvironmentMediator.javapdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/business/listeners/mediators/Environment0000644000175000017500000000720411162203266033567 0ustar twernertwerner/* * Created on 07-Nov-2007 * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.business.listeners.mediators; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import java.util.ResourceBundle; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JOptionPane; import org.apache.log4j.Logger; import org.pdfsam.guiclient.business.Environment; import org.pdfsam.guiclient.configuration.Configuration; import org.pdfsam.guiclient.utils.filters.XmlFilter; import org.pdfsam.i18n.GettextResource; /** * environment mediator * @author Andrea Vacondio * */ public class EnvironmentMediator implements ActionListener { private static final Logger log = Logger.getLogger(EnvironmentMediator.class.getPackage().getName()); public static final String SAVE_ENV_ACTION = "saveenv"; public static final String LOAD_ENV_ACTION = "loadenv"; private Environment environment; private ResourceBundle i18nMessages; private JFrame parent; private JFileChooser fileChooser; public EnvironmentMediator(Environment environment, JFrame parent) { super(); this.environment = environment; this.parent = parent; this.i18nMessages = Configuration.getInstance().getI18nResourceBundle(); } /** * @return the environment */ public Environment getEnvironment() { return environment; } /** * @param environment the environment to set */ public void setEnvironment(Environment environment) { this.environment = environment; } public void actionPerformed(ActionEvent e) { if(environment != null && e != null){ if(fileChooser==null){ fileChooser = new JFileChooser(Configuration.getInstance().getDefaultWorkingDir()); fileChooser.setFileFilter(new XmlFilter()); } int state = JFileChooser.CANCEL_OPTION; if(SAVE_ENV_ACTION.equals(e.getActionCommand())){ state = fileChooser.showSaveDialog(parent); }else{ state = fileChooser.showOpenDialog(parent); } if (state == JFileChooser.APPROVE_OPTION) { File selectedFile = fileChooser.getSelectedFile(); if(SAVE_ENV_ACTION.equals(e.getActionCommand())){ if(selectedFile.getName().toLowerCase().lastIndexOf(".xml") == -1){ selectedFile = new File(selectedFile.getParent(), selectedFile.getName()+".xml"); } int savePwd = JOptionPane.showConfirmDialog( parent, GettextResource.gettext(i18nMessages,"Save passwords informations (they will be readable opening the output file)?"), GettextResource.gettext(i18nMessages,"Confirm password saving"), JOptionPane.YES_NO_OPTION); environment.saveEnvironment(selectedFile, (savePwd == JOptionPane.YES_OPTION), null); }else if(LOAD_ENV_ACTION.equals(e.getActionCommand())){ environment.loadJobs(selectedFile); }else { log.warn(GettextResource.gettext(i18nMessages, "Unknown action.")); } } } } } ././@LongLink0000000000000000000000000000015300000000000011564 Lustar rootrootpdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/business/listeners/mediators/TreeMediator.javapdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/business/listeners/mediators/TreeMediato0000644000175000017500000000464011162202204033455 0ustar twernertwerner/* * Created on 09-Nov-2007 * Copyright (C) 2007 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.business.listeners.mediators; import java.awt.CardLayout; import javax.swing.JPanel; import javax.swing.event.TreeSelectionEvent; import javax.swing.event.TreeSelectionListener; import javax.swing.tree.DefaultMutableTreeNode; import org.pdfsam.guiclient.gui.frames.JMainFrame; import org.pdfsam.guiclient.gui.panels.JStatusPanel; import org.pdfsam.guiclient.plugins.interfaces.AbstractPlugablePanel; import org.pdfsam.guiclient.plugins.models.PluginDataModel; /** * Mediator among JTree, JStatusPanel, MainPanel and PluginsMap * @author Andrea Vacondio * */ public class TreeMediator implements TreeSelectionListener { private JMainFrame container; public TreeMediator(JMainFrame container){ this.container = container; } public void valueChanged(TreeSelectionEvent e) { JStatusPanel statusPanel = container.getStatusPanel(); JPanel plugsPanel = container.getMainPanel(); DefaultMutableTreeNode node = container.getTreePanel().getSelectedNode(); if (node != null && node.isLeaf()) { Object selectedObject = node.getUserObject(); if(selectedObject instanceof PluginDataModel){ PluginDataModel selectedPlug = (PluginDataModel)selectedObject; AbstractPlugablePanel panel = (AbstractPlugablePanel) container.getPluginsMap().get(selectedPlug); statusPanel.setText(selectedPlug.getName()); statusPanel.setIcon(panel.getIcon()); CardLayout cl = (CardLayout)(plugsPanel.getLayout()); cl.show(plugsPanel, selectedPlug.getName()); container.setFocusTraversalPolicy(panel.getFocusPolicy()); container.setMainPanelPreferredSize(panel.getPreferredSize()); } } } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/configuration/0000755000175000017500000000000011035172274026355 5ustar twernertwernerpdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/configuration/Configuration.java0000644000175000017500000002077011075405620032033 0ustar twernertwerner/* * Created on 21-Dec-2006 * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.configuration; import java.io.File; import java.net.URLDecoder; import java.util.ResourceBundle; import javax.swing.UIManager; import org.apache.log4j.Level; import org.apache.log4j.Logger; import org.pdfsam.console.business.ConsoleServicesFacade; import org.pdfsam.guiclient.business.TextPaneAppender; import org.pdfsam.guiclient.exceptions.ConfigurationException; import org.pdfsam.guiclient.l10n.LanguageLoader; import org.pdfsam.guiclient.utils.ThemeUtility; import org.pdfsam.guiclient.utils.xml.XMLConfig; import org.pdfsam.i18n.GettextResource; /** * Configuration Singleton * @author a.vacondio * */ public class Configuration{ private static final Logger log = Logger.getLogger(Configuration.class.getPackage().getName()); private static Configuration configObject; private ResourceBundle i18nMessages; private XMLConfig xmlConfigObject; private ConsoleServicesFacade consoleServicesFacade; private Level loggingLevel = Level.DEBUG; private boolean checkForUpdates = true; private boolean playSounds = true; private String mainJarPath = ""; private String defaultWorkingDir = null; private Configuration() { init(); } public static synchronized Configuration getInstance() { if (configObject == null){ configObject = new Configuration(); } return configObject; } /** * Sets the language ResourceBundle * @param i18nMessages ResourceBundle */ public synchronized void setI18nResourceBundle(ResourceBundle i18nMessages){ this.i18nMessages = i18nMessages; } /** * @return the language ResourceBundle */ public synchronized ResourceBundle getI18nResourceBundle(){ return i18nMessages; } /** * @return the XMLConfig */ public synchronized XMLConfig getXmlConfigObject() { return xmlConfigObject; } /** * sets the XMLConfig * @param xmlConfigObject */ public synchronized void setXmlConfigObject(XMLConfig xmlConfigObject) { this.xmlConfigObject = xmlConfigObject; } public Object clone() throws CloneNotSupportedException { throw new CloneNotSupportedException("Cannot clone configuration object."); } /** * @return the default environment file from the config.xml or null if nothing is set */ public File getDefaultEnv(){ File retVal = null; try{ String defaultEnv = xmlConfigObject.getXMLConfigValue("/pdfsam/settings/defaultjob"); if (defaultEnv != null && defaultEnv.length() > 0){ retVal = new File(defaultEnv); } }catch(Exception e){ log.warn(GettextResource.gettext(i18nMessages,"Unable to get the default environment informations.")); } return retVal; } /** * @return the ConsoleServicesFacade */ public ConsoleServicesFacade getConsoleServicesFacade() { return consoleServicesFacade; } /** * @return the loggingLevel */ public Level getLoggingLevel() { return loggingLevel; } /** * @return the mainJarPath */ public String getMainJarPath() { return mainJarPath; } /** * @return the checkForUpdates */ public boolean isCheckForUpdates() { return checkForUpdates; } /** * @return the defaultWorkingDir */ public String getDefaultWorkingDir() { return defaultWorkingDir; } private void init(){ try{ mainJarPath = new File(URLDecoder.decode(getClass().getProtectionDomain().getCodeSource().getLocation().getPath(), "UTF-8")).getParent(); log.info("Loading configuration.."); try{ xmlConfigObject = new XMLConfig(mainJarPath, true); }catch(ConfigurationException ce){ /** * 18-Mar-2008 * Bug fix #1909755 (not completely fixed) */ log.warn("Unable to find configuration file into "+mainJarPath); mainJarPath = System.getProperty("user.dir"); log.info("Looking for configuration file into "+mainJarPath); xmlConfigObject = new XMLConfig(mainJarPath, true); } consoleServicesFacade = new ConsoleServicesFacade(); //language setLanguage(); //look and feel setLookAndFeel(); //log init setLoggingLevel(); //check for updates init setCheckForUpdates(); //default working dir setDefaultWorkingDir(); //play sounds init setPlaySounds(); }catch(Exception e){ log.fatal(e); } } /** * sets the look and feel * @throws Exception */ private void setLookAndFeel() throws Exception{ log.info(GettextResource.gettext(i18nMessages,"Setting look and feel...")); int lookAndFeelIntValue = Integer.parseInt(xmlConfigObject.getXMLConfigValue("/pdfsam/settings/lookAndfeel/LAF")); String loogAndFeel = ThemeUtility.getLAF(lookAndFeelIntValue); if (ThemeUtility.isPlastic(lookAndFeelIntValue)){ ThemeUtility.setTheme(Integer.parseInt(xmlConfigObject.getXMLConfigValue("/pdfsam/settings/lookAndfeel/theme"))); } UIManager.setLookAndFeel(loogAndFeel); } /** * sets the ResourceBoudle for the selected language */ private void setLanguage(){ log.info("Getting language..."); String language; try{ language = xmlConfigObject.getXMLConfigValue("/pdfsam/settings/i18n"); }catch(Exception e){ log.warn("Unable to get language ResourceBudle, setting the default language.", e); language = LanguageLoader.DEFAULT_LANGUAGE; } //get bundle i18nMessages = (new LanguageLoader(language, "org.pdfsam.i18n.resources.Messages").getBundle()); } /** * sets the logging threshold for the appender */ private void setLoggingLevel(){ log.info(GettextResource.gettext(i18nMessages,"Setting logging level...")); int logLevel; try { String logLev = xmlConfigObject.getXMLConfigValue("/pdfsam/settings/loglevel"); if(logLev != null && logLev.length()>0){ logLevel = Integer.parseInt(logLev); }else{ log.warn(GettextResource.gettext(i18nMessages,"Unable to find log level, setting to default level (DEBUG).")); logLevel = Level.DEBUG_INT; } TextPaneAppender appender = (TextPaneAppender)Logger.getLogger("org.pdfsam").getAppender("JLogPanel"); loggingLevel = Level.toLevel(logLevel,Level.DEBUG); log.info(GettextResource.gettext(i18nMessages,"Logging level set to ")+loggingLevel); appender.setThreshold(loggingLevel); } catch (Exception e) { log.warn(GettextResource.gettext(i18nMessages,"Unable to set logging level."), e); } } /** * sets the default working directory */ private void setDefaultWorkingDir(){ try { String defWorkingDir = xmlConfigObject.getXMLConfigValue("/pdfsam/settings/default_working_dir"); if(defWorkingDir != null && defWorkingDir.length()>0){ defaultWorkingDir = defWorkingDir; } } catch (Exception e) { //default defaultWorkingDir = null; } } /** * sets the configuration about the updates check */ private void setCheckForUpdates(){ try { String checkUpdates = xmlConfigObject.getXMLConfigValue("/pdfsam/settings/checkupdates"); if(checkUpdates != null && checkUpdates.length()>0){ checkForUpdates = Integer.parseInt(checkUpdates)== 1; } } catch (Exception e) { //default checkForUpdates = true; } } /** * sets the configuration about the sounds */ private void setPlaySounds(){ try { String playSoundsString = xmlConfigObject.getXMLConfigValue("/pdfsam/settings/playsounds"); if(playSoundsString != null && playSoundsString.length()>0){ playSounds = Integer.parseInt(playSoundsString)== 1; } } catch (Exception e) { //default playSounds = true; } } /** * @return the playSounds */ public boolean isPlaySounds() { return playSounds; } /** * @param playSounds the playSounds to set */ public void setPlaySounds(boolean playSounds) { this.playSounds = playSounds; } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/l10n/0000755000175000017500000000000011035172274024260 5ustar twernertwernerpdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/l10n/LanguageLoader.java0000644000175000017500000000606411035172274030003 0ustar twernertwerner/* * Created on 29-Jun-2006 * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.l10n; import java.util.Locale; import java.util.ResourceBundle; /** * Loader for the i18n resource bundle * @author Andrea Vacondio */ public class LanguageLoader { //const public static final String DEFAULT_LANGUAGE = "en_GB"; public final Locale DEFAULT_LOCALE = Locale.UK; //vars private String bundleName; private Locale currentLocale; /** * Creates a loader for the ResourceBundle * * @param languageCode language code "en_GB", "it_IT", "pt_BR"... * @param bundle string rapresenting the bundle name */ public LanguageLoader(String languageCode, String bundle){ bundleName = bundle; String[] i18nInfos = languageCode.split("_"); try{ if(i18nInfos.length>1){ currentLocale = new Locale (i18nInfos[0].toLowerCase(), i18nInfos[1].toUpperCase()); }else{ currentLocale = new Locale (i18nInfos[0].toLowerCase()); } }catch(Exception ex){ currentLocale = DEFAULT_LOCALE; } } /** * @return the ResourceBundle associated with the bundleName and current_local. If * an exception is rised it tries to return bundleName but default_locale */ public ResourceBundle getBundle(){ try{ return ResourceBundle.getBundle(bundleName, currentLocale); }catch(Exception exc){ return ResourceBundle.getBundle(bundleName, DEFAULT_LOCALE); } } /** * @return the ResourceBundle associated with the bundleName and current_local. If * an exception is rised it tries to return bundleName but default_locale */ public ResourceBundle getBundle(ClassLoader cl){ try{ return ResourceBundle.getBundle(bundleName, currentLocale, cl); }catch(Exception exc){ return ResourceBundle.getBundle(bundleName, DEFAULT_LOCALE, cl); } } /** * @param bundleName The bundleName to set. */ public void setBundleName(String bundleName) { this.bundleName = bundleName; } /** * @param currentLocale The locale to set. */ public void setLocale(Locale currentLocale) { this.currentLocale = currentLocale; } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/exceptions/0000755000175000017500000000000011035172264025666 5ustar twernertwernerpdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/exceptions/LoadJobException.java0000644000175000017500000000237411035172264031730 0ustar twernertwerner/* * Created on 19-Oct-2006 * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.exceptions; /** * Exception thrown while loading environment * @author Andrea Vacondio * */ public class LoadJobException extends Exception { private static final long serialVersionUID = 2138783869429895369L; public LoadJobException() { super(); } public LoadJobException(String arg0, Throwable arg1) { super(arg0, arg1); } public LoadJobException(String arg0) { super(arg0); } public LoadJobException(Throwable arg0) { super(arg0); } }pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/exceptions/ConfigurationException.java0000644000175000017500000000231111035172264033214 0ustar twernertwerner/* * Created on 18-Mar-2008 * Copyright (C) 2008 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.exceptions; public class ConfigurationException extends Exception { private static final long serialVersionUID = 7026080700239041588L; public ConfigurationException() { } public ConfigurationException(String message) { super(message); } public ConfigurationException(Throwable cause) { super(cause); } public ConfigurationException(String message, Throwable cause) { super(message, cause); } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/exceptions/SaveJobException.java0000644000175000017500000000236411035172264031746 0ustar twernertwerner/* * Created on 18-Oct-2006 * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.exceptions; /** * Exception thrown while saving job * @author Andrea Vacondio * */ public class SaveJobException extends Exception { private static final long serialVersionUID = -4149496837957062920L; public SaveJobException() { super(); } public SaveJobException(String arg0, Throwable arg1) { super(arg0, arg1); } public SaveJobException(String arg0) { super(arg0); } public SaveJobException(Throwable arg0) { super(arg0); } }pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/exceptions/CheckForUpdateException.java0000644000175000017500000000231311035172264033236 0ustar twernertwerner/* * Created on 26-Feb-2008 * Copyright (C) 2008 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.exceptions; public class CheckForUpdateException extends Exception { private static final long serialVersionUID = -5334324806135020784L; public CheckForUpdateException() { super(); } public CheckForUpdateException(String arg0, Throwable arg1) { super(arg0, arg1); } public CheckForUpdateException(String arg0) { super(arg0); } public CheckForUpdateException(Throwable arg0) { super(arg0); } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/exceptions/PluginException.java0000644000175000017500000000226611035172264031654 0ustar twernertwerner/* * Created on 03-Nov-2007 * Copyright (C) 2007 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.exceptions; /** * Plugin Exception * @author Andrea Vacondio */ public class PluginException extends Exception { private static final long serialVersionUID = 4102211401228993071L; public PluginException() { super(); } public PluginException(String arg0, Throwable arg1) { super(arg0, arg1); } public PluginException(String arg0) { super(arg0); } public PluginException(Throwable arg0) { super(arg0); } } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/plugins/0000755000175000017500000000000011035172264025166 5ustar twernertwernerpdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/plugins/interfaces/0000755000175000017500000000000011035172264027311 5ustar twernertwerner././@LongLink0000000000000000000000000000015200000000000011563 Lustar rootrootpdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/plugins/interfaces/AbstractPlugablePanel.javapdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/plugins/interfaces/AbstractPlugablePanel0000644000175000017500000000501311065236360033433 0ustar twernertwerner/* * Created on 17-Oct-2006 * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.plugins.interfaces; import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.JPanel; import javax.swing.border.EtchedBorder; import org.pdfsam.guiclient.configuration.Configuration; /** * Abstract class for plugin * @author Andrea Vacondio * */ public abstract class AbstractPlugablePanel extends JPanel implements Plugable{ private static final long serialVersionUID = -3329925841681106750L; private String panelIcon = ""; private Configuration config; protected static final String PDF_EXTENSION = "pdf"; //protected static final String PDF_EXTENSION_REGEXP = "(?i)([^.]*[\\.]*)+\\.+("+PDF_EXTENSION+")$"; protected static final String PDF_EXTENSION_REGEXP = "(?i)(.)+(\\."+PDF_EXTENSION+")$"; protected static final String TRUE = "true"; protected static final String FALSE = "false"; public AbstractPlugablePanel(){ config = Configuration.getInstance(); init(); } public Icon getIcon() { ImageIcon icon = null; try{ if(panelIcon != null && (panelIcon.trim().length() >0)){ icon = new ImageIcon(this.getClass().getResource(panelIcon)); } }catch (Exception e){ icon = null; } return icon; } /** * Sets the icon resource name for this plugin * @param panelIcon */ public void setPanelIcon(String panelIcon) { this.panelIcon = panelIcon; } /** * @return the config */ public Configuration getConfig() { return config; } /** * Common initialization */ private void init(){ setBorder(new EtchedBorder(EtchedBorder.LOWERED)); setFocusable(false); } }pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/plugins/interfaces/Plugable.java0000644000175000017500000000405211035172266031712 0ustar twernertwerner/* * Created on 06-Feb-2006 * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.plugins.interfaces; import java.awt.FocusTraversalPolicy; import javax.swing.Icon; import org.dom4j.Node; import org.pdfsam.guiclient.exceptions.LoadJobException; import org.pdfsam.guiclient.exceptions.SaveJobException; /** * Provides an interface to plugable panels * @author Andrea Vacondio */ public interface Plugable{ /** * @return Plugin Author Name */ public String getPluginAuthor(); /** * @return Plugin Name */ public String getPluginName(); /** * @return Plugin version */ public String getVersion(); /** * @return Plugin FocusTraversalPolicy */ public FocusTraversalPolicy getFocusPolicy(); /** * @param arg0 to write to * @param savePasswords if true the plugin should return a Node containing passwords * @return Node modified with save job infos */ public Node getJobNode(Node arg0, boolean savePasswords) throws SaveJobException ; /** * @param arg0 to load job infos */ public void loadJobNode(Node arg0) throws LoadJobException ; /** * @return the icon for the tabbed panel */ public Icon getIcon(); /** * reset the panel before to load an environment */ public void resetPanel(); } pdfsam-1.1.4/pdfsam-maine-br1/src/java/org/pdfsam/guiclient/plugins/PlugInsLoader.java0000644000175000017500000001442311157707662030560 0ustar twernertwerner/* * Created on 12-Nov-2007 * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.guiclient.plugins; import java.io.File; import java.net.URL; import java.net.URLClassLoader; import java.util.ArrayList; import java.util.Hashtable; import java.util.Iterator; import org.apache.log4j.Logger; import org.pdfsam.guiclient.configuration.Configuration; import org.pdfsam.guiclient.exceptions.PluginException; import org.pdfsam.guiclient.plugins.interfaces.AbstractPlugablePanel; import org.pdfsam.guiclient.plugins.models.PluginDataModel; import org.pdfsam.guiclient.utils.filters.JarFilter; import org.pdfsam.guiclient.utils.xml.XMLConfig; import org.pdfsam.i18n.GettextResource; /** * Loader for plugins. This tries to get the plugins directory if no pluginsDirectory is given. * @author Andrea Vacondio */ public class PlugInsLoader{ private static final Logger log = Logger.getLogger(PlugInsLoader.class.getPackage().getName()); private File pluginsDirectory; private File[] pluginsList; private Configuration config; private static final Class PLUGIN_SUPER_CLASS = org.pdfsam.guiclient.plugins.interfaces.AbstractPlugablePanel.class; /** * Constructor * @param pluginsDirectory Plug ins absolute path. If it's null or empty it tries to find the plugins dir. * @throws PluginLoadException */ public PlugInsLoader(String pluginsDirectory) throws PluginException { config = Configuration.getInstance(); if (pluginsDirectory != null && pluginsDirectory.length() >0){ this.pluginsDirectory = new File(pluginsDirectory); } else { try{ this.pluginsDirectory = new File(config.getMainJarPath(), "plugins"); }catch (Exception e){ throw new PluginException(GettextResource.gettext(config.getI18nResourceBundle(),"Error getting plugins directory."), e); } } pluginsList = getPlugInsList(); } /** * Get the list of directories under the plugins directory * @return List of plugin directories * @throws PluginLoadException */ private File[] getPlugInsList()throws PluginException { ArrayList retVal = new ArrayList(); if(pluginsDirectory != null){ if(pluginsDirectory.isDirectory() && pluginsDirectory.canRead()){ try{ File[] pluginsSubDirs = pluginsDirectory.listFiles(); for (int i = 0 ; i < pluginsSubDirs.length ; i++ ) { if (pluginsSubDirs[i].isDirectory()){ retVal.add(pluginsSubDirs[i]); } } }catch (Exception e){ throw new PluginException("Error getting plugins list",e); } }else{ throw new PluginException(GettextResource.gettext(config.getI18nResourceBundle(),"Cannot read plugins directory ")+pluginsDirectory.getAbsolutePath()); } }else{ throw new PluginException(GettextResource.gettext(config.getI18nResourceBundle(),"Plugins directory is null.")); } return (File[])retVal.toArray(new File[retVal.size()]); } /** * load the plugins and return * @return a map(k,value) where k is the pluginDataModel and value is the instance * @throws PluginException */ public Hashtable loadPlugins() throws PluginException { Hashtable retMap = new Hashtable(); URLClassLoader urlClassLoader = null; ArrayList urlList = new ArrayList(); ArrayList classList = new ArrayList(); //crates a list of URL and classes for(int i=0; i Return column name * * @param col Column number * @return Column name */ public String getColumnName(int col) { String retVal = ""; try{ retVal = columnNames[col]; } catch (Exception e){ retVal = null; } return retVal; } /** * @param columnNames The columnNames to set. */ public void setColumnNames(String[] columnNames) { this.columnNames = columnNames; } } pdfsam-1.1.4/pdfsam-console/0000755000175000017500000000000011207247416015643 5ustar twernertwernerpdfsam-1.1.4/pdfsam-console/ant/0000755000175000017500000000000010722522302016414 5ustar twernertwernerpdfsam-1.1.4/pdfsam-console/ant/build.properties0000644000175000017500000000071611224647664021656 0ustar twernertwerner#where classes are compiled, jars distributed, javadocs created and release created build.dir=f:/build2 #libraries libs.dir=F:/pdfsam/workspace-enhanced/libraries log4j.jar.name=log4j-1.2.15 itext.jar.name=iText-2.1.7 dom4j.jar.name=dom4j-1.6.1 jaxen.jar.name=jaxen-1.1 emp4j.jar.name=emp4j-1.0.1 bcmail.jar.name=bcmail-jdk14-138 bcprov.jar.name=bcprov-jdk14-138 jcmdline.jar.name=pdfsam-jcmdline-1.0.3 pdfsam-console.jar.name=pdfsam-console-2.0.6epdfsam-1.1.4/pdfsam-console/ant/build.xml0000644000175000017500000000776611224650006020256 0ustar twernertwerner PDF Split And Merge Console pdfsam-1.1.4/pdfsam-console/etc/0000755000175000017500000000000011207247430016412 5ustar twernertwernerpdfsam-1.1.4/pdfsam-console/etc/console-exc-msgs.xml0000644000175000017500000001365311177611574022344 0ustar twernertwerner pdfsam-1.1.4/pdfsam-console/etc/console-log4j.xml0000644000175000017500000000111511205261626021612 0ustar twernertwerner pdfsam-1.1.4/pdfsam-console/etc/emp4j.xml0000644000175000017500000000034710722337226020163 0ustar twernertwerner pdfsam-1.1.4/pdfsam-console/apidocs/0000755000175000017500000000000011225360206017256 5ustar twernertwernerpdfsam-1.1.4/pdfsam-console/bin/0000755000175000017500000000000010714162474016415 5ustar twernertwernerpdfsam-1.1.4/pdfsam-console/bin/run-console.sh0000644000175000017500000000301711205274254021212 0ustar twernertwerner#!/bin/sh ### ====================================================================== ### ## ## ## pdfsam Bootstrap Script ## ## ## ### ====================================================================== ### warn() { echo "${PROGNAME}: $*" } die() { warn $* exit 1 } DIRNAME="../lib/" CONSOLEJAR="$DIRNAME/pdfsam-console-2.0.5e.jar" # Setup the classpath if [ ! -f "$CONSOLEJAR" ]; then die "Missing required file: $CONSOLEJAR" fi CONSOLE_CLASSPATH="$CONSOLEJAR" # Setup the JVM if [ "x$JAVA" = "x" ]; then if [ "x$JAVA_HOME" != "x" ]; then JAVA="$JAVA_HOME/bin/java" else JAVA="java" fi fi # Setup JBoss sepecific properties JAVA_OPTS="-Dlog4j.configuration=console-log4j.xml" # Display our environment echo "=========================================================================" echo "" echo " pdfsam console" echo "" echo " available properties:" echo " pdfsam.log.console.level" echo " pdfsam.log.file.level" echo " pdfsam.log.file.filename" echo "" echo " JAVA: $JAVA" echo "" echo " JAVA_OPTS: $JAVA_OPTS" echo "" echo " CLASSPATH: $CONSOLE_CLASSPATH" echo "" echo "=========================================================================" echo "" # Execute the JVM in the foreground "$JAVA" $JAVA_OPTS \ -classpath "$CONSOLE_CLASSPATH" \ org.pdfsam.console.ConsoleClient "$@"pdfsam-1.1.4/pdfsam-console/bin/run-console.bat0000644000175000017500000000246011205274242021344 0ustar twernertwerner@echo off set DIRNAME=..\lib\ set CONSOLEJAR=%DIRNAME%\pdfsam-console-2.0.5e.jar if exist "%CONSOLEJAR%" goto FOUND_CONSOLE_JAR echo Could not locate %CONSOLEJAR%. Please check that you are in the echo bin directory when running this script. goto END :FOUND_CONSOLE_JAR if not "%JAVA_HOME%" == "" goto HOME_SET set JAVA=java echo JAVA_HOME is not set. Unexpected results may occur. echo Set JAVA_HOME to the directory of your local JDK to avoid this message. goto SKIP_HOME_SET :HOME_SET set JAVA=%JAVA_HOME%\bin\java :SKIP_HOME_SET set JAVA_OPTS= -Dlog4j.configuration=console-log4j.xml set CONSOLE_CLASSPATH=%CONSOLEJAR% echo =============================================================================== echo. echo pdfsam console echo. echo available properties: echo pdfsam.log.console.level echo pdfsam.log.file.level echo pdfsam.log.file.filename echo. echo JAVA: %JAVA% echo. echo JAVA_OPTS: %JAVA_OPTS% echo. echo CLASSPATH: %CONSOLE_CLASSPATH% echo. echo =============================================================================== echo. :RESTART @echo on "%JAVA%" %JAVA_OPTS% -classpath "%CONSOLE_CLASSPATH%" org.pdfsam.console.ConsoleClient %* @echo off if ERRORLEVEL 10 goto RESTART :END if "%NOPAUSE%" == "" pause :END_NO_PAUSEpdfsam-1.1.4/pdfsam-console/src/0000755000175000017500000000000010712700454016426 5ustar twernertwernerpdfsam-1.1.4/pdfsam-console/src/java/0000755000175000017500000000000010712700114017340 5ustar twernertwernerpdfsam-1.1.4/pdfsam-console/src/java/org/0000755000175000017500000000000010712700114020127 5ustar twernertwernerpdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/0000755000175000017500000000000010712700114021401 5ustar twernertwernerpdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/0000755000175000017500000000000010712700114023043 5ustar twernertwernerpdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/ConsoleClient.java0000644000175000017500000001046711205273636026473 0ustar twernertwerner/* * Created on 02-Nov-2007 * Copyright (C) 2007 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console; import org.apache.log4j.ConsoleAppender; import org.apache.log4j.FileAppender; import org.apache.log4j.Level; import org.apache.log4j.Logger; import org.apache.log4j.PatternLayout; import org.pdfsam.console.business.ConsoleServicesFacade; import org.pdfsam.console.business.dto.commands.AbstractParsedCommand; /** * Shell client for the console * @author Andrea Vacondio * */ public class ConsoleClient { private static final Logger log = Logger.getLogger(ConsoleClient.class.getPackage().getName()); //config properties private static final String consoleLogLevelProperty = "pdfsam.log.console.level"; private static final String fileLogLevelProperty = "pdfsam.log.file.level"; private static final String filenameLogLevelProperty = "pdfsam.log.file.filename"; private static final String consoleAppenderName = "CONSOLE"; private static ConsoleServicesFacade serviceFacade; /** * @param args */ public static void main(String[] args) { initLoggingFramework(); try{ if(args==null || args.length==0){ args = new String[]{"-help"}; } serviceFacade = new ConsoleServicesFacade(); if (serviceFacade != null){ AbstractParsedCommand parsedCommand = serviceFacade.parseAndValidate(args); if(parsedCommand != null){ serviceFacade.execute(parsedCommand); } }else{ log.fatal("Unable to reach services, service facade is null."); } }catch(Throwable t){ log.fatal("Error executing ConsoleClient", t); } } /** * initialization of the logging framework */ private static void initLoggingFramework(){ try{ String consoleLevel = System.getProperty(consoleLogLevelProperty, "DEBUG"); String fileLevel = System.getProperty(fileLogLevelProperty, "DEBUG"); String fileName = System.getProperty(filenameLogLevelProperty); //console appender level configuration ConsoleAppender consoleAppender = (ConsoleAppender)Logger.getRootLogger().getAppender(consoleAppenderName); if(consoleAppender != null){ Level consoleThreshold = Level.toLevel(consoleLevel,Level.DEBUG); consoleAppender.setThreshold(consoleThreshold); log.debug("Console log level set to "+consoleThreshold); } if(fileName != null){ PatternLayout layout = new PatternLayout("%d{ABSOLUTE} %-5p %x %m%n"); FileAppender fileAppender = new FileAppender(layout, fileName, false); Level fileThreshold = Level.toLevel(fileLevel,Level.DEBUG); fileAppender.setThreshold(fileThreshold); Logger.getRootLogger().addAppender(fileAppender); log.debug("Added fileAppender ("+fileName+") at level "+fileThreshold); } }catch(Exception e){ System.err.println("Error configuring logging framework: "+e.getMessage()); } } } pdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/utils/0000755000175000017500000000000011170155062024210 5ustar twernertwernerpdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/utils/FilenameComparator.java0000644000175000017500000000455611175057600030641 0ustar twernertwerner/* * Created on 27-Jan-2009 * Copyright (C) 2009 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.utils; import java.io.File; import java.io.Serializable; import java.util.Comparator; /** * Comparator for the file names * @author Andrea Vacondio * */ public class FilenameComparator implements Comparator, Serializable { private static final long serialVersionUID = 6767839068739066392L; public int compare(Object arg0, Object arg1) { if (arg0 == null || arg1 == null) { throw new NullPointerException("Input files must not be null."); } if(!(arg0 instanceof File) || !(arg1 instanceof File)){ throw new ClassCastException("Input arguments must be File."); } return ((File)arg0).compareTo((File)arg1); } } pdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/utils/FileUtility.java0000644000175000017500000001737611134626460027341 0ustar twernertwerner/* * Created on 21-oct-2007 * Copyright (C) 2006 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.utils; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.nio.MappedByteBuffer; import java.nio.channels.FileChannel; import java.util.ArrayList; import java.util.Collection; import java.util.Random; import org.apache.log4j.Logger; import org.pdfsam.console.business.dto.PdfFile; /** * Utility class for file handling * @author Andrea Vacondio * */ public class FileUtility { private static final Logger log = Logger.getLogger(FileUtility.class.getPackage().getName()); public static final String BUFFER_NAME = "PDFsamTMPbuffer"; /** * Generates a not existing temporary file * @param filePath path where the temporary file is created * @return a temporary file */ public static File generateTmpFile(String filePath){ log.debug("Creating temporary file.."); File retVal = null; boolean alreadyExists = true; int enthropy = 0; String fileName = ""; // generates a random 4 char string StringBuffer randomString = new StringBuffer(); Random random = new Random(); for (int i = 0; i < 5; i++) { char ascii = (char) ((random.nextInt(26)) + 'A'); randomString.append(ascii); } while(alreadyExists){ fileName = FileUtility.BUFFER_NAME+randomString+Integer.toString(++enthropy)+".pdf"; File tmpFile = new File(filePath+File.separator+fileName); if (!(alreadyExists = tmpFile.exists())){ retVal = tmpFile; } } return retVal; } /** * @param filename filename or directory name * @return a random file generated in directory or in the containing directory of filename */ public static File generateTmpFile(File filename){ File retVal = null; if(filename != null){ if(filename.isDirectory()){ retVal = generateTmpFile(filename.getPath()); }else{ retVal = generateTmpFile(filename.getParent()); } } return retVal; } /** * rename temporary file to output file * @param tmpFile temporary file to rename * @param outputFile file to rename to * @param overwrite overwrite existing file */ public static boolean renameTemporaryFile(File tmpFile, File outputFile, boolean overwrite){ boolean retVal = false; if(tmpFile != null && outputFile != null){ try{ if (outputFile.exists()){ //check if overwrite is allowed if (overwrite){ if(outputFile.delete()){ retVal = renameFile(tmpFile, outputFile); }else{ log.error("Unable to overwrite output file, a temporary file has been created ("+tmpFile.getName()+")."); } }else{ log.error("Cannot overwrite output file (overwrite is false), a temporary file has been created ("+tmpFile.getName()+")."); } }else{ retVal = renameFile(tmpFile, outputFile); } } catch(Exception e){ log.error("Exception renaming "+tmpFile.getName()+" to "+outputFile.getName(),e); } }else{ log.error("Exception renaming temporary file, source or destination are null."); } return retVal; } /** * Used to rename * @param tmpFile * @param outputFile * @return true if renamed correctly */ private static boolean renameFile(File tmpFile, File outputFile) throws Exception{ boolean retVal = tmpFile.renameTo(outputFile); if(!retVal){ log.error("Unable to rename temporary file "+tmpFile.getName()+" to "+outputFile.getName()+"."); } return retVal; } /** * deletes the file * @param tmpFile * @return true if file is deleted */ public static boolean deleteFile(File tmpFile){ boolean retVal = false; try{ if(!tmpFile.delete()){ log.error("Unable to delete file "+tmpFile.getName()); } }catch(Exception e){ log.error("Unable to delete file "+tmpFile.getName(), e); } return retVal; } /** * copy source to dest * @param source * @param dest * @throws IOException */ public static void copyFile(File source, File dest) { FileChannel in = null; FileChannel out = null; try { in = new FileInputStream(source).getChannel(); out = new FileOutputStream(dest).getChannel(); long size = in.size(); MappedByteBuffer buf = in.map(FileChannel.MapMode.READ_ONLY, 0, size); out.write(buf); if (in != null){ in.close(); } if (out != null){ out.close(); } } catch(Exception e){ log.error("Unable to copy "+source+" to "+dest); } } /** * Mapping from jcmdline.dto.PdfFile to org.pdfsam.console.business.dto.PdfFile * @param pdfFile * @return a PdfFile */ public static PdfFile getPdfFile(jcmdline.dto.PdfFile pdfFile){ return new PdfFile(pdfFile.getFile(), pdfFile.getPassword()); } /** * Mapping from an array of jcmdline.dto.PdfFile to an array of org.pdfsam.console.business.dto.PdfFile * @param pdfFiles * @return a PdfFile[] */ public static PdfFile[] getPdfFiles(jcmdline.dto.PdfFile[] pdfFiles){ ArrayList retVal = new ArrayList(); for (int i = 0; i|]"; private String prefix = ""; private String fileName = ""; private int currentPrefixType = SIMPLE_PREFIX; /** * * @param prefix prefix to use. (Can be empty) * @param fileName Original file name * @throws ConsoleException if the original fileName in empty or null */ public PrefixParser(String prefix, String fileName) throws ConsoleException{ if (prefix != null){ this.prefix = prefix; if(prefix.indexOf(TIMESTAMP_STRING) > -1){ currentPrefixType |= TIMESTAMP; } if(prefix.indexOf(BASENAME_STRING) > -1){ currentPrefixType |= BASENAME; } if(prefix.indexOf(BOOKMARK_NAME_STRING) > -1){ currentPrefixType |= BOOKMARK_NAME; } if(prefix.matches(CURRENT_PAGE_REGX)){ currentPrefixType |= CURRENT_PAGE; } if(prefix.matches(FILE_NUMBER_REGX)){ currentPrefixType |= FILE_NUMBER; } } if(fileName != null && fileName.length() > 0){ //check if the filename contains '.' and it's at least in second position (Ex. a.pdf) if(fileName.lastIndexOf('.') > 1){ this.fileName = fileName.substring(0, fileName.lastIndexOf('.')); }else{ this.fileName = fileName; } }else{ throw new ConsoleException(ConsoleException.EMPTY_FILENAME); } } /** * Generates the filename depending on the type of prefix. If it contains "[CURRENTPAGE]","[TIMESTAMP]","[BOOKMARK_NAME]" or "[FILENUMBER]" it performs variable substitution. * @param request input parameter * @return filename generated */ public String generateFileName(FileNameRequest request){ String retVal = ""; if(request != null && !request.isEmpty()){ if(isComplexPrefix(request)){ retVal = generateSimpleFileName(true); if((currentPrefixType & BOOKMARK_NAME)==BOOKMARK_NAME && (request.getBookmarkName()!=null) && (request.getBookmarkName().length()>0)){ retVal = applyBookmarkname(retVal, request.getBookmarkName()); } if((currentPrefixType & CURRENT_PAGE)==CURRENT_PAGE && request.getPageNumber()!=null){ retVal = applyPagenumber(retVal, request.getPageNumber()); } if((currentPrefixType & FILE_NUMBER)==FILE_NUMBER && request.getFileNumber()!=null){ retVal = applyFilenumber(retVal, request.getFileNumber()); } }else{ retVal = generateSimpleFileName(fileName, false); if(request.getPageNumber()!=null){ retVal = getFileNumberFormatter(request.getPageNumber()).format(request.getPageNumber().intValue())+"_"+retVal; } } }else{ retVal = generateSimpleFileName(fileName, isComplexPrefix()); } return applyExtension(retVal); } /** * Generates the filename depending on the type of prefix. If it contains "[TIMESTAMP]" or "[BASENAME]" it performs variable substitution. * @return filename generated */ public String generateFileName(){ return generateFileName(new FileNameRequest()); } /** * If it contains "[CURRENTPAGE]" and request.getPageNumber()!=null or it contains "[TIMESTAMP]" or it contains "[BOOKMARK_NAME]" and * request.getBookmarkName()!=null or it contains "[FILENUMBER]" and request.getFileNumber()!=null it's a complex prefix. * @param request * @return true if it's a complex prefix */ private boolean isComplexPrefix(FileNameRequest request){ boolean retVal = false; retVal = ((currentPrefixType & BOOKMARK_NAME)==BOOKMARK_NAME && (request.getBookmarkName()!=null) && (request.getBookmarkName().length()>0)) || ((currentPrefixType & CURRENT_PAGE)==CURRENT_PAGE && request.getPageNumber()!=null) || ((currentPrefixType & FILE_NUMBER)==FILE_NUMBER && request.getFileNumber()!=null) || isComplexPrefix(); return retVal; } /** * * @return true if the prefix contains "[TIMESTAMP]" */ private boolean isComplexPrefix(){ return ((currentPrefixType & TIMESTAMP)==TIMESTAMP); } /** * Generates the filename depending on the type of prefix. * If performSubstitution is true it performs variable substitution replacing [TIMESTAMP] and [BASENAME] when necessary, if not the returned value * is prefix+defaultPosponedName * @param defaultPostponedName * @param performSubstitution if true perform substitution * @return filename generated */ private String generateSimpleFileName(String defaultPostponedName, boolean performSubstitution){ String retVal = prefix; if(performSubstitution){ if((currentPrefixType & TIMESTAMP)==TIMESTAMP){ retVal = applyTimestamp(retVal); } if((currentPrefixType & BASENAME)==BASENAME){ retVal = applyFilename(retVal, fileName); } }else{ retVal += defaultPostponedName; } return retVal; } /** * Generates the filename depending on the type of prefix. * If performSubstitution is true it performs variable substitution replacing [TIMESTAMP] and [BASENAME] when necessary, if not the returned value * is {@link PrefixParser#prefix} * @param performSubstitution if true perform substitution * @return filename generated */ private String generateSimpleFileName(boolean performSubstitution){ return generateSimpleFileName("", performSubstitution); } /** * Applies the PDF extension to the input string * @param arg0 * @return */ private String applyExtension(String arg0){ String retVal = arg0; if(arg0!=null && !arg0.endsWith(PDF_EXTENSION)){ retVal += PDF_EXTENSION; } return retVal; } /** * Apply FILE_NUMBER_REGX variable substitution to the input argument * @param arg0 * @param pageNumber * @return */ private String applyFilenumber(String arg0, Integer fileNumber){ String retVal = arg0; if(fileNumber!=null){ String numberPatter = ""; String startingValue = ""; Matcher m = Pattern.compile(FILE_NUMBER_REGX).matcher(arg0); if(m.matches()){ numberPatter = m.group(3); startingValue = m.group(4); } int fileNum = 0; //user entered a starting number if(startingValue!=null && startingValue.length()>0){ fileNum = new Integer(startingValue).intValue(); } fileNum += fileNumber.intValue(); String replacement = ""; if(numberPatter!=null && numberPatter.length()>0){ replacement = getFileNumberFormatter(numberPatter).format(fileNum); }else{ replacement = getFileNumberFormatter(fileNum).format(fileNum); } retVal = arg0.replaceAll(FILE_NUMBER_REPLACE_REGX, replacement); } return retVal; } /** * Apply CURRENT_PAGE_REPLACE_REGX variable substitution to the input argument * @param arg0 * @param pageNumber * @return */ private String applyPagenumber(String arg0, Integer pageNumber){ String retVal = arg0; if(pageNumber!=null){ String numberPatter = ""; Matcher m = Pattern.compile(CURRENT_PAGE_REGX).matcher(arg0); if(m.matches()){ numberPatter = m.group(3); } String replacement = ""; if(numberPatter!=null && numberPatter.length()>0){ replacement = getFileNumberFormatter(numberPatter).format(pageNumber.intValue()); }else{ replacement = getFileNumberFormatter(pageNumber.intValue()).format(pageNumber.intValue()); } retVal = arg0.replaceAll(CURRENT_PAGE_REPLACE_REGX, replacement); } return retVal; } /** * Apply BOOKMARK_NAME_REPLACE_REGX variable substitution to the input argument. Some Win32 invalid chars are stripped by the bookmark name. * @param arg0 * @param bookmarkName * @return */ private String applyBookmarkname(String arg0, String bookmarkName){ String retVal = arg0; if(bookmarkName!=null){ //fix #2789961 bookmarkName = bookmarkName.replaceAll(INVALID_WIN_FILENAME_CHARS_REGEXP, ""); retVal = arg0.replaceAll(BOOKMARK_NAME_REPLACE_REGX, bookmarkName); } return retVal; } /** * Apply BASENAME_REPLACE_REGX variable substitution to the input argument * @param arg0 * @param fileName * @return */ private String applyFilename(String arg0, String fileName){ String retVal = arg0; if(fileName!=null){ retVal = arg0.replaceAll(BASENAME_REPLACE_REGX, fileName); } return retVal; } /** * Apply TIMESTAMP_REPLACE_RGX variable substitution to the input argument * @param arg0 * @return */ private String applyTimestamp(String arg0){ String retVal = arg0; String timestamp = new SimpleDateFormat("yyyyMMdd_HHmmssSS").format(new Date()); retVal = retVal.replaceAll(TIMESTAMP_REPLACE_RGX, timestamp); return retVal; } /** * @param n numbero of pages * @return */ private DecimalFormat getFileNumberFormatter(Integer n){ DecimalFormat retVal = null; if(n!=null){ retVal = getFileNumberFormatter(n.intValue()); }else{ retVal = new DecimalFormat(); retVal.applyPattern("00000"); } return retVal; } /** * @param n number of pages * @return the DecimalFormat */ private DecimalFormat getFileNumberFormatter(int n){ DecimalFormat retVal = new DecimalFormat(); try { retVal.applyPattern(Integer.toString(n).replaceAll("\\d", "0")); } catch (Exception fe) { retVal.applyPattern("00000"); } return retVal; } /** * @param arg0 the input string of the type "####" * @return */ private DecimalFormat getFileNumberFormatter(String arg0){ DecimalFormat retVal = new DecimalFormat(); try { if(arg0!=null && arg0.length()>0){ retVal.applyPattern(arg0.replaceAll("#", "0")); }else{ retVal.applyPattern("00000"); } } catch (Exception fe) { retVal.applyPattern("00000"); } return retVal; } } pdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/utils/perfix/FileNameRequest.java0000644000175000017500000000645711170337516031423 0ustar twernertwerner/* * Created on 11-Apr-2009 * Copyright (C) 2009 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.utils.perfix; import java.io.Serializable; public class FileNameRequest implements Serializable{ private static final long serialVersionUID = -4901506757147449856L; private Integer pageNumber = null; private Integer fileNumber = null; private String bookmarkName = null; /** * @param pageNumber * @param fileNumber * @param bookmarkName */ public FileNameRequest(Integer pageNumber, Integer fileNumber, String bookmarkName) { super(); this.pageNumber = pageNumber; this.fileNumber = fileNumber; this.bookmarkName = bookmarkName; } public FileNameRequest(int pageNumber, int fileNumber, String bookmarkName) { this(new Integer(pageNumber),new Integer(fileNumber), bookmarkName); } public FileNameRequest() { } /** * @return the pageNumber */ public Integer getPageNumber() { return pageNumber; } /** * @param pageNumber the pageNumber to set */ public void setPageNumber(Integer pageNumber) { this.pageNumber = pageNumber; } /** * @return the fileNumber */ public Integer getFileNumber() { return fileNumber; } /** * @param fileNumber the fileNumber to set */ public void setFileNumber(Integer fileNumber) { this.fileNumber = fileNumber; } /** * @return the bookmarkName */ public String getBookmarkName() { return bookmarkName; } /** * @param bookmarkName the bookmarkName to set */ public void setBookmarkName(String bookmarkName) { this.bookmarkName = bookmarkName; } /** * @return true if all the instance variables are null or empty */ public boolean isEmpty(){ return ((bookmarkName==null || bookmarkName.length()==0) && (fileNumber==null) && (pageNumber==null)); } } pdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/utils/TimeUtility.java0000644000175000017500000000575111035170566027353 0ustar twernertwerner/* * Created on 27-oct-2007 * Copyright (C) 2007 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.utils; import java.text.SimpleDateFormat; import java.util.Date; /** * Formats time in human readable format * @author torakiki * */ public class TimeUtility { private static final String MILLIS_FORMAT= "S'ms'"; private static final String SECONDS_FORMAT= "s's' S'ms'"; private static final String MINUTES_FORMAT= "m'm' s's' S'ms'"; private static final String HOURS_FORMAT= "H'h' m'm' s's' S'ms'"; private static final String DAYS_FORMAT= "D'd' H'h' m'm' s's' S'ms'"; private static final long MILLIS= 1000; private static final long SECONDS= MILLIS*60; private static final long MINUTES= SECONDS*60; private static final long HOURS= MINUTES*24; /** * formats the millis in human readable format * @param millis * @return formatted String */ public static String format(long millis){ String retVal = ""; if(millis < MILLIS){ retVal = new SimpleDateFormat(MILLIS_FORMAT).format(new Date(millis)); }else if(millis < SECONDS){ retVal = new SimpleDateFormat(SECONDS_FORMAT).format(new Date(millis)); } else if(millis < MINUTES){ retVal = new SimpleDateFormat(MINUTES_FORMAT).format(new Date(millis)); } else if(millis < HOURS){ retVal = new SimpleDateFormat(HOURS_FORMAT).format(new Date(millis)); } else { retVal = new SimpleDateFormat(DAYS_FORMAT).format(new Date(millis)); } return retVal; } } pdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/utils/PdfFilter.java0000644000175000017500000000472311035170566026746 0ustar twernertwerner/* * Created on 31-Jan-2008 * Copyright (C) 2008 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.utils; import java.io.File; import java.io.FileFilter; /** * Pdf filter * @author Andrea Vacondio */ public class PdfFilter implements FileFilter { private static String EXTENSION = "pdf"; public boolean accept(File arg0) { boolean retVal = false; if (arg0!=null && !arg0.isDirectory()){ String extension = getExtension(arg0); retVal = EXTENSION.equals(extension); } return retVal; } /** * Get the extension of a file. */ public String getExtension(File f) { String ext = null; String s = f.getName(); int i = s.lastIndexOf('.'); if (i > 0 && i < s.length() - 1) { ext = s.substring(i+1).toLowerCase(); } return ext; } } pdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/utils/PdfUtility.java0000644000175000017500000000505311124456502027155 0ustar twernertwerner/* * Created on 24-DEC-2008 * Copyright (C) 2008 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.utils; import java.io.InputStream; import java.util.List; import org.dom4j.io.SAXReader; /** * Utility class for pdf documents * @author Andrea Vacondio * */ public class PdfUtility { /** * @param bookmarks the stream to read the xml. Stream is not closed. * @return the max depth of the bookmarks tree. 0 if no bookmark. */ public static int getMaxBookmarksDepth(InputStream bookmarks) throws Exception{ int retVal = 0; if(bookmarks!=null){ SAXReader reader = new SAXReader(); org.dom4j.Document document = reader.read(bookmarks); String xQuery = "/Bookmark/Title[@Action=\"GoTo\"]"; List nodes = document.selectNodes(xQuery); while((nodes!=null && nodes.size()>0)){ retVal++; xQuery += "/Title[@Action=\"GoTo\"]"; nodes = document.selectNodes(xQuery); } } return retVal; } } pdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/0000755000175000017500000000000010712700114024676 5ustar twernertwernerpdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/dto/0000755000175000017500000000000011224651542025475 5ustar twernertwernerpdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/dto/PdfFile.java0000644000175000017500000001005411035170574027652 0ustar twernertwerner/* * Created on 11-Dec-2007 * Copyright (C) 2007 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.business.dto; import java.io.File; import java.io.Serializable; /** * Model of a password protected pdf file * @author Andrea Vacondio * */ public class PdfFile implements Serializable{ private static final long serialVersionUID = -389852483075260271L; private File file; private String password; public PdfFile(){ } /** * @param file * @param password */ public PdfFile(File file, String password) { this.file = file; this.password = password; } /** * @param filePath * @param password */ public PdfFile(String filePath, String password) { this.file = new File(filePath); this.password = password; } /** * @return the file */ public File getFile() { return file; } /** * @param file the file to set */ public void setFile(File file) { this.file = file; } /** * @return the password */ public String getPassword() { return password; } /** * @return the password in bytes or null */ public byte[] getPasswordBytes() { return (password!=null)? password.getBytes():null; } /** * @param password the password to set */ public void setPassword(String password) { this.password = password; } /* (non-Javadoc) * @see java.lang.Object#hashCode() */ public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((file == null) ? 0 : file.hashCode()); result = prime * result + ((password == null) ? 0 : password.hashCode()); return result; } /* (non-Javadoc) * @see java.lang.Object#equals(java.lang.Object) */ public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; final PdfFile other = (PdfFile) obj; if (file == null) { if (other.file != null) return false; } else if (!file.equals(other.file)) return false; if (password == null) { if (other.password != null) return false; } else if (!password.equals(other.password)) return false; return true; } public String toString(){ StringBuffer retVal = new StringBuffer(); retVal.append(super.toString()); retVal.append((file== null)?"":"[file="+file.getAbsolutePath()+"]"); retVal.append("[password="+password+"]"); return retVal.toString(); } } pdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/dto/commands/0000755000175000017500000000000011205273130027266 5ustar twernertwernerpdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/dto/commands/MixParsedCommand.java0000644000175000017500000001430111206765240033334 0ustar twernertwerner/* * Created on 1-Oct-2007 * Copyright (C) 2007 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.business.dto.commands; import java.io.File; import org.pdfsam.console.business.dto.PdfFile; /** * Mix parsed command dto filled by parsing service and used by worker service * @author Andrea Vacondio * */ public class MixParsedCommand extends AbstractParsedCommand { private static final long serialVersionUID = -2646601665244663267L; public static final int DEFAULT_STEP = 1; public static final String F1_ARG = "f1"; public static final String REVERSE_FIRST_ARG = "reversefirst"; public static final String F2_ARG = "f2"; public static final String REVERSE_SECOND_ARG = "reversesecond"; public static final String O_ARG = "o"; public static final String STEP_ARG = "step"; private File outputFile; private PdfFile firstInputFile; private PdfFile secondInputFile; private boolean reverseFirst = false; private boolean reverseSecond = false; private int step = DEFAULT_STEP; public MixParsedCommand(){ }; public MixParsedCommand(File outputFile, PdfFile firstInputFile, PdfFile secondInputFile, boolean reverseFirst, boolean reverseSecond, int step) { super(); this.outputFile = outputFile; this.firstInputFile = firstInputFile; this.secondInputFile = secondInputFile; this.reverseFirst = reverseFirst; this.reverseSecond = reverseSecond; this.step = step; } /** * @deprecated use the constructor without the logFile parameter */ public MixParsedCommand(File outputFile, PdfFile firstInputFile,PdfFile secondInputFile, boolean reverseFirst, boolean reverseSecond, int step, boolean overwrite, boolean compress, File logFile, char outputPdfVersion) { super(overwrite, compress, logFile, outputPdfVersion); this.outputFile = outputFile; this.firstInputFile = firstInputFile; this.secondInputFile = secondInputFile; this.reverseFirst = reverseFirst; this.reverseSecond = reverseSecond; this.step = step; } public MixParsedCommand(File outputFile, PdfFile firstInputFile,PdfFile secondInputFile, boolean reverseFirst, boolean reverseSecond, int step, boolean overwrite, boolean compress, char outputPdfVersion) { super(overwrite, compress, outputPdfVersion); this.outputFile = outputFile; this.firstInputFile = firstInputFile; this.secondInputFile = secondInputFile; this.reverseFirst = reverseFirst; this.reverseSecond = reverseSecond; this.step = step; } /** * @return the outputFile */ public File getOutputFile() { return outputFile; } /** * @param outputFile the outputFile to set */ public void setOutputFile(File outputFile) { this.outputFile = outputFile; } /** * @return the firstInputFile */ public PdfFile getFirstInputFile() { return firstInputFile; } /** * @param firstInputFile the firstInputFile to set */ public void setFirstInputFile(PdfFile firstInputFile) { this.firstInputFile = firstInputFile; } /** * @return the secondInputFile */ public PdfFile getSecondInputFile() { return secondInputFile; } /** * @param secondInputFile the secondInputFile to set */ public void setSecondInputFile(PdfFile secondInputFile) { this.secondInputFile = secondInputFile; } /** * @return the reverseFirst */ public boolean isReverseFirst() { return reverseFirst; } /** * @param reverseFirst the reverseFirst to set */ public void setReverseFirst(boolean reverseFirst) { this.reverseFirst = reverseFirst; } /** * @return the reverseSecond */ public boolean isReverseSecond() { return reverseSecond; } /** * @param reverseSecond the reverseSecond to set */ public void setReverseSecond(boolean reverseSecond) { this.reverseSecond = reverseSecond; } public final String getCommand() { return COMMAND_MIX; } /** * @return the step */ public int getStep() { return step; } /** * @param step the step to set */ public void setStep(int step) { this.step = step; } public String toString(){ StringBuffer retVal = new StringBuffer(); retVal.append(super.toString()); retVal.append((firstInputFile== null)?"":"[firstInputFile="+firstInputFile.getFile().getAbsolutePath()+"]"); retVal.append((secondInputFile== null)?"":"[secondInputFile="+secondInputFile.getFile().getAbsolutePath()+"]"); retVal.append("[reverseFirst="+reverseFirst+"]"); retVal.append("[reverseSecond="+reverseSecond+"]"); retVal.append("[step="+step+"]"); retVal.append("[command="+getCommand()+"]"); return retVal.toString(); } } ././@LongLink0000000000000000000000000000015200000000000011563 Lustar rootrootpdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/dto/commands/SlideShowParsedCommand.javapdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/dto/commands/SlideShowParsedCommand0000644000175000017500000001540011206765416033566 0ustar twernertwerner/* * Created on 07-Mar-2008 * Copyright (C) 2008 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.business.dto.commands; import java.io.File; import org.pdfsam.console.business.dto.PdfFile; import org.pdfsam.console.business.dto.Transition; /** * SlideShow parsed command dto filled by parsing service and used by worker service * @author Andrea Vacondio * */ public class SlideShowParsedCommand extends AbstractParsedCommand { private static final long serialVersionUID = 498418601794673447L; public static final String F_ARG = "f"; public static final String P_ARG = "p"; public static final String O_ARG = "o"; public static final String L_ARG = "l"; public static final String T_ARG = "t"; public static final String DT_ARG = "dt"; public static final String FULLSCREEN_ARG = "fullscreen"; private File outputFile; private PdfFile inputFile; private boolean fullScreen = false; private Transition defaultTransition; private Transition[] transitions; private File inputXmlFile; private String outputFilesPrefix = ""; public SlideShowParsedCommand() { } public SlideShowParsedCommand(File outputFile, PdfFile inputFile, boolean fullScreen, Transition defaultTransition, Transition[] transitions, File inputXmlFile) { super(); this.outputFile = outputFile; this.inputFile = inputFile; this.fullScreen = fullScreen; this.defaultTransition = defaultTransition; this.transitions = transitions; this.inputXmlFile = inputXmlFile; } /** * @deprecated use the constructor without the logFile parameter */ public SlideShowParsedCommand(File outputFile, PdfFile inputFile, boolean fullScreen, Transition defaultTransition, Transition[] transitions, File inputXmlFile, boolean overwrite, boolean compress, File logFile, char outputPdfVersion) { super(overwrite, compress, logFile, outputPdfVersion); this.outputFile = outputFile; this.inputFile = inputFile; this.fullScreen = fullScreen; this.defaultTransition = defaultTransition; this.transitions = transitions; this.inputXmlFile = inputXmlFile; } public SlideShowParsedCommand(File outputFile, PdfFile inputFile, boolean fullScreen, Transition defaultTransition, Transition[] transitions, File inputXmlFile, boolean overwrite, boolean compress, char outputPdfVersion) { super(overwrite, compress, outputPdfVersion); this.outputFile = outputFile; this.inputFile = inputFile; this.fullScreen = fullScreen; this.defaultTransition = defaultTransition; this.transitions = transitions; this.inputXmlFile = inputXmlFile; } /** * @return the outputFile */ public File getOutputFile() { return outputFile; } /** * @param outputFile the outputFile to set */ public void setOutputFile(File outputFile) { this.outputFile = outputFile; } /** * @return the inputFile */ public PdfFile getInputFile() { return inputFile; } /** * @param inputFile the inputFile to set */ public void setInputFile(PdfFile inputFile) { this.inputFile = inputFile; } /** * @return the fullScreen */ public boolean isFullScreen() { return fullScreen; } /** * @param fullScreen the fullScreen to set */ public void setFullScreen(boolean fullScreen) { this.fullScreen = fullScreen; } /** * @return the defaultTransition */ public Transition getDefaultTransition() { return defaultTransition; } /** * @param defaultTransition the defaultTransition to set */ public void setDefaultTransition(Transition defaultTransition) { this.defaultTransition = defaultTransition; } /** * @return the transitions */ public Transition[] getTransitions() { return transitions; } /** * @param transitions the transitions to set */ public void setTransitions(Transition[] transitions) { this.transitions = transitions; } /** * @return the inputXmlFile */ public File getInputXmlFile() { return inputXmlFile; } /** * @param inputXmlFile the inputXmlFile to set */ public void setInputXmlFile(File inputXmlFile) { this.inputXmlFile = inputXmlFile; } public String getCommand() { return SlideShowParsedCommand.COMMAND_SLIDESHOW; } /** * @return the outputFilesPrefix */ public String getOutputFilesPrefix() { return outputFilesPrefix; } /** * @param outputFilesPrefix the outputFilesPrefix to set */ public void setOutputFilesPrefix(String outputFilesPrefix) { this.outputFilesPrefix = outputFilesPrefix; } public String toString(){ StringBuffer retVal = new StringBuffer(); retVal.append(super.toString()); retVal.append((outputFile== null)?"":"[outputFile="+outputFile.getAbsolutePath()+"]"); retVal.append((inputFile== null)?"":"[outputFile="+outputFile.getAbsolutePath()+"]"); retVal.append("[transitions="+transitions+"]"); retVal.append("[defaultTransition="+defaultTransition+"]"); retVal.append("[fullScreen="+fullScreen+"]"); retVal.append("[inputXmlFile="+inputXmlFile+"]"); retVal.append("[outputFilesPrefix="+outputFilesPrefix+"]"); retVal.append("[command="+getCommand()+"]"); return retVal.toString(); } } ././@LongLink0000000000000000000000000000015000000000000011561 Lustar rootrootpdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/dto/commands/EncryptParsedCommand.javapdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/dto/commands/EncryptParsedCommand.j0000644000175000017500000002034611206765154033545 0ustar twernertwerner/* * Created on 16-Oct-2007 * Copyright (C) 2007 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.business.dto.commands; import java.io.File; import org.pdfsam.console.business.dto.PdfFile; /** * Encrypt parsed command dto filled by parsing service and used by worker service * @author Andrea Vacondio * */ public class EncryptParsedCommand extends AbstractParsedCommand { private static final long serialVersionUID = -4179486767271521110L; //arguments public static final String F_ARG = "f"; public static final String UPWD_ARG = "upwd"; public static final String APWD_ARG = "apwd"; public static final String P_ARG = "p"; public static final String O_ARG = "o"; public static final String ALLOW_ARG = "allow"; public static final String ETYPE_ARG = "etype"; public static final String D_ARG = "d"; //constants used to get the encrypt mode public static final String E_PRINT = "print"; public static final String E_MODIFY = "modify"; public static final String E_COPY = "copy"; public static final String E_ANNOTATION = "modifyannotations"; public static final String E_SCREEN = "screenreaders"; public static final String E_FILL = "fill"; public static final String E_ASSEMBLY = "assembly"; public static final String E_DPRINT = "degradedprinting"; //constants used to set the encrypt algorithm public static final String E_RC4_40 = "rc4_40"; public static final String E_RC4_128 = "rc4_128"; public static final String E_AES_128 = "aes_128"; private File outputFile; private String outputFilesPrefix = ""; private String ownerPwd = ""; private String userPwd = ""; private int permissions; private String encryptionType = E_RC4_40; private PdfFile[] inputFileList; private File inputDirectory; public EncryptParsedCommand(){ } public EncryptParsedCommand(File outputFile, String outputFilesPrefix, String ownerPwd, String userPwd, int permissions, String encryptionType, PdfFile[] inputFileList, File inputDirectory) { super(); this.outputFile = outputFile; this.outputFilesPrefix = outputFilesPrefix; this.ownerPwd = ownerPwd; this.userPwd = userPwd; this.permissions = permissions; this.encryptionType = encryptionType; this.inputFileList = inputFileList; this.inputDirectory = inputDirectory; } /** * @deprecated use the constructor without the logFile parameter */ public EncryptParsedCommand(File outputFile, String outputFilesPrefix, String ownerPwd, String userPwd, int permissions, String encryptionType, PdfFile[] inputFileList, File inputDirectory, boolean overwrite, boolean compress, File logFile, char outputPdfVersion) { super(overwrite, compress, logFile, outputPdfVersion); this.outputFile = outputFile; this.outputFilesPrefix = outputFilesPrefix; this.ownerPwd = ownerPwd; this.userPwd = userPwd; this.permissions = permissions; this.encryptionType = encryptionType; this.inputFileList = inputFileList; this.inputDirectory = inputDirectory; } public EncryptParsedCommand(File outputFile, String outputFilesPrefix, String ownerPwd, String userPwd, int permissions, String encryptionType, PdfFile[] inputFileList, File inputDirectory, boolean overwrite, boolean compress, char outputPdfVersion) { super(overwrite, compress, outputPdfVersion); this.outputFile = outputFile; this.outputFilesPrefix = outputFilesPrefix; this.ownerPwd = ownerPwd; this.userPwd = userPwd; this.permissions = permissions; this.encryptionType = encryptionType; this.inputFileList = inputFileList; this.inputDirectory = inputDirectory; } /** * @return the outputFile */ public File getOutputFile() { return outputFile; } /** * @param outputFile the outputFile to set */ public void setOutputFile(File outputFile) { this.outputFile = outputFile; } /** * @return the outputFilesPrefix */ public String getOutputFilesPrefix() { return outputFilesPrefix; } /** * @param outputFilesPrefix the outputFilesPrefix to set */ public void setOutputFilesPrefix(String outputFilesPrefix) { this.outputFilesPrefix = outputFilesPrefix; } /** * @return the ownerPwd */ public String getOwnerPwd() { return ownerPwd; } /** * @param ownerPwd the ownerPwd to set */ public void setOwnerPwd(String ownerPwd) { this.ownerPwd = ownerPwd; } /** * @return the userPwd */ public String getUserPwd() { return userPwd; } /** * @param userPwd the userPwd to set */ public void setUserPwd(String userPwd) { this.userPwd = userPwd; } /** * @return the permissions */ public int getPermissions() { return permissions; } /** * @param permissions the permissions to set */ public void setPermissions(int permissions) { this.permissions = permissions; } /** * @return the encryptionType */ public String getEncryptionType() { return encryptionType; } /** * @param encryptionType the encryptionType to set */ public void setEncryptionType(String encryptionType) { this.encryptionType = encryptionType; } /** * @return the inputFileList */ public PdfFile[] getInputFileList() { return inputFileList; } /** * @param inputFileList the inputFileList to set */ public void setInputFileList(PdfFile[] inputFileList) { this.inputFileList = inputFileList; } public String getCommand() { return COMMAND_ENCRYPT; } public String toString(){ StringBuffer retVal = new StringBuffer(); retVal.append(super.toString()); retVal.append((outputFile== null)?"":"[outputDir="+outputFile.getAbsolutePath()+"]"); if(inputFileList != null){ for(int i = 0; itrue if output file overwrite is enabled */ private boolean overwrite = false; /** * true if output file must be compressed */ private boolean compress = false; /** * log file */ private File logFile = null; /** * Version of the output document/documents */ private Character outputPdfVersion = null; public AbstractParsedCommand(){ } /** * @deprecated use the constructor without the logFile parameter */ public AbstractParsedCommand(boolean overwrite, boolean compress,File logFile, char outputPdfVersion) { this(overwrite, compress, outputPdfVersion); } public AbstractParsedCommand(boolean overwrite, boolean compress, char outputPdfVersion) { this.overwrite = overwrite; this.compress = compress; this.outputPdfVersion = new Character(outputPdfVersion); } /** * @return the overwrite */ public boolean isOverwrite() { return overwrite; } /** * @param overwrite the overwrite to set */ public void setOverwrite(boolean overwrite) { this.overwrite = overwrite; } /** * @return the compress */ public boolean isCompress() { return compress; } /** * @param compress the compress to set */ public void setCompress(boolean compress) { this.compress = compress; } /** * @return the logFile * @deprecated -log option is no longer used */ public File getLogFile() { return logFile; } /** * @param logFile the logFile to set * @deprecated -log option is no longer used */ public void setLogFile(File logFile) { this.logFile = logFile; } /** * @return the outputPdfVersion */ public Character getOutputPdfVersion() { return outputPdfVersion; } /** * @param outputPdfVersion the outputPdfVersion to set */ public void setOutputPdfVersion(char outputPdfVersion) { this.outputPdfVersion = new Character(outputPdfVersion); } /** * @param outputPdfVersion the outputPdfVersion to set */ public void setOutputPdfVersion(Character outputPdfVersion) { this.outputPdfVersion = outputPdfVersion; } /** * @return The command associated with this dto */ public abstract String getCommand(); public String toString(){ StringBuffer retVal = new StringBuffer(); retVal.append("[overwrite="+overwrite+"]"); retVal.append("[compress="+compress+"]"); retVal.append("[outputPdfVersion="+outputPdfVersion+"]"); retVal.append((logFile== null)?"":"[log="+logFile.getAbsolutePath()+"]"); return retVal.toString(); } } ././@LongLink0000000000000000000000000000014700000000000011567 Lustar rootrootpdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/dto/commands/ConcatParsedCommand.javapdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/dto/commands/ConcatParsedCommand.ja0000644000175000017500000001621111206765026033463 0ustar twernertwerner/* * Created on 1-Oct-2007 * Copyright (C) 2007 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * */ package org.pdfsam.console.business.dto.commands; import java.io.File; import org.pdfsam.console.business.dto.PageRotation; import org.pdfsam.console.business.dto.PdfFile; /** * Concat parsed command dto filled by parsing service and used by worker service * @author Andrea Vacondio * */ public class ConcatParsedCommand extends AbstractParsedCommand { private static final long serialVersionUID = 2204294454175542123L; public static final String F_ARG = "f"; public static final String COPYFIELDS_ARG = "copyfields"; public static final String L_ARG = "l"; public static final String U_ARG = "u"; public static final String O_ARG = "o"; public static final String R_ARG = "r"; public static final String D_ARG = "d"; private File outputFile; private File inputCvsOrXmlFile; private File inputDirectory; private PdfFile[] inputFileList; private String pageSelection = ""; private PageRotation[] rotations = null; private boolean copyFields = false; public ConcatParsedCommand(){ } public ConcatParsedCommand(File outputFile, File inputCvsOrXmlFile, PdfFile[] inputFileList, String pageSelection, boolean copyFields, PageRotation[] rotations, File inputDirectory) { super(); this.outputFile = outputFile; this.inputCvsOrXmlFile = inputCvsOrXmlFile; this.inputFileList = inputFileList; this.pageSelection = pageSelection; this.copyFields = copyFields; this.rotations = rotations; this.inputDirectory = inputDirectory; } public ConcatParsedCommand(File outputFile, File inputCvsOrXmlFile, PdfFile[] inputFileList, String pageSelection, boolean copyFields, PageRotation[] rotations, File inputDirectory, boolean overwrite, boolean compress , char outputPdfVersion) { super(overwrite, compress, outputPdfVersion); this.outputFile = outputFile; this.inputCvsOrXmlFile = inputCvsOrXmlFile; this.inputFileList = inputFileList; this.pageSelection = pageSelection; this.copyFields = copyFields; this.rotations = rotations; this.inputDirectory = inputDirectory; } /** * @deprecated use the constructor without the logFile parameter */ public ConcatParsedCommand(File outputFile, File inputCvsOrXmlFile, PdfFile[] inputFileList, String pageSelection, boolean copyFields, PageRotation[] rotations, File inputDirectory, boolean overwrite, boolean compress, File logFile, char outputPdfVersion) { super(overwrite, compress, logFile, outputPdfVersion); this.outputFile = outputFile; this.inputCvsOrXmlFile = inputCvsOrXmlFile; this.inputFileList = inputFileList; this.pageSelection = pageSelection; this.copyFields = copyFields; this.rotations = rotations; this.inputDirectory = inputDirectory; } /** * @return the outputFile */ public File getOutputFile() { return outputFile; } /** * @param outputFile the outputFile to set */ public void setOutputFile(File outputFile) { this.outputFile = outputFile; } /** * @return the inputCvsOrXmlFile */ public File getInputCvsOrXmlFile() { return inputCvsOrXmlFile; } /** * @param inputCvsOrXmlFile the inputCvsOrXmlFile to set */ public void setInputCvsOrXmlFile(File inputCvsOrXmlFile) { this.inputCvsOrXmlFile = inputCvsOrXmlFile; } /** * @return the inputFileList */ public PdfFile[] getInputFileList() { return inputFileList; } /** * @param inputFileList the inputFileList to set */ public void setInputFileList(PdfFile[] inputFileList) { this.inputFileList = inputFileList; } /** * @return the pageSelection */ public String getPageSelection() { return pageSelection; } /** * @param pageSelection the pageSelection to set */ public void setPageSelection(String pageSelection) { this.pageSelection = pageSelection; } /** * @return the copyFields */ public boolean isCopyFields() { return copyFields; } /** * @param copyFields the copyFields to set */ public void setCopyFields(boolean copyFields) { this.copyFields = copyFields; } /** * @return the rotations */ public PageRotation[] getRotations() { return rotations; } /** * @param rotations the rotations to set */ public void setRotations(PageRotation[] rotations) { this.rotations = rotations; } /** * @return the inputDirectory */ public File getInputDirectory() { return inputDirectory; } /** * @param inputDirectory the inputDirectory to set */ public void setInputDirectory(File inputDirectory) { this.inputDirectory = inputDirectory; } public final String getCommand() { return COMMAND_CONCAT; } public String toString(){ StringBuffer retVal = new StringBuffer(); retVal.append(super.toString()); retVal.append((outputFile== null)?"":"[outputFile="+outputFile.getAbsolutePath()+"]"); retVal.append((inputDirectory== null)?"":"[inputDirectory="+inputDirectory.getAbsolutePath()+"]"); if(inputFileList != null){ for(int i = 0; iString with all attributes * in name = value format. * * @return a String representation * of this object. */ public String toString() { final String OPEN = "["; final String CLOSE = "]"; StringBuffer retValue = new StringBuffer(); retValue.append("PageRotation ( ") .append(super.toString()) .append(OPEN).append("pageNumber=").append(this.pageNumber).append(CLOSE) .append(OPEN).append("degrees=").append(this.degrees).append(CLOSE) .append(OPEN).append("type=").append(this.type).append(CLOSE) .append(" )"); return retValue.toString(); } } pdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/dto/Bounds.java0000644000175000017500000000154011224651614027572 0ustar twernertwernerpackage org.pdfsam.console.business.dto; import java.io.Serializable; /** * Maps the limit of the concat command, start and end * @author Andrea Vacondio * */ public class Bounds implements Serializable { private static final long serialVersionUID = 1093984828590806028L; private int start; private int end; public Bounds() { } /** * @param end * @param start */ public Bounds(int end, int start) { this.end = end; this.start = start; } /** * @return the start */ public int getStart() { return start; } /** * @param start the start to set */ public void setStart(int start) { this.start = start; } /** * @return the end */ public int getEnd() { return end; } /** * @param end the end to set */ public void setEnd(int end) { this.end = end; } public String toString(){ return start+"-"+end; } } pdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/dto/WorkDoneDataModel.java0000644000175000017500000000662211035170574031652 0ustar twernertwerner/* * Created on 21-oct-2007 * Copyright (C) 2006 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.business.dto; import java.io.Serializable; /** * Percentage of work done * @author Andrea Vacondio * */ public class WorkDoneDataModel implements Serializable { private static final long serialVersionUID = 2224240472572871331L; public static final int INDETERMINATE = -1; public static final int MAX_PERGENTAGE = 1000; private int percentage = 0; public WorkDoneDataModel() { this.percentage = 0; } /** * @return the percentage */ public int getPercentage() { return percentage; } /** * sets the percentage to indeterminate */ public void setPercentageIndeterminate(){ percentage = INDETERMINATE; } /** * sets the percentage to the max value */ public void setPercentageMax(){ percentage = MAX_PERGENTAGE; } /** * @param percentage the percentage to set (0 to MAX_PERCENTAGE or -1 to set the percentage indeterminate) */ public void setPercentage(int percentage) { if(percentage > MAX_PERGENTAGE){ this.percentage = MAX_PERGENTAGE; }else if(percentage < INDETERMINATE){ this.percentage = INDETERMINATE; }else{ this.percentage = percentage; } } /** * reset the percentage */ public void resetPercentage(){ this.percentage = 0; } public String toString(){ return percentage+""; } /** * @see java.lang.Object#hashCode() */ public int hashCode() { final int prime = 31; int result = 1; result = prime * result + percentage; return result; } /** * @see java.lang.Object#equals(java.lang.Object) */ public boolean equals(Object obj) { boolean retVal = false; if(this == obj){ retVal = true; }else{ if((obj != null) && (getClass() == obj.getClass()) && (percentage == ((WorkDoneDataModel) obj).percentage)){ retVal = true; } } return retVal; } } pdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/dto/Transition.java0000644000175000017500000001465611132702336030502 0ustar twernertwerner/* * Created on 08-Mar-2008 * Copyright (C) 2008 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.business.dto; import java.io.Serializable; /** * DTO that maps a transition * @author Andrea Vacondio */ public class Transition implements Serializable { private static final long serialVersionUID = 1064001681041759674L; /** * Out Vertical Split */ public static final String T_SPLITVOUT = "splitvout"; /** * Out Horizontal Split */ public static final String T_SPLITHOUT = "splithout"; /** * In Vertical Split */ public static final String T_SPLITVIN = "splitvin"; /** * In Horizontal Split */ public static final String T_SPLITHIN = "splithin"; /** * Vertical Blinds */ public static final String T_BLINDV = "blindv"; /** * Vertical Blinds */ public static final String T_BLINDH = "blindh"; /** * Inward Box */ public static final String T_INBOX = "inwardbox"; /** * Outward Box */ public static final String T_OUTBOX = "outwardbox"; /** * Left-Right Wipe */ public static final String T_LRWIPE = "wipel2r"; /** * Right-Left Wipe */ public static final String T_RLWIPE = "wiper2l"; /** * Bottom-Top Wipe */ public static final String T_BTWIPE = "wipeb2t"; /** * Top-Bottom Wipe */ public static final String T_TBWIPE = "wipet2b"; /** * Dissolve */ public static final String T_DISSOLVE = "dissolve"; /** * Left-Right Glitter */ public static final String T_LRGLITTER = "glitterl2r"; /** * Top-Bottom Glitter */ public static final String T_TBGLITTER = "glittert2b"; /** * Diagonal Glitter */ public static final String T_DGLITTER = "glitterd"; public static final int EVERY_PAGE = 0; private int pageNumber = EVERY_PAGE; private int transitionDuration = 1; private String transition = ""; private int duration = 3; /** * @param pageNumber * @param transitionDuration * @param transition * @param duration */ public Transition(int pageNumber, int transitionDuration, String transition, int duration) { this.pageNumber = pageNumber; this.transitionDuration = transitionDuration; this.transition = transition; this.duration = duration; } public Transition() { } /** * @return the pageNumber */ public int getPageNumber() { return pageNumber; } /** * @param pageNumber the pageNumber to set */ public void setPageNumber(int pageNumber) { this.pageNumber = pageNumber; } /** * @return the transitionDuration */ public int getTransitionDuration() { return transitionDuration; } /** * @param transitionDuration the transitionDuration to set */ public void setTransitionDuration(int transitionDuration) { this.transitionDuration = transitionDuration; } /** * @return the transition */ public String getTransition() { return transition; } /** * @param transition the transition to set */ public void setTransition(String transition) { this.transition = transition; } /** * @return the duration */ public int getDuration() { return duration; } /** * @param duration the duration to set */ public void setDuration(int duration) { this.duration = duration; } /* (non-Javadoc) * @see java.lang.Object#hashCode() */ public int hashCode() { final int prime = 31; int result = 1; result = prime * result + duration; result = prime * result + pageNumber; result = prime * result + ((transition == null) ? 0 : transition.hashCode()); result = prime * result + transitionDuration; return result; } /* (non-Javadoc) * @see java.lang.Object#equals(java.lang.Object) */ public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; final Transition other = (Transition) obj; if (duration != other.duration) return false; if (pageNumber != other.pageNumber) return false; if (transition == null) { if (other.transition != null) return false; } else if (!transition.equals(other.transition)) return false; if (transitionDuration != other.transitionDuration) return false; return true; } public String toString(){ StringBuffer retVal = new StringBuffer(); retVal.append(super.toString()); retVal.append("[transition="+transition+"]"); retVal.append("[duration="+duration+"]"); retVal.append("[transitionDuration="+transitionDuration+"]"); retVal.append("[pageNumber="+pageNumber+"]"); return retVal.toString(); } } pdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/pdf/0000755000175000017500000000000010712700116025451 5ustar twernertwernerpdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/pdf/writers/0000755000175000017500000000000010712700116027150 5ustar twernertwerner././@LongLink0000000000000000000000000000015400000000000011565 Lustar rootrootpdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/pdf/writers/PdfCopyFieldsConcatenator.javapdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/pdf/writers/PdfCopyFieldsConcatenat0000644000175000017500000000666011160151104033571 0ustar twernertwerner/* * Created on 20-Apr-2007 * Copyright (C) 2007 by Andrea Vacondio. * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.business.pdf.writers; import java.io.OutputStream; import java.util.List; import org.pdfsam.console.business.pdf.writers.interfaces.PdfConcatenator; import com.lowagie.text.DocumentException; import com.lowagie.text.pdf.PdfCopyFields; import com.lowagie.text.pdf.PdfReader; import com.lowagie.text.pdf.PdfStream; /** * Copy Fields concatenator. Uses PdfCopyFields. * @author a.vacondio */ public class PdfCopyFieldsConcatenator implements PdfConcatenator { private PdfCopyFields writer; public PdfCopyFieldsConcatenator(OutputStream os) throws DocumentException{ writer = new PdfCopyFields(os); } /** * @param os * @param compressed If true creates a compressed pdf document * @throws DocumentException */ public PdfCopyFieldsConcatenator(OutputStream os, boolean compressed) throws DocumentException{ this(os); if(compressed){ writer.setFullCompression(); writer.getWriter().setCompressionLevel(PdfStream.BEST_COMPRESSION); } } public void addDocument(PdfReader reader, String ranges) throws Exception { if(reader != null){ reader.selectPages(ranges); writer.addDocument(reader); }else{ throw new DocumentException("Reader is null"); } } public void addDocument(PdfReader reader) throws Exception { if(reader != null){ writer.addDocument(reader); }else{ throw new DocumentException("Reader is null"); } } public void freeReader(PdfReader reader) throws Exception { writer.getWriter().freeReader(reader); } public void setOutlines(List outlines) { writer.setOutlines(outlines); } public void setPdfVersion(char pdfVersion) { writer.getWriter().setPdfVersion(pdfVersion); } public void close(){ writer.close(); } } pdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/pdf/writers/interfaces/0000755000175000017500000000000010712700116031273 5ustar twernertwerner././@LongLink0000000000000000000000000000015500000000000011566 Lustar rootrootpdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/pdf/writers/interfaces/PdfConcatenator.javapdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/pdf/writers/interfaces/PdfConcatena0000644000175000017500000000535011035170576033560 0ustar twernertwerner/* * Created on 17-Apr-2007 * Copyright (C) 2007 by Andrea Vacondio. * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.business.pdf.writers.interfaces; import java.util.List; import com.lowagie.text.pdf.PdfReader; /** * Interface for the writers used to concat pdf files * @author Andrea Vacondio */ public interface PdfConcatenator { /** * Concatenates a PDF document selecting the pages to keep. The pages are described as * ranges. * @param reader PdfReader * @param ranges Pages range (Ex. 2-23) * @throws Exception */ public void addDocument(PdfReader reader, String ranges) throws Exception; /** * Concatenates a PDF document. * @param reader * @throws Exception */ public void addDocument(PdfReader reader) throws Exception; /** * * @param reader * @throws Exception */ public void freeReader(PdfReader reader) throws Exception; /** * Sets the bookmarks * @param outlines */ public void setOutlines(List outlines); /** * Sets the output document pdf version * @param pdfVersion */ public void setPdfVersion(char pdfVersion); /** * close */ public void close(); } ././@LongLink0000000000000000000000000000015000000000000011561 Lustar rootrootpdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/pdf/writers/PdfSimpleConcatenator.javapdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/pdf/writers/PdfSimpleConcatenator.j0000644000175000017500000000722711160151072033556 0ustar twernertwerner/* * Created on 17-Apr-2007 * Copyright (C) 2007 by Andrea Vacondio. * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.business.pdf.writers; import java.io.OutputStream; import java.util.List; import org.pdfsam.console.business.pdf.writers.interfaces.PdfConcatenator; import com.lowagie.text.Document; import com.lowagie.text.DocumentException; import com.lowagie.text.pdf.PdfCopy; import com.lowagie.text.pdf.PdfReader; import com.lowagie.text.pdf.PdfStream; /** * Simple concatenator. Uses PdfCopy. * @author a.vacondio */ public class PdfSimpleConcatenator implements PdfConcatenator { private PdfCopy writer; public PdfSimpleConcatenator(Document document, OutputStream os) throws DocumentException{ writer = new PdfCopy(document, os); } /** * * @param document * @param os * @param compressed If true creates a compressed pdf document * @throws DocumentException */ public PdfSimpleConcatenator(Document document, OutputStream os, boolean compressed) throws DocumentException{ this(document, os); if(compressed){ writer.setFullCompression(); writer.setCompressionLevel(PdfStream.BEST_COMPRESSION); } } public void addDocument(PdfReader reader, String ranges) throws Exception { if(reader != null){ reader.selectPages(ranges); addDocument(reader); }else{ throw new DocumentException("Reader is null"); } } public void addDocument(PdfReader reader) throws Exception { if(reader != null){ int numPages = reader.getNumberOfPages(); for (int count = 1; count <= numPages; count++) { writer.addPage(writer.getImportedPage(reader, count)); } }else{ throw new DocumentException("Reader is null"); } } public void freeReader(PdfReader reader) throws Exception{ writer.freeReader(reader); } public void setOutlines(List outlines) { writer.setOutlines(outlines); } public void close(){ writer.close(); } public void setPdfVersion(char pdfVersion) { writer.setPdfVersion(pdfVersion); } } pdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/pdf/CmdExecuteManager.java0000644000175000017500000001127111165641530031646 0ustar twernertwerner/* * Created on 21-oct-2007 * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.business.pdf; import java.util.Observable; import java.util.Observer; import org.apache.log4j.Logger; import org.pdfsam.console.business.dto.commands.AbstractParsedCommand; import org.pdfsam.console.business.dto.commands.ConcatParsedCommand; import org.pdfsam.console.business.dto.commands.DecryptParsedCommand; import org.pdfsam.console.business.dto.commands.EncryptParsedCommand; import org.pdfsam.console.business.dto.commands.MixParsedCommand; import org.pdfsam.console.business.dto.commands.SetViewerParsedCommand; import org.pdfsam.console.business.dto.commands.SlideShowParsedCommand; import org.pdfsam.console.business.dto.commands.SplitParsedCommand; import org.pdfsam.console.business.dto.commands.UnpackParsedCommand; import org.pdfsam.console.business.pdf.handlers.AlternateMixCmdExecutor; import org.pdfsam.console.business.pdf.handlers.ConcatCmdExecutor; import org.pdfsam.console.business.pdf.handlers.DecryptCmdExecutor; import org.pdfsam.console.business.pdf.handlers.EncryptCmdExecutor; import org.pdfsam.console.business.pdf.handlers.SetViewerCmdExecutor; import org.pdfsam.console.business.pdf.handlers.SlideShowCmdExecutor; import org.pdfsam.console.business.pdf.handlers.SplitCmdExecutor; import org.pdfsam.console.business.pdf.handlers.UnpackCmdExecutor; import org.pdfsam.console.business.pdf.handlers.interfaces.AbstractCmdExecutor; import org.pdfsam.console.exceptions.console.ConsoleException; import org.pdfsam.console.utils.TimeUtility; /** * Manager for the commands execution * @author Andrea Vacondio * */ public class CmdExecuteManager extends Observable implements Observer{ private final Logger log = Logger.getLogger(CmdExecuteManager.class.getPackage().getName()); private AbstractCmdExecutor cmdExecutor = null; /** * Executes the input parsed command * @param parsedCommand * @throws ConsoleException */ public void execute(AbstractParsedCommand parsedCommand) throws ConsoleException{ if(parsedCommand != null){ long start = System.currentTimeMillis(); cmdExecutor = getExecutor(parsedCommand); if(cmdExecutor != null){ cmdExecutor.addObserver(this); cmdExecutor.execute(parsedCommand); log.info("Command '"+parsedCommand.getCommand()+"' executed in "+TimeUtility.format(System.currentTimeMillis()-start)); }else{ throw new ConsoleException(ConsoleException.CMD_LINE_EXECUTOR_NULL, new String[]{""+parsedCommand.getCommand()}); } }else{ throw new ConsoleException(ConsoleException.CMD_LINE_NULL); } } /** * forward the WorkDoneDataModel to the observers */ public void update(Observable arg0, Object arg1) { setChanged(); notifyObservers(arg1); } /** * @param parsedCommand * @return an instance of the proper executor for the parsed command */ private AbstractCmdExecutor getExecutor(AbstractParsedCommand parsedCommand){ AbstractCmdExecutor retVal; if(MixParsedCommand.COMMAND_MIX.equals(parsedCommand.getCommand())){ retVal = new AlternateMixCmdExecutor(); }else if(SplitParsedCommand.COMMAND_SPLIT.equals(parsedCommand.getCommand())){ retVal = new SplitCmdExecutor(); }else if(EncryptParsedCommand.COMMAND_ENCRYPT.equals(parsedCommand.getCommand())){ retVal = new EncryptCmdExecutor(); }else if(ConcatParsedCommand.COMMAND_CONCAT.equals(parsedCommand.getCommand())){ retVal = new ConcatCmdExecutor(); }else if(UnpackParsedCommand.COMMAND_UNPACK.equals(parsedCommand.getCommand())){ retVal = new UnpackCmdExecutor(); }else if(SetViewerParsedCommand.COMMAND_SETVIEWER.equals(parsedCommand.getCommand())){ retVal = new SetViewerCmdExecutor(); }else if(SlideShowParsedCommand.COMMAND_SLIDESHOW.equals(parsedCommand.getCommand())){ retVal = new SlideShowCmdExecutor(); }else if(DecryptParsedCommand.COMMAND_DECRYPT.equals(parsedCommand.getCommand())){ retVal = new DecryptCmdExecutor(); }else { retVal = null; } return retVal; } } pdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/pdf/handlers/0000755000175000017500000000000010712700116027251 5ustar twernertwernerpdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/pdf/handlers/SplitCmdExecutor.java0000644000175000017500000006177411204300724033367 0ustar twernertwerner/* * Created on 22-Oct-2007 * Copyright (C) 2007 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.business.pdf.handlers; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputStream; import java.util.ArrayList; import java.util.Hashtable; import java.util.Iterator; import java.util.LinkedHashSet; import java.util.List; import java.util.TreeSet; import org.apache.log4j.Logger; import org.dom4j.Node; import org.dom4j.io.SAXReader; import org.pdfsam.console.business.ConsoleServicesFacade; import org.pdfsam.console.business.dto.WorkDoneDataModel; import org.pdfsam.console.business.dto.commands.AbstractParsedCommand; import org.pdfsam.console.business.dto.commands.SplitParsedCommand; import org.pdfsam.console.business.pdf.handlers.interfaces.AbstractCmdExecutor; import org.pdfsam.console.exceptions.console.ConsoleException; import org.pdfsam.console.exceptions.console.SplitException; import org.pdfsam.console.utils.FileUtility; import org.pdfsam.console.utils.PdfUtility; import org.pdfsam.console.utils.perfix.FileNameRequest; import org.pdfsam.console.utils.perfix.PrefixParser; import com.lowagie.text.Document; import com.lowagie.text.pdf.PdfImportedPage; import com.lowagie.text.pdf.PdfReader; import com.lowagie.text.pdf.PdfSmartCopy; import com.lowagie.text.pdf.PdfStream; import com.lowagie.text.pdf.RandomAccessFileOrArray; import com.lowagie.text.pdf.SimpleBookmark; /** * Command executor for the split command * @author Andrea Vacondio */ public class SplitCmdExecutor extends AbstractCmdExecutor { private final Logger log = Logger.getLogger(SplitCmdExecutor.class.getPackage().getName()); private PrefixParser prefixParser; public void execute(AbstractParsedCommand parsedCommand) throws ConsoleException { if((parsedCommand != null) && (parsedCommand instanceof SplitParsedCommand)){ SplitParsedCommand inputCommand = (SplitParsedCommand) parsedCommand; setPercentageOfWorkDone(0); try{ prefixParser = new PrefixParser(inputCommand.getOutputFilesPrefix(), inputCommand.getInputFile().getFile().getName()); if(SplitParsedCommand.S_BURST.equals(inputCommand.getSplitType())){ executeBurst(inputCommand); }else if(SplitParsedCommand.S_NSPLIT.equals(inputCommand.getSplitType())){ executeNSplit(inputCommand); }else if(SplitParsedCommand.S_SPLIT.equals(inputCommand.getSplitType())){ executeSplit(inputCommand); }else if(SplitParsedCommand.S_EVEN.equals(inputCommand.getSplitType()) || SplitParsedCommand.S_ODD.equals(inputCommand.getSplitType())){ executeSplitOddEven(inputCommand); }else if(SplitParsedCommand.S_SIZE.equals(inputCommand.getSplitType())){ executeSizeSplit(inputCommand); }else if(SplitParsedCommand.S_BLEVEL.equals(inputCommand.getSplitType())){ executeBookmarksSplit(inputCommand); }else{ throw new SplitException(SplitException.ERR_NOT_VALID_SPLIT_TYPE, new String[]{inputCommand.getSplitType()}); } }catch(Exception e){ throw new SplitException(e); }finally{ setWorkCompleted(); } }else{ throw new ConsoleException(ConsoleException.ERR_BAD_COMMAND); } } /** * Execute the split of a pdf document when split type is S_BURST * @param inputCommand * @throws Exception */ private void executeBurst(SplitParsedCommand inputCommand) throws Exception{ int currentPage; Document currentDocument; PdfReader pdfReader = new PdfReader(new RandomAccessFileOrArray(inputCommand.getInputFile().getFile().getAbsolutePath()),inputCommand.getInputFile().getPasswordBytes()); pdfReader.removeUnusedObjects(); pdfReader.consolidateNamedDestinations(); //we retrieve the total number of pages int n = pdfReader.getNumberOfPages(); int fileNum = 0; log.info("Found "+n+" pages in input pdf document."); for (currentPage = 1; currentPage <= n; currentPage++) { log.debug("Creating a new document."); fileNum++; File tmpFile = FileUtility.generateTmpFile(inputCommand.getOutputFile()); FileNameRequest request = new FileNameRequest(currentPage, fileNum, null); File outFile = new File(inputCommand.getOutputFile().getCanonicalPath(),prefixParser.generateFileName(request)); currentDocument = new Document(pdfReader.getPageSizeWithRotation(currentPage)); PdfSmartCopy pdfWriter = new PdfSmartCopy(currentDocument, new FileOutputStream(tmpFile)); //set creator currentDocument.addCreator(ConsoleServicesFacade.CREATOR); //set compressed if(inputCommand.isCompress()){ pdfWriter.setFullCompression(); pdfWriter.setCompressionLevel(PdfStream.BEST_COMPRESSION); } //set pdf version Character pdfVersion = inputCommand.getOutputPdfVersion(); if(pdfVersion != null){ pdfWriter.setPdfVersion(pdfVersion.charValue()); }else{ pdfWriter.setPdfVersion(pdfReader.getPdfVersion()); } currentDocument.open(); PdfImportedPage importedPage = pdfWriter.getImportedPage(pdfReader, currentPage); pdfWriter.addPage(importedPage); currentDocument.close(); if(FileUtility.renameTemporaryFile(tmpFile, outFile, inputCommand.isOverwrite())){ log.debug("File "+outFile.getCanonicalPath()+" created."); } setPercentageOfWorkDone((currentPage*WorkDoneDataModel.MAX_PERGENTAGE)/n); } pdfReader.close(); log.info("Burst done."); } /** * Execute the split of a pdf document when split type is S_ODD or S_EVEN * @param inputCommand * @throws Exception */ private void executeSplitOddEven(SplitParsedCommand inputCommand) throws Exception{ PdfReader pdfReader = new PdfReader(new RandomAccessFileOrArray(inputCommand.getInputFile().getFile().getAbsolutePath()),inputCommand.getInputFile().getPasswordBytes()); pdfReader.removeUnusedObjects(); pdfReader.consolidateNamedDestinations(); //we retrieve the total number of pages int n = pdfReader.getNumberOfPages(); int fileNum = 0; log.info("Found "+n+" pages in input pdf document."); int currentPage; Document currentDocument = new Document(pdfReader.getPageSizeWithRotation(1)); boolean isTimeToClose = false; PdfSmartCopy pdfWriter = null; PdfImportedPage importedPage; File tmpFile = null; File outFile = null; for (currentPage = 1; currentPage <= n; currentPage++) { //check if i've to read one more page or to open a new doc isTimeToClose = ( (currentPage!=1) && ( (SplitParsedCommand.S_ODD.equals(inputCommand.getSplitType()) && ((currentPage %2) != 0)) || (SplitParsedCommand.S_EVEN.equals(inputCommand.getSplitType()) && ((currentPage %2) == 0)) ) ); if (!isTimeToClose){ log.debug("Creating a new document."); fileNum++; tmpFile = FileUtility.generateTmpFile(inputCommand.getOutputFile()); FileNameRequest request = new FileNameRequest(currentPage, fileNum, null); outFile = new File(inputCommand.getOutputFile(),prefixParser.generateFileName(request)); currentDocument = new Document(pdfReader.getPageSizeWithRotation(currentPage)); pdfWriter = new PdfSmartCopy(currentDocument, new FileOutputStream(tmpFile)); //set creator currentDocument.addCreator(ConsoleServicesFacade.CREATOR); //set compressed if(inputCommand.isCompress()){ pdfWriter.setFullCompression(); pdfWriter.setCompressionLevel(PdfStream.BEST_COMPRESSION); } //set pdf version Character pdfVersion = inputCommand.getOutputPdfVersion(); if(pdfVersion != null){ pdfWriter.setPdfVersion(pdfVersion.charValue()); }else{ pdfWriter.setPdfVersion(pdfReader.getPdfVersion()); } currentDocument.open(); } importedPage = pdfWriter.getImportedPage(pdfReader, currentPage); pdfWriter.addPage(importedPage); //if it's time to close the document if ((isTimeToClose) || (currentPage == n) || ((currentPage==1) && (SplitParsedCommand.S_ODD.equals(inputCommand.getSplitType())))){ currentDocument.close(); if(FileUtility.renameTemporaryFile(tmpFile, outFile, inputCommand.isOverwrite())){ log.debug("File "+outFile.getCanonicalPath()+" created."); } } setPercentageOfWorkDone((currentPage*WorkDoneDataModel.MAX_PERGENTAGE)/n); } pdfReader.close(); log.info("Split "+inputCommand.getSplitType()+" done."); } /** * Execute the split of a pdf document when split type is S_SPLIT or S_NSPLIT * @param inputCommand * @throws Exception */ private void executeSplit(SplitParsedCommand inputCommand) throws Exception{ executeSplit(inputCommand, null); } /** * Execute the split of a pdf document when split type is S_BLEVEL * @param inputCommand * @param bookmarksTable bookmarks table. It's populated only when splitting by bookmarks. If null or empty it's ignored * @throws Exception */ private void executeSplit(SplitParsedCommand inputCommand, Hashtable bookmarksTable) throws Exception{ PdfReader pdfReader = new PdfReader(new RandomAccessFileOrArray(inputCommand.getInputFile().getFile().getAbsolutePath()),inputCommand.getInputFile().getPasswordBytes()); pdfReader.removeUnusedObjects(); pdfReader.consolidateNamedDestinations(); int n = pdfReader.getNumberOfPages(); int fileNum = 0; log.info("Found "+n+" pages in input pdf document."); Integer[] limits = inputCommand.getSplitPageNumbers(); // limits list validation end clean TreeSet limitsList = validateSplitLimits(limits, n); if (limitsList.isEmpty()) { throw new SplitException(SplitException.ERR_NO_PAGE_LIMITS); } // HERE I'M SURE I'VE A LIMIT LIST WITH VALUES, I CAN START BOOKMARKS int currentPage; Document currentDocument = new Document(pdfReader.getPageSizeWithRotation(1)); int relativeCurrentPage = 0; int endPage = n; int startPage = 1; PdfSmartCopy pdfWriter = null; PdfImportedPage importedPage; File tmpFile = null; File outFile = null; Iterator itr = limitsList.iterator(); if (itr.hasNext()){ endPage = ((Integer)itr.next()).intValue(); } for (currentPage = 1; currentPage <= n; currentPage++) { relativeCurrentPage++; //check if i've to read one more page or to open a new doc if (relativeCurrentPage == 1){ log.debug("Creating a new document."); fileNum++; tmpFile = FileUtility.generateTmpFile(inputCommand.getOutputFile()); String bookmark = null; if(bookmarksTable!=null && bookmarksTable.size()>0){ bookmark = (String)bookmarksTable.get(new Integer(currentPage)); } FileNameRequest request = new FileNameRequest(currentPage, fileNum, bookmark); outFile = new File(inputCommand.getOutputFile(),prefixParser.generateFileName(request)); startPage = currentPage; currentDocument = new Document(pdfReader.getPageSizeWithRotation(currentPage)); pdfWriter = new PdfSmartCopy(currentDocument, new FileOutputStream(tmpFile)); //set creator currentDocument.addCreator(ConsoleServicesFacade.CREATOR); //compression if(inputCommand.isCompress()){ pdfWriter.setFullCompression(); pdfWriter.setCompressionLevel(PdfStream.BEST_COMPRESSION); } //set pdf version Character pdfVersion = inputCommand.getOutputPdfVersion(); if(pdfVersion != null){ pdfWriter.setPdfVersion(pdfVersion.charValue()); }else{ pdfWriter.setPdfVersion(pdfReader.getPdfVersion()); } currentDocument.open(); } importedPage = pdfWriter.getImportedPage(pdfReader, currentPage); pdfWriter.addPage(importedPage); // if it's time to close the document if (currentPage == endPage) { log.info("Temporary document "+tmpFile.getName()+" done, now adding bookmarks..."); //manage bookmarks ArrayList master = new ArrayList(); List thisBook = SimpleBookmark.getBookmark(pdfReader); if (thisBook != null) { SimpleBookmark.eliminatePages(thisBook, new int[]{endPage+1, n}); if (startPage > 1){ SimpleBookmark.eliminatePages(thisBook, new int[]{1,startPage-1}); SimpleBookmark.shiftPageNumbers(thisBook, -(startPage-1), null); } master.addAll(thisBook); pdfWriter.setOutlines(master); } relativeCurrentPage = 0; currentDocument.close(); if(FileUtility.renameTemporaryFile(tmpFile, outFile, inputCommand.isOverwrite())){ log.debug("File "+outFile.getCanonicalPath()+" created."); } endPage = (itr.hasNext())? ((Integer)itr.next()).intValue(): n; } setPercentageOfWorkDone((currentPage*WorkDoneDataModel.MAX_PERGENTAGE)/n); } pdfReader.close(); log.info("Split "+inputCommand.getSplitType()+" done."); } /** * Execute the split of a pdf document when split type is S_NSPLIT * @param inputCommand * @throws Exception */ private void executeNSplit(SplitParsedCommand inputCommand) throws Exception { Integer[] numberPages = inputCommand.getSplitPageNumbers(); if(numberPages != null && numberPages.length == 1){ PdfReader pdfReader = new PdfReader(new RandomAccessFileOrArray(inputCommand.getInputFile().getFile().getAbsolutePath()),inputCommand.getInputFile().getPasswordBytes()); pdfReader.removeUnusedObjects(); pdfReader.consolidateNamedDestinations(); int n = pdfReader.getNumberOfPages(); int numberPage = numberPages[0].intValue(); if (numberPage < 1 || numberPage > n) { pdfReader.close(); throw new SplitException(SplitException.ERR_NO_SUCH_PAGE, new String[]{""+numberPage}); }else{ ArrayList retVal = new ArrayList(); for (int i = numberPage; i < n; i += numberPage) { retVal.add(new Integer(i)); } inputCommand.setSplitPageNumbers((Integer[])retVal.toArray(new Integer[0])); } pdfReader.close(); } executeSplit(inputCommand); } /** * Execute the split of a pdf document when split type is S_BLEVEL * * @param inputCommand * @throws Exception */ private void executeBookmarksSplit(SplitParsedCommand inputCommand) throws Exception { PdfReader pdfReader = new PdfReader(new RandomAccessFileOrArray(inputCommand.getInputFile().getFile().getAbsolutePath()),inputCommand.getInputFile().getPasswordBytes()); int bLevel = inputCommand.getBookmarksLevel().intValue(); Hashtable bookmarksTable = new Hashtable(); if(bLevel>0){ pdfReader.removeUnusedObjects(); pdfReader.consolidateNamedDestinations(); List bookmarks = SimpleBookmark.getBookmark(pdfReader); ByteArrayOutputStream out = new ByteArrayOutputStream(); SimpleBookmark.exportToXML(bookmarks, out, "UTF-8", false); ByteArrayInputStream input = new ByteArrayInputStream(out.toByteArray()); int maxDepth = PdfUtility.getMaxBookmarksDepth(input); input.reset(); if(bLevel<=maxDepth){ SAXReader reader = new SAXReader(); org.dom4j.Document document = reader.read(input); //head node String headBookmarkXQuery = "/Bookmark/Title[@Action=\"GoTo\"]"; Node headNode = document.selectSingleNode(headBookmarkXQuery); if(headNode!=null && headNode.getText()!=null && headNode.getText().trim().length()>0){ bookmarksTable.put(new Integer(1), headNode.getText().trim()); } //bLevel nodes String xQuery = "/Bookmark"; for(int i=0; i0){ LinkedHashSet pageSet = new LinkedHashSet(nodes.size()); for(Iterator nodeIter = nodes.iterator(); nodeIter.hasNext();){ Node currentNode = (Node) nodeIter.next(); Node pageAttribute = currentNode.selectSingleNode("@Page"); if(pageAttribute!=null && pageAttribute.getText().length()>0){ String attribute = pageAttribute.getText(); int blankIndex = attribute.indexOf(' '); if(blankIndex>0){ Integer currentNumber = new Integer(attribute.substring(0, blankIndex)); //fix #2789963 if(currentNumber.intValue()>0){ //to split just before the given page if((currentNumber.intValue())>1){ pageSet.add(new Integer(currentNumber.intValue()-1)); } String bookmarkText = currentNode.getText(); if(bookmarkText!=null && bookmarkText.trim().length()>0){ bookmarksTable.put(currentNumber, bookmarkText.trim()); } } } } } if(pageSet.size()>0){ log.debug("Found "+pageSet.size()+" destination pages at level "+bLevel); inputCommand.setSplitPageNumbers((Integer[])pageSet.toArray(new Integer[pageSet.size()])); }else{ throw new SplitException(SplitException.ERR_BLEVEL_NO_DEST, new String[] { "" + bLevel }); } }else{ throw new SplitException(SplitException.ERR_BLEVEL, new String[] { "" + bLevel }); } }else{ input.close(); pdfReader.close(); throw new SplitException(SplitException.ERR_BLEVEL_OUTOFBOUNDS, new String[] { "" + bLevel, "" + maxDepth }); } }else{ pdfReader.close(); throw new SplitException(SplitException.ERR_NOT_VALID_BLEVEL, new String[] { "" + bLevel }); } pdfReader.close(); executeSplit(inputCommand, bookmarksTable); } /** * Execute the split of a pdf document when split type is S_SIZE * @param inputCommand * @throws Exception */ private void executeSizeSplit(SplitParsedCommand inputCommand) throws Exception{ PdfReader pdfReader = new PdfReader(new RandomAccessFileOrArray(inputCommand.getInputFile().getFile().getAbsolutePath()),inputCommand.getInputFile().getPasswordBytes()); pdfReader.removeUnusedObjects(); pdfReader.consolidateNamedDestinations(); int n = pdfReader.getNumberOfPages(); int fileNum = 0; log.info("Found "+n+" pages in input pdf document."); int currentPage; Document currentDocument = new Document(pdfReader.getPageSizeWithRotation(1)); PdfSmartCopy pdfWriter = null; PdfImportedPage importedPage; File tmpFile = null; File outFile = null; ByteArrayOutputStream baos = new ByteArrayOutputStream(); int startPage = 0; int relativeCurrentPage = 0; for (currentPage = 1; currentPage <= n; currentPage++) { relativeCurrentPage++; //time to open a new document? if (relativeCurrentPage == 1){ log.debug("Creating a new document."); startPage = currentPage; fileNum++; tmpFile = FileUtility.generateTmpFile(inputCommand.getOutputFile()); FileNameRequest request = new FileNameRequest(currentPage, fileNum, null); outFile = new File(inputCommand.getOutputFile(),prefixParser.generateFileName(request)); currentDocument = new Document(pdfReader.getPageSizeWithRotation(currentPage)); baos = new ByteArrayOutputStream(); pdfWriter = new PdfSmartCopy(currentDocument, baos); //set creator currentDocument.addCreator(ConsoleServicesFacade.CREATOR); //compression if(inputCommand.isCompress()){ pdfWriter.setFullCompression(); pdfWriter.setCompressionLevel(PdfStream.BEST_COMPRESSION); } //set pdf version Character pdfVersion = inputCommand.getOutputPdfVersion(); if(pdfVersion != null){ pdfWriter.setPdfVersion(pdfVersion.charValue()); }else{ pdfWriter.setPdfVersion(pdfReader.getPdfVersion()); } currentDocument.open(); } importedPage = pdfWriter.getImportedPage(pdfReader, currentPage); pdfWriter.addPage(importedPage); //if it's time to close the document if ((currentPage == n) || ((relativeCurrentPage>1) && ((baos.size()/relativeCurrentPage)*(1+relativeCurrentPage) > inputCommand.getSplitSize().longValue()))){ log.debug("Current stream size: "+baos.size()+" bytes."); //manage bookmarks ArrayList master = new ArrayList(); List thisBook = SimpleBookmark.getBookmark(pdfReader); if (thisBook != null) { SimpleBookmark.eliminatePages(thisBook, new int[]{currentPage+1, n}); if (startPage > 1){ SimpleBookmark.eliminatePages(thisBook, new int[]{1,startPage-1}); SimpleBookmark.shiftPageNumbers(thisBook, -(startPage-1), null); } master.addAll(thisBook); pdfWriter.setOutlines(master); } relativeCurrentPage = 0; currentDocument.close(); FileOutputStream fos = new FileOutputStream(tmpFile); baos.writeTo(fos); fos.close(); baos.close(); log.info("Temporary document "+tmpFile.getName()+" done."); if(FileUtility.renameTemporaryFile(tmpFile, outFile, inputCommand.isOverwrite())){ log.debug("File "+outFile.getCanonicalPath()+" created."); } } setPercentageOfWorkDone((currentPage*WorkDoneDataModel.MAX_PERGENTAGE)/n); } pdfReader.close(); log.info("Split "+inputCommand.getSplitType()+" done."); } /** * Validate the limit list in "split after these pages" * * @param limits limits array containing page numbers * @param upperLimit max page number * @return purged list */ private TreeSet validateSplitLimits(Integer[] limits, int upperLimit) { TreeSet limitsList = new TreeSet(); /* * I check if it contains zero values or double values and * i remove them */ for (int j = 0; j < limits.length; j++) { if ((limits[j].intValue() <= 0) || (limits[j].intValue() >= upperLimit)) { log.warn("Cannot split before page number " + limits[j].intValue()+ ", limit removed."); } else{ if(!limitsList.add(limits[j])){ log.warn(limits[j].intValue()+ " found more than once in the page limits list, limit removed."); } } } return limitsList; } } pdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/pdf/handlers/interfaces/0000755000175000017500000000000010712700116031374 5ustar twernertwerner././@LongLink0000000000000000000000000000016200000000000011564 Lustar rootrootpdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/pdf/handlers/interfaces/AbstractCmdExecutor.javapdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/pdf/handlers/interfaces/AbstractCmd0000644000175000017500000001141311162214774033520 0ustar twernertwerner/* * Created on 18-Oct-2007 * Copyright (C) 2006 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.business.pdf.handlers.interfaces; import java.io.File; import java.util.ArrayList; import java.util.Arrays; import java.util.Observable; import org.apache.log4j.Logger; import org.pdfsam.console.business.dto.PdfFile; import org.pdfsam.console.business.dto.WorkDoneDataModel; import org.pdfsam.console.business.dto.commands.AbstractParsedCommand; import org.pdfsam.console.exceptions.console.ConsoleException; import org.pdfsam.console.utils.FilenameComparator; import org.pdfsam.console.utils.PdfFilter; /** * Abstract command executor * @author Andrea Vacondio * */ public abstract class AbstractCmdExecutor extends Observable implements CmdExecutor { private final Logger log = Logger.getLogger(AbstractCmdExecutor.class.getPackage().getName()); private WorkDoneDataModel workDone = null; /** * set the percentage of work done for the current execution and notify the observers * @param percentage */ protected final void setPercentageOfWorkDone(int percentage){ if(workDone == null){ workDone = new WorkDoneDataModel(); } workDone.setPercentage(percentage); setChanged(); notifyObservers(workDone); } /** * set the percentage of work done to indeterminate for the current execution and notify the observers */ protected final void setWorkIndeterminate(){ setPercentageOfWorkDone(WorkDoneDataModel.INDETERMINATE); } /** * set the work completed for the current execution and notify the observers */ protected final void setWorkCompleted(){ setPercentageOfWorkDone(WorkDoneDataModel.MAX_PERGENTAGE); } /** * reset the percentage of work done */ protected final void resetPercentageOfWorkDone(){ if(workDone != null){ workDone.resetPercentage(); } } public abstract void execute(AbstractParsedCommand parsedCommand) throws ConsoleException; /** * get an array of PdfFile in the input directory alphabetically ordered * @param directory * @return PdfFile array from the input directory */ protected PdfFile[] getPdfFiles(File directory){ PdfFile[] retVal = null; if(directory != null && directory.isDirectory()){ File[] fileList = directory.listFiles(new PdfFilter()); Arrays.sort(fileList, new FilenameComparator()); ArrayList list = new ArrayList(); for (int i=0; i0)){ File listFile = inputCommand.getInputCvsOrXmlFile(); if(listFile != null && listFile.exists()){ fileList = parseListFile(listFile); }else if(inputCommand.getInputDirectory() != null){ fileList = getPdfFiles(inputCommand.getInputDirectory()); } } //no input file found if (fileList== null || !(fileList.length >0)){ throw new ConcatException(ConcatException.CMD_NO_INPUT_FILE); } //init int pageOffset = 0; ArrayList master = new ArrayList(); Document pdfDocument = null; PdfConcatenator pdfWriter = null; int totalProcessedPages = 0; PdfReader pdfReader; try{ String[] pageSelection = inputCommand.getPageSelection().split(":"); File tmpFile = FileUtility.generateTmpFile(inputCommand.getOutputFile()); for(int i=0; i0)? ","+bounds.toString() : bounds.toString(); //bookmarks List bookmarks = SimpleBookmark.getBookmark(pdfReader); if (bookmarks != null) { //if the end page is not the end of the doc, delete bookmarks after it if (bounds.getEnd() < pdfNumberOfPages){ SimpleBookmark.eliminatePages(bookmarks, new int[]{bounds.getEnd()+1, pdfNumberOfPages}); } // if start page isn't the first page of the document, delete bookmarks before it if (bounds.getStart() > 1){ SimpleBookmark.eliminatePages(bookmarks, new int[]{1,bounds.getStart()-1}); //bookmarks references must be taken back SimpleBookmark.shiftPageNumbers(bookmarks, -(bounds.getStart()-1), null); } if (pageOffset != 0){ SimpleBookmark.shiftPageNumbers(bookmarks, pageOffset, null); } master.addAll(bookmarks); } int relativeOffset = (bounds.getEnd() - bounds.getStart())+1; currentDocumentPages += relativeOffset; pageOffset += relativeOffset; } //add pages log.info(fileList[i].getFile().getAbsolutePath()+ ": " + currentDocumentPages + " pages to be added."); if (pdfWriter == null) { if(inputCommand.isCopyFields()){ // step 1: we create a writer pdfWriter = new PdfCopyFieldsConcatenator(new FileOutputStream(tmpFile), inputCommand.isCompress()); log.debug("PdfCopyFieldsConcatenator created."); //output document version if(inputCommand.getOutputPdfVersion() != null){ pdfWriter.setPdfVersion(inputCommand.getOutputPdfVersion().charValue()); } HashMap meta = pdfReader.getInfo(); meta.put("Creator", ConsoleServicesFacade.CREATOR); }else{ // step 1: creation of a document-object pdfDocument = new Document(pdfReader.getPageSizeWithRotation(1)); // step 2: we create a writer that listens to the document pdfWriter = new PdfSimpleConcatenator(pdfDocument, new FileOutputStream(tmpFile), inputCommand.isCompress()); log.debug("PdfSimpleConcatenator created."); //output document version if(inputCommand.getOutputPdfVersion() != null){ pdfWriter.setPdfVersion(inputCommand.getOutputPdfVersion().charValue()); } // step 3: we open the document pdfDocument.addCreator(ConsoleServicesFacade.CREATOR); pdfDocument.open(); } } // step 4: we add content pdfReader.selectPages(boundsString); pdfWriter.addDocument(pdfReader); //fix 03/07 //pdfReader = null; pdfReader.close(); pdfWriter.freeReader(pdfReader); totalProcessedPages += currentDocumentPages; log.info(currentDocumentPages + " pages processed correctly."); setPercentageOfWorkDone(((i+1)*WorkDoneDataModel.MAX_PERGENTAGE)/fileList.length); } if (master.size() > 0){ pdfWriter.setOutlines(master); } log.info("Total processed pages: " + totalProcessedPages + "."); // step 5: we close the document if(pdfDocument != null){ pdfDocument.close(); } pdfWriter.close(); //rotations if(inputCommand.getRotations()!=null && inputCommand.getRotations().length>0){ log.info("Applying pages rotation."); File rotatedTmpFile = applyRotations(tmpFile, inputCommand); FileUtility.deleteFile(tmpFile); if(FileUtility.renameTemporaryFile(rotatedTmpFile, inputCommand.getOutputFile(), inputCommand.isOverwrite())){ log.debug("File "+inputCommand.getOutputFile().getCanonicalPath()+" created."); } }else if(FileUtility.renameTemporaryFile(tmpFile, inputCommand.getOutputFile(), inputCommand.isOverwrite())){ log.debug("File "+inputCommand.getOutputFile().getCanonicalPath()+" created."); } }catch(Exception e){ throw new ConcatException(e); }finally{ setWorkCompleted(); } }else{ throw new ConsoleException(ConsoleException.ERR_BAD_COMMAND); } } /** * Apply pages rotations * @param inputFile * @param inputCommand * @return temporary file with pages rotation */ private File applyRotations(File inputFile, ConcatParsedCommand inputCommand) throws Exception{ FileInputStream readerIs = new FileInputStream(inputFile); PdfReader tmpPdfReader = new PdfReader(readerIs); tmpPdfReader.removeUnusedObjects(); tmpPdfReader.consolidateNamedDestinations(); int pdfNumberOfPages = tmpPdfReader.getNumberOfPages(); PageRotation[] rotations = inputCommand.getRotations(); if(rotations!=null && rotations.length>0){ if(rotations.length>1){ for(int i=0; i=rotations[i].getPageNumber() && rotations[i].getPageNumber()>0){ PdfDictionary dictionary = tmpPdfReader.getPageN(rotations[i].getPageNumber()); int rotation = (rotations[i].getDegrees() + tmpPdfReader.getPageRotation(rotations[i].getPageNumber()))%360; dictionary.put(PdfName.ROTATE, new PdfNumber(rotation)); }else{ log.warn("Rotation for page "+rotations[i].getPageNumber()+" ignored."); } } }else{ //rotate all if(rotations[0].getType() == PageRotation.ALL_PAGES){ int pageRotation = rotations[0].getDegrees(); for(int i=1; i<=pdfNumberOfPages; i++){ PdfDictionary dictionary = tmpPdfReader.getPageN(i); int rotation = (pageRotation+tmpPdfReader.getPageRotation(i))%360; dictionary.put(PdfName.ROTATE, new PdfNumber(rotation)); } }else if(rotations[0].getType() == PageRotation.SINGLE_PAGE){ //single page rotation if(pdfNumberOfPages>=rotations[0].getPageNumber() && rotations[0].getPageNumber()>0){ PdfDictionary dictionary = tmpPdfReader.getPageN(rotations[0].getPageNumber()); int rotation = (rotations[0].getDegrees()+tmpPdfReader.getPageRotation(rotations[0].getPageNumber()))%360; dictionary.put(PdfName.ROTATE, new PdfNumber(rotation)); }else{ log.warn("Rotation for page "+rotations[0].getPageNumber()+" ignored."); } }else if(rotations[0].getType() == PageRotation.ODD_PAGES){ //odd pages rotation int pageRotation = rotations[0].getDegrees(); for(int i=1; i<=pdfNumberOfPages; i=i+2){ PdfDictionary dictionary = tmpPdfReader.getPageN(i); int rotation = (pageRotation+tmpPdfReader.getPageRotation(i))%360; dictionary.put(PdfName.ROTATE, new PdfNumber(rotation)); } }else if(rotations[0].getType() == PageRotation.EVEN_PAGES){ //even pages rotation int pageRotation = rotations[0].getDegrees(); for(int i=2; i<=pdfNumberOfPages; i=i+2){ PdfDictionary dictionary = tmpPdfReader.getPageN(i); int rotation = (pageRotation+tmpPdfReader.getPageRotation(i))%360; dictionary.put(PdfName.ROTATE, new PdfNumber(rotation)); } }else{ log.warn("Unable to find the rotation type. "+rotations[0]); } } log.info("Pages rotation applied."); } File rotatedTmpFile = FileUtility.generateTmpFile(inputCommand.getOutputFile()); FileOutputStream fos = new FileOutputStream(rotatedTmpFile); PdfStamper stamper = new PdfStamper(tmpPdfReader, fos); stamper.close(); fos.close(); readerIs.close(); tmpPdfReader.close(); return rotatedTmpFile; } private Bounds getBounds(int pdfNumberOfPages, String currentPageSelection) throws ConcatException{ Bounds retVal = new Bounds(pdfNumberOfPages , 1); if (!(ALL_STRING.equals(currentPageSelection))){ boolean valid = true; String[] limits = currentPageSelection.split("-"); try{ retVal.setStart(Integer.parseInt(limits[0])); //if there's an end limit if(limits.length > 1){ retVal.setEnd(Integer.parseInt(limits[1])); }else{ //difference between '4' and '4-' if(currentPageSelection.indexOf('-')== -1){ retVal.setEnd(Integer.parseInt(limits[0])); }else{ retVal.setEnd(pdfNumberOfPages); } } }catch(NumberFormatException nfe){ throw new ConcatException(ConcatException.ERR_SYNTAX, new String[]{""+currentPageSelection},nfe); } if(valid){ //validation if (retVal.getStart() <= 0){ throw new ConcatException(ConcatException.ERR_NOT_POSITIVE, new String[]{""+retVal.getStart(), ""+currentPageSelection}); } else if (retVal.getEnd() > pdfNumberOfPages){ throw new ConcatException(ConcatException.ERR_CANNOT_MERGE, new String[]{""+retVal.getEnd()}); } else if (retVal.getStart() > retVal.getEnd()){ throw new ConcatException(ConcatException.ERR_START_BIGGER_THAN_END, new String[]{""+retVal.getStart(),""+retVal.getEnd(),""+currentPageSelection}); } } } return retVal; } /** * Reads the input cvs file and return a File[] of input files * @param inputFile CSV input file (separator ",") * @return PdfFile[] of files */ private PdfFile[] parseCsvFile(File inputFile)throws ConcatException{ ArrayList retVal = new ArrayList(); try { log.debug("Parsing CSV file "+inputFile.getAbsolutePath()); BufferedReader bufferReader = new BufferedReader(new FileReader(inputFile)); String temp = ""; //read file while ((temp = bufferReader.readLine()) != null){ String[] tmpContent = temp.split(","); for (int i = 0; i 0){ retVal.add(new PdfFile(tmpContent[i], null)); } } } bufferReader.close(); } catch (IOException e) { throw new ConcatException(ConcatException.ERR_READING_CSV_OR_XML,new String[]{inputFile.getAbsolutePath()}, e); } return (PdfFile[])retVal.toArray(new PdfFile[0]); } /** * Reads the input xml file and return a File[] of input files * @param inputFile XML input file * @return PdfFile[] of files */ private PdfFile[] parseXmlFile(File inputFile)throws ConcatException{ List fileList = new ArrayList(); String parentPath = null; try { log.debug("Parsing xml file "+inputFile.getAbsolutePath()); SAXReader reader = new SAXReader(); org.dom4j.Document document = reader.read(inputFile); List nodes = document.selectNodes("/filelist/*"); parentPath = inputFile.getParent(); for(Iterator iter= nodes.iterator(); iter.hasNext();){ Node domNode = (Node) iter.next(); String nodeName = domNode.getName(); if(FILESET_NODE.equals(nodeName)){ //found a fileset node fileList.addAll(getFileNodesFromFileset(domNode, parentPath)); }else if (FILE_NODE.equals(nodeName)){ fileList.add(getPdfFileFromNode(domNode, null)); }else{ log.warn("Node type not supported: "+nodeName); } } }catch (Exception e) { throw new ConcatException(ConcatException.ERR_READING_CSV_OR_XML,new String[]{inputFile.getAbsolutePath()}, e); } return (PdfFile[])fileList.toArray(new PdfFile[0]); } /** * given a fileset node returns the PdfFile objects * @param fileSetNode * @param parentDir * @return a list of PdfFile objects * @throws Exception */ private List getFileNodesFromFileset(Node fileSetNode, String parentDir) throws Exception{ String parentPath=null; Node useCurrentDir = fileSetNode.selectSingleNode("@usecurrentdir"); Node dir = fileSetNode.selectSingleNode("@dir"); if(dir != null && dir.getText().trim().length()>0){ parentPath = dir.getText(); }else{ if(useCurrentDir!=null && Boolean.valueOf(useCurrentDir.getText()).booleanValue()){ parentPath = parentDir; } } return getPdfFileListFromNode(fileSetNode.selectNodes("file"), parentPath); } /** * @param fileList Node list of file nodes * @param parentPath parent dir for the files or null * @return list of PdfFile */ private List getPdfFileListFromNode(List fileList, String parentPath) throws Exception{ List retVal = new ArrayList(); for (int i = 0; fileList != null && i < fileList.size(); i++) { Node pdfNode = (Node) fileList.get(i); retVal.add(getPdfFileFromNode(pdfNode, parentPath)); } return retVal; } /** * @param pdfNode input node * @param parentPath file parent path or null * @return a PdfFile object given a file node * @throws Exception */ private PdfFile getPdfFileFromNode(Node pdfNode, String parentPath) throws Exception{ PdfFile retVal = null; String pwd = null; String fileName = null; //get filename Node fileNode = pdfNode.selectSingleNode("@value"); if(fileNode != null){ fileName = fileNode.getText().trim(); }else{ throw new ConcatException(ConcatException.ERR_READING_CSV_OR_XML, new String[]{"Empty file name."}); } //get pwd value Node pwdNode = pdfNode.selectSingleNode("@password"); if(pwdNode != null){ pwd = pwdNode.getText(); } if(parentPath!=null && parentPath.length()>0){ retVal = new PdfFile(new File(parentPath,fileName), pwd); }else{ retVal = new PdfFile(fileName, pwd); } return retVal; } /** * Reads the input file and return a File[] of input files * @param listFile XML or CSV input file * @return File[] of files */ private PdfFile[] parseListFile(File listFile) throws ConcatException{ PdfFile[] retVal = new PdfFile[0]; if(listFile != null && listFile.exists()){ if (getExtension(listFile).equals("xml")){ retVal = parseXmlFile(listFile); }else if (getExtension(listFile).equals("csv")){ retVal = parseCsvFile(listFile); }else { throw new ConcatException(ConcatException.ERR_READING_CSV_OR_XML, new String[]{"Unsupported extension."}); } }else{ throw new ConcatException(ConcatException.ERR_READING_CSV_OR_XML, new String[]{"Input file doesn't exists."}); } return retVal; } /** * get the extension of the input file * @param f * @return the extension */ private String getExtension(File f) { String ext = null; String s = f.getName(); int i = s.lastIndexOf('.'); if (i > 0 && i < s.length() - 1) { ext = s.substring(i+1).toLowerCase(); } return ext; } } ././@LongLink0000000000000000000000000000015000000000000011561 Lustar rootrootpdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/pdf/handlers/SlideShowCmdExecutor.javapdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/pdf/handlers/SlideShowCmdExecutor.j0000644000175000017500000003536411224652036033511 0ustar twernertwerner/* * Created on 06-Mar-2008 * Copyright (C) 2008 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.business.pdf.handlers; import java.io.File; import java.io.FileOutputStream; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.Hashtable; import java.util.List; import org.apache.log4j.Logger; import org.dom4j.Document; import org.dom4j.Node; import org.dom4j.io.SAXReader; import org.pdfsam.console.business.ConsoleServicesFacade; import org.pdfsam.console.business.dto.Transition; import org.pdfsam.console.business.dto.WorkDoneDataModel; import org.pdfsam.console.business.dto.commands.AbstractParsedCommand; import org.pdfsam.console.business.dto.commands.SlideShowParsedCommand; import org.pdfsam.console.business.pdf.handlers.interfaces.AbstractCmdExecutor; import org.pdfsam.console.exceptions.console.ConsoleException; import org.pdfsam.console.exceptions.console.SlideShowException; import org.pdfsam.console.utils.FileUtility; import org.pdfsam.console.utils.perfix.PrefixParser; import com.lowagie.text.pdf.PdfReader; import com.lowagie.text.pdf.PdfStamper; import com.lowagie.text.pdf.PdfStream; import com.lowagie.text.pdf.PdfTransition; import com.lowagie.text.pdf.PdfWriter; import com.lowagie.text.pdf.RandomAccessFileOrArray; /** * Command executor for the slideshow command * @author Andrea Vacondio */ public class SlideShowCmdExecutor extends AbstractCmdExecutor { private final Logger log = Logger.getLogger(SlideShowCmdExecutor.class.getPackage().getName()); private Hashtable transitionsMappingMap = null; public void execute(AbstractParsedCommand parsedCommand) throws ConsoleException { if((parsedCommand != null) && (parsedCommand instanceof SlideShowParsedCommand)){ SlideShowParsedCommand inputCommand = (SlideShowParsedCommand) parsedCommand; PdfReader pdfReader; PdfStamper pdfStamper; PrefixParser prefixParser; setPercentageOfWorkDone(0); Transitions transitions = new Transitions(); transitions.setDefaultTransition(inputCommand.getDefaultTransition()); transitions.setTransitions(inputCommand.getTransitions()); transitions = parseXmlInput(inputCommand.getInputXmlFile(), transitions); try{ prefixParser = new PrefixParser(inputCommand.getOutputFilesPrefix(), inputCommand.getInputFile().getFile().getName()); File tmpFile = FileUtility.generateTmpFile(inputCommand.getOutputFile()); pdfReader = new PdfReader(new RandomAccessFileOrArray(inputCommand.getInputFile().getFile().getAbsolutePath()),inputCommand.getInputFile().getPasswordBytes()); pdfReader.removeUnusedObjects(); pdfReader.consolidateNamedDestinations(); //version log.debug("Creating a new document."); Character pdfVersion = inputCommand.getOutputPdfVersion(); if(pdfVersion != null){ pdfStamper = new PdfStamper(pdfReader, new FileOutputStream(tmpFile), inputCommand.getOutputPdfVersion().charValue()); }else{ pdfStamper = new PdfStamper(pdfReader, new FileOutputStream(tmpFile), pdfReader.getPdfVersion()); } //creator HashMap meta = pdfReader.getInfo(); meta.put("Creator", ConsoleServicesFacade.CREATOR); //compression if(inputCommand.isCompress()){ pdfStamper.setFullCompression(); pdfStamper.getWriter().setCompressionLevel(PdfStream.BEST_COMPRESSION); } pdfStamper.setMoreInfo(meta); //fullscreen if(inputCommand.isFullScreen()){ pdfStamper.setViewerPreferences(PdfWriter.PageModeFullScreen); } //sets transitions if(transitions.getDefaultTransition()==null){ setTransitionsWithoutDefault(transitions, pdfStamper); }else{ int totalPages = pdfReader.getNumberOfPages(); setTransitionsWithDefault(transitions, totalPages, pdfStamper); } pdfStamper.close(); File outFile = new File(inputCommand.getOutputFile() ,prefixParser.generateFileName()); if(FileUtility.renameTemporaryFile(tmpFile, outFile, inputCommand.isOverwrite())){ log.debug("File "+outFile.getCanonicalPath()+" created."); } pdfReader.close(); log.info("Slide show options set."); }catch(Exception e){ throw new SlideShowException(e); }finally{ setWorkCompleted(); } }else{ throw new ConsoleException(ConsoleException.ERR_BAD_COMMAND); } } /** * sets the transitions on the stamper setting the default value if no transition has been set for the page. * @param defaultTransition * @param totalPages * @param transitions * @param pdfStamper */ private void setTransitionsWithDefault(Transitions transitions, int totalPages, PdfStamper pdfStamper){ log.debug("Setting transitions with a default value."); Transition[] trans = transitions.getTransitions(); Hashtable transitionsMap = new Hashtable(0) ; if(trans!=null){ transitionsMap = new Hashtable(trans.length); for(int i=0; i0){ for(int i=0; i0)){ throw new UnpackException(UnpackException.CMD_NO_INPUT_FILE); } for(int i = 0; i0){ log.info("File "+fileList[i].getFile().getName()+" unpacked, found "+unpackedFiles+" attachments."); }else{ log.info("No attachments in "+fileList[i].getFile().getName()+"."); } setPercentageOfWorkDone(((i+1)*WorkDoneDataModel.MAX_PERGENTAGE)/fileList.length); }catch(Exception e){ log.error("Error unpacking file "+fileList[i].getFile().getName(), e); } } }catch(Exception e){ throw new UnpackException(e); }finally{ setWorkCompleted(); } } else{ throw new ConsoleException(ConsoleException.ERR_BAD_COMMAND); } } /** * Unpack * @param filespec the dictionary * @param outPath output directory * @param overwrite if true overwrite if already exists * @return number of unpacked files * @throws IOException */ private int unpackFile(PdfDictionary filespec, File outPath, boolean overwrite) throws IOException { int retVal = 0; if (filespec != null){ PdfName type = (PdfName) PdfReader.getPdfObject(filespec.get(PdfName.TYPE)); if (PdfName.F.equals(type) || PdfName.FILESPEC.equals(type)){ PdfDictionary ef = (PdfDictionary) PdfReader.getPdfObject(filespec.get(PdfName.EF)); PdfString fn = (PdfString) PdfReader.getPdfObject(filespec.get(PdfName.F)); if (fn != null && ef != null){ log.debug("Unpacking file " + fn + " to " + outPath); File fLast = new File(fn.toUnicodeString()); File fullPath = new File(outPath, fLast.getName()); if (fullPath.exists()){ //check if overwrite is allowed if (overwrite){ if(!fullPath.delete()){ log.warn("Unable to overwrite "+fullPath.getAbsolutePath()+", unable to unpack."); } }else{ log.warn("Cannot overwrite "+fullPath.getAbsolutePath()+" (overwrite is false), unable to unpack."); } } else{ PRStream prs = (PRStream) PdfReader.getPdfObject(ef.get(PdfName.F)); if (prs != null){ byte b[] = PdfReader.getStreamBytes(prs); FileOutputStream fout = new FileOutputStream(fullPath); fout.write(b); fout.close(); retVal = 1; } } } } } return retVal; } } ././@LongLink0000000000000000000000000000014600000000000011566 Lustar rootrootpdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/pdf/handlers/EncryptCmdExecutor.javapdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/pdf/handlers/EncryptCmdExecutor.jav0000644000175000017500000001441411170155060033547 0ustar twernertwerner/* * Created on 22-Oct-2007 * Copyright (C) 2007 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.business.pdf.handlers; import java.io.File; import java.io.FileOutputStream; import java.util.HashMap; import org.apache.log4j.Logger; import org.pdfsam.console.business.ConsoleServicesFacade; import org.pdfsam.console.business.dto.PdfFile; import org.pdfsam.console.business.dto.WorkDoneDataModel; import org.pdfsam.console.business.dto.commands.AbstractParsedCommand; import org.pdfsam.console.business.dto.commands.EncryptParsedCommand; import org.pdfsam.console.business.pdf.handlers.interfaces.AbstractCmdExecutor; import org.pdfsam.console.exceptions.console.ConsoleException; import org.pdfsam.console.exceptions.console.EncryptException; import org.pdfsam.console.utils.FileUtility; import org.pdfsam.console.utils.perfix.PrefixParser; import com.lowagie.text.pdf.PdfEncryptor; import com.lowagie.text.pdf.PdfReader; import com.lowagie.text.pdf.PdfStamper; import com.lowagie.text.pdf.PdfStream; import com.lowagie.text.pdf.PdfWriter; import com.lowagie.text.pdf.RandomAccessFileOrArray; /** * Command executor for the encrypt command * @author Andrea Vacondio */ public class EncryptCmdExecutor extends AbstractCmdExecutor { private final Logger log = Logger.getLogger(EncryptCmdExecutor.class.getPackage().getName()); public void execute(AbstractParsedCommand parsedCommand) throws ConsoleException { if((parsedCommand != null) && (parsedCommand instanceof EncryptParsedCommand)){ EncryptParsedCommand inputCommand = (EncryptParsedCommand) parsedCommand; setPercentageOfWorkDone(0); int encType = PdfWriter.STANDARD_ENCRYPTION_40; PrefixParser prefixParser; PdfReader pdfReader; PdfStamper pdfStamper; try{ PdfFile[] fileList = arraysConcat(inputCommand.getInputFileList(), getPdfFiles(inputCommand.getInputDirectory())); //check if empty if (fileList== null || !(fileList.length >0)){ throw new EncryptException(EncryptException.CMD_NO_INPUT_FILE); } for(int i = 0; i=limits1[0] && current1<=limits1[1]){ page = pdfWriter.getImportedPage(pdfReader1, current1); pdfWriter.addPage(page); current1 = (inputCommand.isReverseFirst())? (current1-1) :(current1+1); }else{ log.info("First file processed."); pdfReader1.close(); finished1 = true; } } } if(!finished2){ for(int i=0; (i=limits2[0] && current2<=limits2[1] && !finished2){ page = pdfWriter.getImportedPage(pdfReader2, current2); pdfWriter.addPage(page); current2 = (inputCommand.isReverseSecond())? (current2-1) :(current2+1); }else{ log.info("Second file processed."); pdfReader2.close(); finished2 = true; } } } } pdfWriter.freeReader(pdfReader1); pdfWriter.freeReader(pdfReader2); pdfDocument.close(); if(FileUtility.renameTemporaryFile(tmpFile, inputCommand.getOutputFile(), inputCommand.isOverwrite())){ log.debug("File "+inputCommand.getOutputFile().getCanonicalPath()+" created."); } log.info("Alternate mix with step "+inputCommand.getStep()+" completed."); }catch(Exception e){ throw new MixException(e); }finally{ setWorkCompleted(); } }else{ throw new ConsoleException(ConsoleException.ERR_BAD_COMMAND); } } } ././@LongLink0000000000000000000000000000015000000000000011561 Lustar rootrootpdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/pdf/handlers/SetViewerCmdExecutor.javapdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/pdf/handlers/SetViewerCmdExecutor.j0000644000175000017500000001505511170155060033513 0ustar twernertwerner/* * Created on 06-Mar-2008 * Copyright (C) 2008 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.business.pdf.handlers; import java.io.File; import java.io.FileOutputStream; import java.util.HashMap; import org.apache.log4j.Logger; import org.pdfsam.console.business.ConsoleServicesFacade; import org.pdfsam.console.business.dto.PdfFile; import org.pdfsam.console.business.dto.WorkDoneDataModel; import org.pdfsam.console.business.dto.commands.AbstractParsedCommand; import org.pdfsam.console.business.dto.commands.SetViewerParsedCommand; import org.pdfsam.console.business.pdf.handlers.interfaces.AbstractCmdExecutor; import org.pdfsam.console.exceptions.console.ConsoleException; import org.pdfsam.console.exceptions.console.SetViewerException; import org.pdfsam.console.utils.FileUtility; import org.pdfsam.console.utils.perfix.PrefixParser; import com.lowagie.text.pdf.PdfReader; import com.lowagie.text.pdf.PdfStamper; import com.lowagie.text.pdf.PdfStream; import com.lowagie.text.pdf.PdfWriter; import com.lowagie.text.pdf.RandomAccessFileOrArray; /** * Command executor for the setviewer command * @author Andrea Vacondio */ public class SetViewerCmdExecutor extends AbstractCmdExecutor { private final Logger log = Logger.getLogger(SetViewerCmdExecutor.class.getPackage().getName()); public void execute(AbstractParsedCommand parsedCommand) throws ConsoleException { if((parsedCommand != null) && (parsedCommand instanceof SetViewerParsedCommand)){ SetViewerParsedCommand inputCommand = (SetViewerParsedCommand) parsedCommand; PdfReader pdfReader; PdfStamper pdfStamper; PrefixParser prefixParser; setPercentageOfWorkDone(0); try{ PdfFile[] fileList = arraysConcat(inputCommand.getInputFileList(), getPdfFiles(inputCommand.getInputDirectory())); //no input file found if (fileList== null || !(fileList.length >0)){ throw new SetViewerException(SetViewerException.CMD_NO_INPUT_FILE); } for(int i = 0; iPDF_EXTENSION.length())){ parsedCommandDTO.setOutputFile(outFile); } else{ throw new ParseException(ParseException.ERR_OUT_NOT_PDF, new String[]{outFile.getPath()}); } }else{ throw new ParseException(ParseException.ERR_NO_O); } //-f -l -d FileParam lOption = (FileParam) cmdLineHandler.getOption(ConcatParsedCommand.L_ARG); PdfFileParam fOption = (PdfFileParam) cmdLineHandler.getOption(ConcatParsedCommand.F_ARG); FileParam dOption = (FileParam) cmdLineHandler.getOption(ConcatParsedCommand.D_ARG); if(lOption.isSet() || fOption.isSet() || dOption.isSet()){ if(lOption.isSet() ^ fOption.isSet() ^ dOption.isSet()){ if(fOption.isSet()){ //validate file extensions for(Iterator fIterator = fOption.getPdfFiles().iterator(); fIterator.hasNext();){ PdfFile currentFile = (PdfFile) fIterator.next(); if (!((currentFile.getFile().getName().toLowerCase().endsWith(PDF_EXTENSION)) && (currentFile.getFile().getName().length()>PDF_EXTENSION.length()))){ throw new ParseException(ParseException.ERR_IN_NOT_PDF, new String[]{currentFile.getFile().getPath()}); } } parsedCommandDTO.setInputFileList(FileUtility.getPdfFiles(fOption.getPdfFiles())); }else if(lOption.isSet()){ if(lOption.getFile().getPath().toLowerCase().endsWith(CSV_EXTENSION) || lOption.getFile().getPath().toLowerCase().endsWith(XML_EXTENSION)){ parsedCommandDTO.setInputCvsOrXmlFile(lOption.getFile()); }else{ throw new ParseException(ParseException.ERR_NOT_CSV_OR_XML); } }else{ if ((dOption.isSet())){ File inputDir = dOption.getFile(); if (inputDir.isDirectory()){ parsedCommandDTO.setInputDirectory(inputDir); } else{ throw new ParseException(ParseException.ERR_D_NOT_DIR, new String[]{inputDir.getAbsolutePath()}); } } } }else{ throw new ParseException(ParseException.ERR_BOTH_F_OR_L_OR_D); } }else{ throw new ParseException(ParseException.ERR_NO_F_OR_L_OR_D); } //-u StringParam uOption = (StringParam) cmdLineHandler.getOption(ConcatParsedCommand.U_ARG); //if it's set we proceed with validation if (uOption.isSet()){ Pattern p = Pattern.compile(SELECTION_REGEXP, Pattern.CASE_INSENSITIVE); if ((p.matcher(uOption.getValue()).matches())){ parsedCommandDTO.setPageSelection(uOption.getValue()); } else{ throw new ParseException(ParseException.ERR_ILLEGAL_U, new String[]{uOption.getValue()}); } } //-copyfields parsedCommandDTO.setCopyFields(((BooleanParam) cmdLineHandler.getOption(ConcatParsedCommand.COPYFIELDS_ARG)).isTrue()); //-r StringParam rOption = (StringParam) cmdLineHandler.getOption(ConcatParsedCommand.R_ARG); if(rOption.isSet()){ PageRotation[] rotations = getPagesRotation(rOption.getValue()); parsedCommandDTO.setRotations(rotations); } }else{ throw new ConsoleException(ConsoleException.CMD_LINE_HANDLER_NULL); } return parsedCommandDTO; } /** * all, odd and even pages rotation cannot be mixed together or with single pages rotations * @param inputString the input command line string for the -r param * @return the rotations array * @throws ConcatException */ private PageRotation[] getPagesRotation(String inputString) throws ConcatException{ ArrayList retVal = new ArrayList(); try{ if(inputString!= null && inputString.length()>0){ String[] rotateParams = inputString.split(","); for(int i = 0; i3){ String[] rotationParams = currentRotation.split(":"); if(rotationParams.length == 2){ String pageNumber = rotationParams[0].trim(); int degrees = new Integer(rotationParams[1]).intValue()%360; //must be a multiple of 90 if((degrees % 90)!=0){ throw new ConcatException(ConcatException.ERR_DEGREES_NOT_ALLOWED, new String[]{degrees+""}); } //rotate all if(ALL_STRING.equals(pageNumber)){ if(retVal.size()>0){ log.warn("Page rotation for every page found, other rotations removed"); retVal.clear(); } retVal.add(new PageRotation(PageRotation.NO_PAGE, degrees, PageRotation.ALL_PAGES)); break; }else if(ODD_STRING.equals(pageNumber)){ if(retVal.size()>0){ log.warn("Page rotation for odd pages found, other rotations removed"); retVal.clear(); } retVal.add(new PageRotation(PageRotation.NO_PAGE, degrees, PageRotation.ODD_PAGES)); break; }else if(EVEN_STRING.equals(pageNumber)){ if(retVal.size()>0){ log.warn("Page rotation for even pages found, other rotations removed"); retVal.clear(); } retVal.add(new PageRotation(PageRotation.NO_PAGE, degrees, PageRotation.EVEN_PAGES)); break; }else{ retVal.add(new PageRotation(new Integer(pageNumber).intValue(), degrees)); } }else{ throw new ConcatException(ConcatException.ERR_PARAM_ROTATION, new String[]{currentRotation}); } }else{ throw new ConcatException(ConcatException.ERR_PARAM_ROTATION, new String[]{currentRotation}); } } } }catch(Exception e){ throw new ConcatException(ConcatException.ERR_WRONG_ROTATION,e); } return (PageRotation[])retVal.toArray(new PageRotation[retVal.size()]); } } ././@LongLink0000000000000000000000000000015400000000000011565 Lustar rootrootpdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/parser/validators/EncryptCmdValidator.javapdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/parser/validators/EncryptCmdValidat0000644000175000017500000001744711155270026033665 0ustar twernertwerner/* * Created on 17-Oct-2007 * Copyright (C) 2007 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.business.parser.validators; import java.io.File; import java.util.Hashtable; import java.util.Iterator; import jcmdline.CmdLineHandler; import jcmdline.FileParam; import jcmdline.PdfFileParam; import jcmdline.StringParam; import jcmdline.dto.PdfFile; import org.pdfsam.console.business.dto.commands.AbstractParsedCommand; import org.pdfsam.console.business.dto.commands.EncryptParsedCommand; import org.pdfsam.console.business.parser.validators.interfaces.AbstractCmdValidator; import org.pdfsam.console.exceptions.console.ConsoleException; import org.pdfsam.console.exceptions.console.ParseException; import org.pdfsam.console.utils.FileUtility; import com.lowagie.text.pdf.PdfWriter; /** * CmdValidator for the encrypt command * @author Andrea Vacondio */ public class EncryptCmdValidator extends AbstractCmdValidator { public AbstractParsedCommand validateArguments(CmdLineHandler cmdLineHandler) throws ConsoleException { EncryptParsedCommand parsedCommandDTO = new EncryptParsedCommand(); if(cmdLineHandler != null){ //-o FileParam oOption = (FileParam) cmdLineHandler.getOption(EncryptParsedCommand.O_ARG); if ((oOption.isSet())){ File outFile = oOption.getFile(); if (outFile.isDirectory()){ parsedCommandDTO.setOutputFile(outFile); } else{ throw new ParseException(ParseException.ERR_OUT_NOT_DIR); } }else{ throw new ParseException(ParseException.ERR_NO_O); } //-p StringParam pOption = (StringParam) cmdLineHandler.getOption(EncryptParsedCommand.P_ARG); if(pOption.isSet()){ parsedCommandDTO.setOutputFilesPrefix(pOption.getValue()); } //-apwd StringParam apwdOption = (StringParam) cmdLineHandler.getOption(EncryptParsedCommand.APWD_ARG); if(apwdOption.isSet()){ parsedCommandDTO.setOwnerPwd(apwdOption.getValue()); } //-upwd StringParam upwdOption = (StringParam) cmdLineHandler.getOption(EncryptParsedCommand.UPWD_ARG); if(upwdOption.isSet()){ parsedCommandDTO.setUserPwd(upwdOption.getValue()); } //-etype StringParam etypeOption = (StringParam) cmdLineHandler.getOption(EncryptParsedCommand.ETYPE_ARG); if(etypeOption.isSet()){ parsedCommandDTO.setEncryptionType(etypeOption.getValue()); } //-f - d PdfFileParam fOption = (PdfFileParam) cmdLineHandler.getOption(EncryptParsedCommand.F_ARG); FileParam dOption = (FileParam) cmdLineHandler.getOption(EncryptParsedCommand.D_ARG); if(fOption.isSet() || dOption.isSet()){ //-f if(fOption.isSet()){ //validate file extensions for(Iterator fIterator = fOption.getPdfFiles().iterator(); fIterator.hasNext();){ PdfFile currentFile = (PdfFile) fIterator.next(); if (!((currentFile.getFile().getName().toLowerCase().endsWith(PDF_EXTENSION)) && (currentFile.getFile().getName().length()>PDF_EXTENSION.length()))){ throw new ParseException(ParseException.ERR_OUT_NOT_PDF, new String[]{currentFile.getFile().getPath()}); } } parsedCommandDTO.setInputFileList(FileUtility.getPdfFiles(fOption.getPdfFiles())); } //-d if ((dOption.isSet())){ File inputDir = dOption.getFile(); if (inputDir.isDirectory()){ parsedCommandDTO.setInputDirectory(inputDir); } else{ throw new ParseException(ParseException.ERR_D_NOT_DIR, new String[]{inputDir.getAbsolutePath()}); } } }else{ throw new ParseException(ParseException.ERR_NO_F_OR_D); } //-allow StringParam allowOption = (StringParam) cmdLineHandler.getOption(EncryptParsedCommand.ALLOW_ARG); if(allowOption.isSet()){ Hashtable permissionsMap = getPermissionsMap(parsedCommandDTO.getEncryptionType()); int permissions = 0; if(!permissionsMap.isEmpty()){ for(Iterator permIterator = allowOption.getValues().iterator(); permIterator.hasNext();){ String currentPermission = (String) permIterator.next(); Object value = permissionsMap.get(currentPermission); if(value != null){ permissions |= ((Integer)value).intValue(); } } } permissionsMap = null; parsedCommandDTO.setPermissions(permissions); } }else{ throw new ConsoleException(ConsoleException.CMD_LINE_HANDLER_NULL); } return parsedCommandDTO; } /** * @param encryptionType encryption algorithm * @return The permissions map based on the chosen encryption */ private Hashtable getPermissionsMap(String encryptionType){ Hashtable retMap = new Hashtable(12); if(EncryptParsedCommand.E_RC4_40.equals(encryptionType)){ retMap.put(EncryptParsedCommand.E_PRINT,new Integer(PdfWriter.ALLOW_PRINTING)); retMap.put(EncryptParsedCommand.E_MODIFY,new Integer(PdfWriter.ALLOW_MODIFY_CONTENTS)); retMap.put(EncryptParsedCommand.E_COPY,new Integer(PdfWriter.ALLOW_COPY)); retMap.put(EncryptParsedCommand.E_ANNOTATION,new Integer(PdfWriter.ALLOW_MODIFY_ANNOTATIONS)); }else{ retMap.put(EncryptParsedCommand.E_PRINT,new Integer(PdfWriter.ALLOW_PRINTING)); retMap.put(EncryptParsedCommand.E_MODIFY,new Integer(PdfWriter.ALLOW_MODIFY_CONTENTS)); retMap.put(EncryptParsedCommand.E_COPY,new Integer(PdfWriter.ALLOW_COPY)); retMap.put(EncryptParsedCommand.E_ANNOTATION,new Integer(PdfWriter.ALLOW_MODIFY_ANNOTATIONS)); retMap.put(EncryptParsedCommand.E_FILL,new Integer(PdfWriter.ALLOW_FILL_IN)); retMap.put(EncryptParsedCommand.E_SCREEN,new Integer(PdfWriter.ALLOW_SCREENREADERS)); retMap.put(EncryptParsedCommand.E_ASSEMBLY,new Integer(PdfWriter.ALLOW_ASSEMBLY)); retMap.put(EncryptParsedCommand.E_DPRINT,new Integer(PdfWriter.ALLOW_DEGRADED_PRINTING)); } return retMap; } } ././@LongLink0000000000000000000000000000015000000000000011561 Lustar rootrootpdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/parser/validators/MixCmdValidator.javapdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/parser/validators/MixCmdValidator.j0000644000175000017500000001274411165637136033574 0ustar twernertwerner/* * Created on 21-Sep-2007 * Copyright (C) 2007 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.business.parser.validators; import java.io.File; import jcmdline.BooleanParam; import jcmdline.CmdLineHandler; import jcmdline.FileParam; import jcmdline.IntParam; import jcmdline.PdfFileParam; import jcmdline.dto.PdfFile; import org.pdfsam.console.business.dto.commands.AbstractParsedCommand; import org.pdfsam.console.business.dto.commands.MixParsedCommand; import org.pdfsam.console.business.parser.validators.interfaces.AbstractCmdValidator; import org.pdfsam.console.exceptions.console.ConsoleException; import org.pdfsam.console.exceptions.console.ParseException; import org.pdfsam.console.utils.FileUtility; /** * CmdValidator for the mix command * @author Andrea Vacondio */ public class MixCmdValidator extends AbstractCmdValidator { public AbstractParsedCommand validateArguments(CmdLineHandler cmdLineHandler) throws ConsoleException { MixParsedCommand parsedCommandDTO = new MixParsedCommand(); if(cmdLineHandler != null){ //-o FileParam oOption = (FileParam) cmdLineHandler.getOption(MixParsedCommand.O_ARG); if ((oOption.isSet())){ File outFile = oOption.getFile(); //checking extension if ((outFile.getName().toLowerCase().endsWith(PDF_EXTENSION)) && (outFile.getName().length()>PDF_EXTENSION.length())){ parsedCommandDTO.setOutputFile(outFile); } else{ throw new ParseException(ParseException.ERR_OUT_NOT_PDF, new String[]{outFile.getPath()}); } }else{ throw new ParseException(ParseException.ERR_NO_O); } //-f1 PdfFileParam f1Option = (PdfFileParam) cmdLineHandler.getOption(MixParsedCommand.F1_ARG); if(f1Option.isSet()){ PdfFile firstFile = f1Option.getPdfFile(); if ((firstFile.getFile().getPath().toLowerCase().endsWith(PDF_EXTENSION))){ parsedCommandDTO.setFirstInputFile(FileUtility.getPdfFile(firstFile)); }else{ throw new ParseException(ParseException.ERR_OUT_NOT_PDF, new String[]{firstFile.getFile().getName()}); } }else{ throw new ParseException(ParseException.ERR_NO_F1); } //-f2 PdfFileParam f2Option = (PdfFileParam) cmdLineHandler.getOption(MixParsedCommand.F2_ARG); if(f2Option.isSet()){ PdfFile secondFile = f2Option.getPdfFile(); if ((secondFile.getFile().getPath().toLowerCase().endsWith(PDF_EXTENSION))){ parsedCommandDTO.setSecondInputFile(FileUtility.getPdfFile(secondFile)); }else{ throw new ParseException(ParseException.ERR_OUT_NOT_PDF, new String[]{secondFile.getFile().getName()}); } }else{ throw new ParseException(ParseException.ERR_NO_F2); } //-step IntParam stepOption = (IntParam) cmdLineHandler.getOption(MixParsedCommand.STEP_ARG); if(stepOption.isSet()){ int step = stepOption.intValue(); if(step>0){ parsedCommandDTO.setStep(stepOption.intValue()); }else{ throw new ParseException(ParseException.ERR_STEP_ZERO_OR_NEGATIVE); } } //-reversefirst parsedCommandDTO.setReverseFirst(((BooleanParam) cmdLineHandler.getOption(MixParsedCommand.REVERSE_FIRST_ARG)).isTrue()); //-reversesecond parsedCommandDTO.setReverseSecond(((BooleanParam) cmdLineHandler.getOption(MixParsedCommand.REVERSE_SECOND_ARG)).isTrue()); }else{ throw new ConsoleException(ConsoleException.CMD_LINE_HANDLER_NULL); } return parsedCommandDTO; } } ././@LongLink0000000000000000000000000000015600000000000011567 Lustar rootrootpdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/parser/validators/SlideShowCmdValidator.javapdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/parser/validators/SlideShowCmdValid0000644000175000017500000001607611035170606033612 0ustar twernertwerner/* * Created on 12-MAr-2008 * Copyright (C) 2008 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.business.parser.validators; import java.io.File; import java.util.HashSet; import java.util.Iterator; import jcmdline.BooleanParam; import jcmdline.CmdLineHandler; import jcmdline.FileParam; import jcmdline.PdfFileParam; import jcmdline.StringParam; import jcmdline.dto.PdfFile; import org.pdfsam.console.business.dto.Transition; import org.pdfsam.console.business.dto.commands.AbstractParsedCommand; import org.pdfsam.console.business.dto.commands.SlideShowParsedCommand; import org.pdfsam.console.business.parser.validators.interfaces.AbstractCmdValidator; import org.pdfsam.console.exceptions.console.ConsoleException; import org.pdfsam.console.exceptions.console.ParseException; import org.pdfsam.console.exceptions.console.SlideShowException; import org.pdfsam.console.utils.FileUtility; /** * CmdValidator for the slideshow command * @author Andrea Vacondio */ public class SlideShowCmdValidator extends AbstractCmdValidator { protected AbstractParsedCommand validateArguments(CmdLineHandler cmdLineHandler) throws ConsoleException { SlideShowParsedCommand parsedCommandDTO = new SlideShowParsedCommand(); if(cmdLineHandler != null){ //-o FileParam oOption = (FileParam) cmdLineHandler.getOption(SlideShowParsedCommand.O_ARG); if ((oOption.isSet())){ File outFile = oOption.getFile(); if (outFile.isDirectory()){ parsedCommandDTO.setOutputFile(outFile); } else{ throw new ParseException(ParseException.ERR_OUT_NOT_DIR); } }else{ throw new ParseException(ParseException.ERR_NO_O); } //-p StringParam pOption = (StringParam) cmdLineHandler.getOption(SlideShowParsedCommand.P_ARG); if(pOption.isSet()){ parsedCommandDTO.setOutputFilesPrefix(pOption.getValue()); } //-f PdfFileParam fOption = (PdfFileParam) cmdLineHandler.getOption(SlideShowParsedCommand.F_ARG); if(fOption.isSet()){ PdfFile inputFile = fOption.getPdfFile(); if ((inputFile.getFile().getPath().toLowerCase().endsWith(PDF_EXTENSION))){ parsedCommandDTO.setInputFile(FileUtility.getPdfFile(inputFile)); }else{ throw new ParseException(ParseException.ERR_OUT_NOT_PDF, new String[]{inputFile.getFile().getName()}); } }else{ throw new ParseException(ParseException.ERR_NO_F); } //-t StringParam tOption = (StringParam) cmdLineHandler.getOption(SlideShowParsedCommand.T_ARG); if(tOption.isSet()){ HashSet transitionsList = new HashSet(tOption.getValues().size()); for(Iterator tIterator = tOption.getValues().iterator(); tIterator.hasNext();){ String transition = (String) tIterator.next(); Transition transitionObject = stringToTransition(transition); if(!transitionsList.add(transitionObject)){ throw new SlideShowException(SlideShowException.UNABLE_TO_ADD_TRANSITION, new String[]{transition,transitionObject.toString()}); } } parsedCommandDTO.setTransitions((Transition[])transitionsList.toArray(new Transition[transitionsList.size()])); } //-dt StringParam dtOption = (StringParam) cmdLineHandler.getOption(SlideShowParsedCommand.DT_ARG); if(dtOption.isSet()){ parsedCommandDTO.setDefaultTransition(stringToTransition(dtOption.getValue())); } //-l FileParam lOption = (FileParam) cmdLineHandler.getOption(SlideShowParsedCommand.L_ARG); if(lOption.isSet()){ if(lOption.getFile().getPath().toLowerCase().endsWith(XML_EXTENSION)){ parsedCommandDTO.setInputXmlFile(lOption.getFile()); }else{ throw new ParseException(ParseException.ERR_NOT_XML); } } //-fullscreen parsedCommandDTO.setFullScreen(((BooleanParam) cmdLineHandler.getOption(SlideShowParsedCommand.FULLSCREEN_ARG)).isTrue()); }else{ throw new ConsoleException(ConsoleException.CMD_LINE_HANDLER_NULL); } return parsedCommandDTO; } /** * converts from the input string to the Transition object * @param inputString * @return corresponding Transition instance * @throws ConsoleException */ private Transition stringToTransition(String inputString) throws ConsoleException{ Transition retVal = null; if(inputString!= null && inputString.length()>0){ String[] transParams = inputString.split(":"); if(transParams.length>2){ try{ String transition = transParams[0]; int transitionDuration = Integer.parseInt(transParams[1]); int duration = Integer.parseInt(transParams[2]); int pageNumber = (transParams.length>3)? Integer.parseInt(transParams[3]): Transition.EVERY_PAGE; retVal = new Transition(pageNumber, transitionDuration, transition, duration); }catch(Exception e){ throw new SlideShowException(SlideShowException.ERR_BAD_INPUT_STRING, new String[]{inputString}, e); } }else{ throw new SlideShowException(SlideShowException.ERR_UNCOMPLETE_INPUT_STRING, new String[]{inputString}); } }else{ throw new SlideShowException(SlideShowException.ERR_EMPTY_INPUT_STRING); } return retVal; } } ././@LongLink0000000000000000000000000000015600000000000011567 Lustar rootrootpdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/parser/validators/SetViewerCmdValidator.javapdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/parser/validators/SetViewerCmdValid0000644000175000017500000002272711155270104033623 0ustar twernertwerner/* * Created on 06-Mar-2008 * Copyright (C) 2008 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.business.parser.validators; import java.io.File; import java.util.Iterator; import jcmdline.BooleanParam; import jcmdline.CmdLineHandler; import jcmdline.FileParam; import jcmdline.PdfFileParam; import jcmdline.StringParam; import jcmdline.dto.PdfFile; import org.pdfsam.console.business.dto.commands.AbstractParsedCommand; import org.pdfsam.console.business.dto.commands.SetViewerParsedCommand; import org.pdfsam.console.business.parser.validators.interfaces.AbstractCmdValidator; import org.pdfsam.console.exceptions.console.ConsoleException; import org.pdfsam.console.exceptions.console.ParseException; import org.pdfsam.console.utils.FileUtility; import com.lowagie.text.pdf.PdfWriter; /** * CmdValidator for the setviewer command * @author Andrea Vacondio */ public class SetViewerCmdValidator extends AbstractCmdValidator { public AbstractParsedCommand validateArguments(CmdLineHandler cmdLineHandler) throws ConsoleException { SetViewerParsedCommand parsedCommandDTO = new SetViewerParsedCommand(); if(cmdLineHandler != null){ //-o FileParam oOption = (FileParam) cmdLineHandler.getOption(SetViewerParsedCommand.O_ARG); if ((oOption.isSet())){ File outFile = oOption.getFile(); if (outFile.isDirectory()){ parsedCommandDTO.setOutputFile(outFile); } else{ throw new ParseException(ParseException.ERR_OUT_NOT_DIR); } }else{ throw new ParseException(ParseException.ERR_NO_O); } //-p StringParam pOption = (StringParam) cmdLineHandler.getOption(SetViewerParsedCommand.P_ARG); if(pOption.isSet()){ parsedCommandDTO.setOutputFilesPrefix(pOption.getValue()); } //-mode StringParam mOption = (StringParam) cmdLineHandler.getOption(SetViewerParsedCommand.M_ARG); if(mOption.isSet()){ parsedCommandDTO.setMode(getMode(mOption.getValue())); } //-layout StringParam lOption = (StringParam) cmdLineHandler.getOption(SetViewerParsedCommand.L_ARG); if(lOption.isSet()){ parsedCommandDTO.setLayout(getLayout(lOption.getValue())); } //-nfsmode StringParam nfsmOption = (StringParam) cmdLineHandler.getOption(SetViewerParsedCommand.NFSM_ARG); if(nfsmOption.isSet()){ parsedCommandDTO.setNfsmode(getNFSMode(nfsmOption.getValue())); } //-direction StringParam directionOption = (StringParam) cmdLineHandler.getOption(SetViewerParsedCommand.DIRECTION_ARG); if(directionOption.isSet()){ parsedCommandDTO.setDirection(getDirection(directionOption.getValue())); } //-f -d PdfFileParam fOption = (PdfFileParam) cmdLineHandler.getOption(SetViewerParsedCommand.F_ARG); FileParam dOption = (FileParam) cmdLineHandler.getOption(SetViewerParsedCommand.D_ARG); if(fOption.isSet() || dOption.isSet()){ //-f if(fOption.isSet()){ //validate file extensions for(Iterator fIterator = fOption.getPdfFiles().iterator(); fIterator.hasNext();){ PdfFile currentFile = (PdfFile) fIterator.next(); if (!((currentFile.getFile().getName().toLowerCase().endsWith(PDF_EXTENSION)) && (currentFile.getFile().getName().length()>PDF_EXTENSION.length()))){ throw new ParseException(ParseException.ERR_OUT_NOT_PDF, new String[]{currentFile.getFile().getPath()}); } } parsedCommandDTO.setInputFileList(FileUtility.getPdfFiles(fOption.getPdfFiles())); } //-d if ((dOption.isSet())){ File inputDir = dOption.getFile(); if (inputDir.isDirectory()){ parsedCommandDTO.setInputDirectory(inputDir); } else{ throw new ParseException(ParseException.ERR_D_NOT_DIR, new String[]{inputDir.getAbsolutePath()}); } } }else{ throw new ParseException(ParseException.ERR_NO_F_OR_D); } //-hidemenu parsedCommandDTO.setHideMenu(((BooleanParam) cmdLineHandler.getOption(SetViewerParsedCommand.HIDEMENU_ARG)).isTrue()); //-hidetoolbar parsedCommandDTO.setHideToolBar(((BooleanParam) cmdLineHandler.getOption(SetViewerParsedCommand.HIDETOOLBAR_ARG)).isTrue()); //-hide window ui parsedCommandDTO.setHideWindowUI(((BooleanParam) cmdLineHandler.getOption(SetViewerParsedCommand.HIDEWINDOWUI_ARG)).isTrue()); //-fit window parsedCommandDTO.setFitWindow(((BooleanParam) cmdLineHandler.getOption(SetViewerParsedCommand.FITWINDOW_ARG)).isTrue()); //-center window parsedCommandDTO.setCenterWindow(((BooleanParam) cmdLineHandler.getOption(SetViewerParsedCommand.CENTERWINDOW_ARG)).isTrue()); //-display doc title parsedCommandDTO.setDisplayDocTitle(((BooleanParam) cmdLineHandler.getOption(SetViewerParsedCommand.DOCTITLE_ARG)).isTrue()); //-noprintscaling parsedCommandDTO.setNoPrintScaling(((BooleanParam) cmdLineHandler.getOption(SetViewerParsedCommand.NOPRINTSCALING_ARG)).isTrue()); }else{ throw new ConsoleException(ConsoleException.CMD_LINE_HANDLER_NULL); } return parsedCommandDTO; } /** * @param direction * @return The direction to iText */ private int getDirection(String direction){ int retVal = 0; if(SetViewerParsedCommand.D_R2L.equals(direction)){ retVal = PdfWriter.DirectionR2L; }else if (SetViewerParsedCommand.D_L2R.equals(direction)){ retVal = PdfWriter.DirectionL2R; } return retVal; } /** * * @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; } /** * * @param nfsmode * @return the non full screen mode to iText */ private int getNFSMode(String nfsmode){ int retVal = PdfWriter.NonFullScreenPageModeUseNone; if(SetViewerParsedCommand.NFSM_OCONTENT.equals(nfsmode)){ retVal = PdfWriter.NonFullScreenPageModeUseOC; }else if(SetViewerParsedCommand.NFSM_OUTLINES.equals(nfsmode)){ retVal = PdfWriter.NonFullScreenPageModeUseOutlines; }else if(SetViewerParsedCommand.NFSM_THUMBS.equals(nfsmode)){ retVal = PdfWriter.NonFullScreenPageModeUseThumbs; } return retVal; } /** * * @param layout * @return the layout to iText */ private int getLayout(String layout){ int retVal = PdfWriter.PageLayoutOneColumn; if(SetViewerParsedCommand.L_SINGLEPAGE.equals(layout)){ retVal = PdfWriter.PageLayoutSinglePage; }else if(SetViewerParsedCommand.L_TWOCOLUMNLEFT.equals(layout)){ retVal = PdfWriter.PageLayoutTwoColumnLeft; }else if(SetViewerParsedCommand.L_TWOCOLUMNRIGHT.equals(layout)){ retVal = PdfWriter.PageLayoutTwoColumnRight; }else if(SetViewerParsedCommand.L_TWOPAGELEFT.equals(layout)){ retVal = PdfWriter.PageLayoutTwoPageLeft; }else if(SetViewerParsedCommand.L_TWOPAGERIGHT.equals(layout)){ retVal = PdfWriter.PageLayoutTwoPageRight; } return retVal; } } ././@LongLink0000000000000000000000000000015300000000000011564 Lustar rootrootpdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/parser/validators/UnpackCmdValidator.javapdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/parser/validators/UnpackCmdValidato0000644000175000017500000001076211155264002033627 0ustar twernertwerner/* * Created on 31-Jan-2008 * Copyright (C) 2008 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.business.parser.validators; import java.io.File; import java.util.Iterator; import jcmdline.CmdLineHandler; import jcmdline.FileParam; import jcmdline.PdfFileParam; import jcmdline.dto.PdfFile; import org.pdfsam.console.business.dto.commands.AbstractParsedCommand; import org.pdfsam.console.business.dto.commands.UnpackParsedCommand; import org.pdfsam.console.business.parser.validators.interfaces.AbstractCmdValidator; import org.pdfsam.console.exceptions.console.ConsoleException; import org.pdfsam.console.exceptions.console.ParseException; import org.pdfsam.console.utils.FileUtility; /** * CmdValidator for the unpack command * @author Andrea Vacondio */ public class UnpackCmdValidator extends AbstractCmdValidator { protected AbstractParsedCommand validateArguments(CmdLineHandler cmdLineHandler) throws ConsoleException { UnpackParsedCommand parsedCommandDTO = new UnpackParsedCommand(); if(cmdLineHandler != null){ //-o FileParam oOption = (FileParam) cmdLineHandler.getOption(UnpackParsedCommand.O_ARG); if ((oOption.isSet())){ File outFile = oOption.getFile(); if (outFile.isDirectory()){ parsedCommandDTO.setOutputFile(outFile); } else{ throw new ParseException(ParseException.ERR_OUT_NOT_DIR); } }else{ throw new ParseException(ParseException.ERR_NO_O); } //-f and -d PdfFileParam fOption = (PdfFileParam) cmdLineHandler.getOption(UnpackParsedCommand.F_ARG); FileParam dOption = (FileParam) cmdLineHandler.getOption(UnpackParsedCommand.D_ARG); if (fOption.isSet() || dOption.isSet()) { // -f if (fOption.isSet()) { // validate file extensions for (Iterator fIterator = fOption.getPdfFiles().iterator(); fIterator.hasNext();) { PdfFile currentFile = (PdfFile) fIterator.next(); if (!((currentFile.getFile().getName().toLowerCase().endsWith(PDF_EXTENSION)) && (currentFile .getFile().getName().length() > PDF_EXTENSION.length()))) { throw new ParseException(ParseException.ERR_OUT_NOT_PDF, new String[] { currentFile .getFile().getPath() }); } } parsedCommandDTO.setInputFileList(FileUtility.getPdfFiles(fOption.getPdfFiles())); } // -d if ((dOption.isSet())) { File inputDir = dOption.getFile(); if (inputDir.isDirectory()) { parsedCommandDTO.setInputDirectory(inputDir); } else { throw new ParseException(ParseException.ERR_D_NOT_DIR, new String[] { inputDir.getAbsolutePath() }); } } } else { throw new ParseException(ParseException.ERR_NO_F_OR_D); } }else{ throw new ConsoleException(ConsoleException.CMD_LINE_HANDLER_NULL); } return parsedCommandDTO; } } ././@LongLink0000000000000000000000000000015400000000000011565 Lustar rootrootpdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/parser/validators/DecryptCmdValidator.javapdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/parser/validators/DecryptCmdValidat0000644000175000017500000001030211101644772033636 0ustar twernertwerner/* * Created on 30-Oct-2008 * Copyright (C) 2008 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.business.parser.validators; import java.io.File; import java.util.Iterator; import jcmdline.CmdLineHandler; import jcmdline.FileParam; import jcmdline.PdfFileParam; import jcmdline.StringParam; import jcmdline.dto.PdfFile; import org.pdfsam.console.business.dto.commands.AbstractParsedCommand; import org.pdfsam.console.business.dto.commands.DecryptParsedCommand; import org.pdfsam.console.business.parser.validators.interfaces.AbstractCmdValidator; import org.pdfsam.console.exceptions.console.ConsoleException; import org.pdfsam.console.exceptions.console.ParseException; import org.pdfsam.console.utils.FileUtility; /** * CmdValidator for the decrypt command * @author Andrea Vacondio */ public class DecryptCmdValidator extends AbstractCmdValidator { protected AbstractParsedCommand validateArguments(CmdLineHandler cmdLineHandler) throws ConsoleException { DecryptParsedCommand parsedCommandDTO = new DecryptParsedCommand(); if(cmdLineHandler != null){ //-o FileParam oOption = (FileParam) cmdLineHandler.getOption("o"); if ((oOption.isSet())){ File outFile = oOption.getFile(); if (outFile.isDirectory()){ parsedCommandDTO.setOutputFile(outFile); } else{ throw new ParseException(ParseException.ERR_OUT_NOT_DIR); } }else{ throw new ParseException(ParseException.ERR_NO_O); } //-p StringParam pOption = (StringParam) cmdLineHandler.getOption("p"); if(pOption.isSet()){ parsedCommandDTO.setOutputFilesPrefix(pOption.getValue()); } //-f PdfFileParam fOption = (PdfFileParam) cmdLineHandler.getOption("f"); if(fOption.isSet()){ //validate file extensions for(Iterator fIterator = fOption.getPdfFiles().iterator(); fIterator.hasNext();){ PdfFile currentFile = (PdfFile) fIterator.next(); if (!((currentFile.getFile().getName().toLowerCase().endsWith(PDF_EXTENSION)) && (currentFile.getFile().getName().length()>PDF_EXTENSION.length()))){ throw new ParseException(ParseException.ERR_OUT_NOT_PDF, new String[]{currentFile.getFile().getPath()}); } } parsedCommandDTO.setInputFileList(FileUtility.getPdfFiles(fOption.getPdfFiles())); } }else{ throw new ConsoleException(ConsoleException.CMD_LINE_HANDLER_NULL); } return parsedCommandDTO; } } ././@LongLink0000000000000000000000000000015200000000000011563 Lustar rootrootpdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/parser/validators/SplitCmdValidator.javapdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/parser/validators/SplitCmdValidator0000644000175000017500000001702511162753662033677 0ustar twernertwerner/* * Created on 12-Oct-2007 * Copyright (C) 2006 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.business.parser.validators; import java.io.File; import java.util.ArrayList; import java.util.regex.Pattern; import jcmdline.CmdLineHandler; import jcmdline.FileParam; import jcmdline.IntParam; import jcmdline.LongParam; import jcmdline.PdfFileParam; import jcmdline.StringParam; import jcmdline.dto.PdfFile; import org.pdfsam.console.business.dto.commands.AbstractParsedCommand; import org.pdfsam.console.business.dto.commands.SplitParsedCommand; import org.pdfsam.console.business.parser.validators.interfaces.AbstractCmdValidator; import org.pdfsam.console.exceptions.console.ConsoleException; import org.pdfsam.console.exceptions.console.ParseException; import org.pdfsam.console.utils.FileUtility; /** * CmdValidator for the split command * @author Andrea Vacondio */ public class SplitCmdValidator extends AbstractCmdValidator { public AbstractParsedCommand validateArguments(CmdLineHandler cmdLineHandler) throws ConsoleException { SplitParsedCommand parsedCommandDTO = new SplitParsedCommand(); if(cmdLineHandler != null){ //-o FileParam oOption = (FileParam) cmdLineHandler.getOption("o"); if ((oOption.isSet())){ File outFile = oOption.getFile(); if (outFile.isDirectory()){ parsedCommandDTO.setOutputFile(outFile); } else{ throw new ParseException(ParseException.ERR_OUT_NOT_DIR); } }else{ throw new ParseException(ParseException.ERR_NO_O); } //-p StringParam pOption = (StringParam) cmdLineHandler.getOption("p"); if(pOption.isSet()){ parsedCommandDTO.setOutputFilesPrefix(pOption.getValue()); } //-f PdfFileParam fOption = (PdfFileParam) cmdLineHandler.getOption("f"); if(fOption.isSet()){ PdfFile inputFile = fOption.getPdfFile(); if ((inputFile.getFile().getPath().toLowerCase().endsWith(PDF_EXTENSION))){ parsedCommandDTO.setInputFile(FileUtility.getPdfFile(inputFile)); }else{ throw new ParseException(ParseException.ERR_OUT_NOT_PDF, new String[]{inputFile.getFile().getName()}); } }else{ throw new ParseException(ParseException.ERR_NO_F); } //-s StringParam sOption = (StringParam) cmdLineHandler.getOption("s"); if(sOption.isSet()){ parsedCommandDTO.setSplitType(sOption.getValue()); }else{ throw new ParseException(ParseException.ERR_NO_S); } //-b LongParam bOption = (LongParam) cmdLineHandler.getOption(SplitParsedCommand.B_ARG); if(SplitParsedCommand.S_SIZE.equals(parsedCommandDTO.getSplitType())){ if(bOption.isSet()){ parsedCommandDTO.setSplitSize(new Long(bOption.longValue())); }else{ throw new ParseException(ParseException.ERR_NO_B); } }else{ if(bOption.isSet()){ throw new ParseException(ParseException.ERR_B_NOT_NEEDED); } } //-bl IntParam blOption = (IntParam) cmdLineHandler.getOption(SplitParsedCommand.BL_ARG); if(SplitParsedCommand.S_BLEVEL.equals(parsedCommandDTO.getSplitType())){ if(blOption.isSet()){ parsedCommandDTO.setBookmarksLevel(new Integer(blOption.intValue())); }else{ throw new ParseException(ParseException.ERR_NO_BL); } }else{ if(blOption.isSet()){ throw new ParseException(ParseException.ERR_BL_NOT_NEEDED); } } //-n StringParam nOption = (StringParam) cmdLineHandler.getOption("n"); if(SplitParsedCommand.S_NSPLIT.equals(parsedCommandDTO.getSplitType()) || SplitParsedCommand.S_SPLIT.equals(parsedCommandDTO.getSplitType())){ if(nOption.isSet()){ String nValue = nOption.getValue().trim().replaceAll(",","-").replaceAll(" ","-"); if(SplitParsedCommand.S_NSPLIT.equals(parsedCommandDTO.getSplitType())){ Pattern p = Pattern.compile("([0-9]+)*"); if (!(p.matcher(nValue).matches())){ throw new ParseException(ParseException.ERR_N_NOT_NUM); } } if(SplitParsedCommand.S_SPLIT.equals(parsedCommandDTO.getSplitType())){ Pattern p = Pattern.compile("([0-9]+)([-][0-9]+)*"); if (!(p.matcher(nValue).matches())){ throw new ParseException(ParseException.ERR_N_NOT_NUM_OR_SEQ); } } parsedCommandDTO.setSplitPageNumbers(getSplitPageNumbers(nValue)); }else{ throw new ParseException(ParseException.ERR_NO_N); } }else{ if(nOption.isSet()){ throw new ParseException(ParseException.ERR_N_NOT_NEEDED); } } }else{ throw new ConsoleException(ConsoleException.CMD_LINE_HANDLER_NULL); } return parsedCommandDTO; } /** * Converts a string like num-num-num... in an Integer array * @param nValue * @return integer array * @throws ParseException */ private Integer[] getSplitPageNumbers(String nValue) throws ParseException{ ArrayList retVal = new ArrayList(); try{ String[] limits = nValue.split("-"); for(int i=0; i 0)? inputArguments[inputArguments.length-1]: ""; return retVal; } /** * Sets the input arguments creating the properCmdHandler and CmdValidator * @param inputArguments */ public void setInputArguments(String[] inputArguments){ this.inputArguments = inputArguments; String inputCommand = getInputCommand(); if(MixParsedCommand.COMMAND_MIX.equals(inputCommand)){ cmdHandler = new MixCmdHandler(); cmdValidator = new MixCmdValidator(); } else if(ConcatParsedCommand.COMMAND_CONCAT.equals(inputCommand)){ cmdHandler = new ConcatCmdHandler(); cmdValidator = new ConcatCmdValidator(); } else if(SplitParsedCommand.COMMAND_SPLIT.equals(inputCommand)){ cmdHandler = new SplitCmdHandler(); cmdValidator = new SplitCmdValidator(); } else if(EncryptParsedCommand.COMMAND_ENCRYPT.equals(inputCommand)){ cmdHandler = new EncryptCmdHandler(); cmdValidator = new EncryptCmdValidator(); } else if(UnpackParsedCommand.COMMAND_UNPACK.equals(inputCommand)){ cmdHandler = new UnpackCmdHandler(); cmdValidator = new UnpackCmdValidator(); } else if(SetViewerParsedCommand.COMMAND_SETVIEWER.equals(inputCommand)){ cmdHandler = new SetViewerCmdHandler(); cmdValidator = new SetViewerCmdValidator(); } else if(SlideShowParsedCommand.COMMAND_SLIDESHOW.equals(inputCommand)){ cmdHandler = new SlideShowCmdHandler(); cmdValidator = new SlideShowCmdValidator(); }else if(DecryptParsedCommand.COMMAND_DECRYPT.equals(inputCommand)){ cmdHandler = new DecryptCmdHandler(); cmdValidator = new DecryptCmdValidator(); }else{ cmdHandler = new DefaultCmdHandler(); } } /** * Perform command line parsing * @return true if parsed correctely * @throws ConsoleException */ public boolean parse() throws ConsoleException{ long start = System.currentTimeMillis(); boolean retVal = false; if(cmdHandler != null){ CmdLineHandler cmdLineHandler = cmdHandler.getCommandLineHandler(); log.debug("Starting arguments parsing."); if(cmdLineHandler != null){ retVal = cmdLineHandler.parse(inputArguments); if(!retVal){ throw new ParseException(ParseException.ERR_PARSE, new String[]{cmdLineHandler.getParseError()}); } }else{ throw new ConsoleException(ConsoleException.CMD_LINE_HANDLER_NULL); } }else{ throw new ConsoleException(ConsoleException.CMD_LINE_HANDLER_NULL); } log.debug("Command '"+getInputCommand()+"' parsed in "+TimeUtility.format(System.currentTimeMillis()-start)); return retVal; } /** * Perform command line parsing for the input arguments * @return true if parsed correctly * @throws ConsoleException */ public boolean parse(String[] inputArguments) throws ConsoleException{ setInputArguments(inputArguments); return parse(); } /** * Perform command validation * @return parsed command * @throws ConsoleException */ public AbstractParsedCommand validate() throws ConsoleException{ long start = System.currentTimeMillis(); AbstractParsedCommand retVal = null; if(cmdHandler != null){ CmdLineHandler cmdLineHandler = cmdHandler.getCommandLineHandler(); log.debug("Starting arguments validation."); if(cmdLineHandler != null){ if(cmdValidator != null){ retVal = cmdValidator.validate(cmdLineHandler); }else{ throw new ConsoleException(ConsoleException.CMD_LINE_VALIDATOR_NULL); } }else{ throw new ConsoleException(ConsoleException.CMD_LINE_HANDLER_NULL); } }else{ throw new ConsoleException(ConsoleException.CMD_LINE_HANDLER_NULL); } log.debug("Command '"+getInputCommand()+"' validated in "+TimeUtility.format(System.currentTimeMillis()-start)); return retVal; } } pdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/parser/handlers/0000755000175000017500000000000010712700116027774 5ustar twernertwernerpdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/parser/handlers/interfaces/0000755000175000017500000000000010712700116032117 5ustar twernertwerner././@LongLink0000000000000000000000000000015400000000000011565 Lustar rootrootpdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/parser/handlers/interfaces/CmdHandler.javapdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/parser/handlers/interfaces/CmdHandl0000644000175000017500000000520411161507774033533 0ustar twernertwerner/* * Created on 16-Oct-2007 * Copyright (C) 2007 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.business.parser.handlers.interfaces; import java.util.Collection; import org.pdfsam.console.business.ConsoleServicesFacade; import jcmdline.CmdLineHandler; /** * Interface for the command line handler * @author Andrea Vacondio * */ public interface CmdHandler { public static final String COMMAND = "java -jar pdfsam-console-"+ConsoleServicesFacade.VERSION+".jar"; /** * @return Help message for this handler */ String getHelpMessage(); /** * @return Help examples message for this handler */ String getHelpExamples(); /** * @return Options for this handler */ Collection getOptions(); /** * @return Arguments for this handler */ Collection getArguments(); /** * @return Description for the command of this handler */ String getCommandDescription(); /** * @return the command line handler for this handler */ public CmdLineHandler getCommandLineHandler(); } ././@LongLink0000000000000000000000000000016400000000000011566 Lustar rootrootpdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/parser/handlers/interfaces/AbstractCmdHandler.javapdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/parser/handlers/interfaces/Abstract0000644000175000017500000001210511205272606033612 0ustar twernertwerner/* * Created on 21-Sep-2007 * Copyright (C) 2007 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.business.parser.handlers.interfaces; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.List; import jcmdline.BooleanParam; import jcmdline.CmdLineHandler; import jcmdline.HelpCmdLineHandler; import jcmdline.Parameter; import jcmdline.StringParam; import jcmdline.VersionCmdLineHandler; import org.pdfsam.console.business.ConsoleServicesFacade; import org.pdfsam.console.business.dto.commands.AbstractParsedCommand; /** * Abstract CmdHandler to be extended to handle input arguments based on the input command (concat, split, ecc ecc) * @author Andrea Vacondio */ public abstract class AbstractCmdHandler implements CmdHandler{ /** * help text commonly used by any handler */ private static final String commonHelpText = "'-log' to set a log file.\n"+ "'-overwrite' to overwrite output file if already exists.\n"+ "'-pdfversion version' to set the output document pdf version. Possible values {["+AbstractParsedCommand.VERSION_1_2+"], ["+AbstractParsedCommand.VERSION_1_3+"], ["+AbstractParsedCommand.VERSION_1_4+"], ["+AbstractParsedCommand.VERSION_1_5+"], ["+AbstractParsedCommand.VERSION_1_6+"], ["+AbstractParsedCommand.VERSION_1_7+"]}\n"+ "'-compress' to compress output file.\n\n"; /** * options commonly used by any handler */ private final List commonOptions = new ArrayList(Arrays.asList(new Parameter[] { new StringParam(AbstractParsedCommand.PDFVERSION_ARG, "pdf version of the output document/s.", new String[] { Character.toString(AbstractParsedCommand.VERSION_1_2), Character.toString(AbstractParsedCommand.VERSION_1_3), Character.toString(AbstractParsedCommand.VERSION_1_4), Character.toString(AbstractParsedCommand.VERSION_1_5), Character.toString(AbstractParsedCommand.VERSION_1_6), Character.toString(AbstractParsedCommand.VERSION_1_7)}, StringParam.OPTIONAL, StringParam.SINGLE_VALUED), new BooleanParam(AbstractParsedCommand.OVERWRITE_ARG, "overwrite existing output file"), new BooleanParam(AbstractParsedCommand.COMPRESSED_ARG, "compress output file") })); private VersionCmdLineHandler commandLineHandler = null; /** * Constructor */ public AbstractCmdHandler(){ } /** * @return Help examples message for this handler */ public abstract String getHelpExamples(); /** * @return Options for this handler */ public abstract Collection getOptions(); /** * @return Arguments for this handler */ public abstract Collection getArguments(); /** * @return Description for the command of this handler */ public abstract String getCommandDescription(); /** * @return the command line handler for this handler */ public CmdLineHandler getCommandLineHandler() { if(commandLineHandler == null){ ArrayList options = new ArrayList(); if(getOptions() != null){ options.addAll(getOptions()); } options.addAll(commonOptions); commandLineHandler = new VersionCmdLineHandler(ConsoleServicesFacade.CREATOR,new HelpCmdLineHandler(getHelpMessage()+commonHelpText+getHelpExamples(),ConsoleServicesFacade.LICENSE,"",COMMAND,getCommandDescription(),options,getArguments())); commandLineHandler.setDieOnParseError(false); } return commandLineHandler; } } ././@LongLink0000000000000000000000000000015200000000000011563 Lustar rootrootpdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/parser/handlers/SlideShowCmdHandler.javapdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/parser/handlers/SlideShowCmdHandler0000644000175000017500000001651511161510106033547 0ustar twernertwerner/* * Created on 07-Mar-2008 * Copyright (C) 2008 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.business.parser.handlers; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.List; import jcmdline.BooleanParam; import jcmdline.FileParam; import jcmdline.Parameter; import jcmdline.PdfFileParam; import jcmdline.StringParam; import org.pdfsam.console.business.ConsoleServicesFacade; import org.pdfsam.console.business.dto.Transition; import org.pdfsam.console.business.dto.commands.SlideShowParsedCommand; import org.pdfsam.console.business.parser.handlers.interfaces.AbstractCmdHandler; /** * Handler for the slide show command * @author Andrea Vacondio */ public class SlideShowCmdHandler extends AbstractCmdHandler { private static final String commandDescription = "Set slide show options."; /** * Options for the slide show handler */ private final List slideshowOptions = new ArrayList(Arrays.asList(new Parameter[] { new FileParam(SlideShowParsedCommand.O_ARG, "pdf output file: if it doesn't exist it's created, if it exists it must be writeable", ((FileParam.DOESNT_EXIST) | (FileParam.EXISTS & FileParam.IS_FILE & FileParam.IS_WRITEABLE)), FileParam.REQUIRED, FileParam.SINGLE_VALUED), new PdfFileParam(SlideShowParsedCommand.F_ARG, "input pdf file to set the slide show options", FileParam.IS_READABLE, FileParam.REQUIRED, FileParam.SINGLE_VALUED), new StringParam(SlideShowParsedCommand.P_ARG, "prefix for the output files name", StringParam.OPTIONAL), new StringParam(SlideShowParsedCommand.T_ARG, "slideshow transition effect definition", 12, 50, StringParam.OPTIONAL, StringParam.MULTI_VALUED), new StringParam(SlideShowParsedCommand.DT_ARG, "slideshow default transition effect definition", 10, 50, StringParam.OPTIONAL, StringParam.SINGLE_VALUED), new FileParam(SlideShowParsedCommand.L_ARG, "xml file containing all the transitions effects definitions", FileParam.IS_FILE & FileParam.IS_READABLE, FileParam.OPTIONAL, FileParam.SINGLE_VALUED), new BooleanParam(SlideShowParsedCommand.FULLSCREEN_ARG, "open the document in fullscreen mode") })); /** * Help text for the slide show command */ private static final String slideshowHelpText = "Set slide show options for the pdf document. \n"+ "You must specify '-f /home/user/infile.pdf' option to set the input file you want to split (use filename:password if the file is password protected).\n" + "You must specify '-o /home/user/out.pdf' to set the output file.\n"+ "'-t transition' to set the slide show transition options. Syntax: transitiontype:transitiondurationinsec:pagedisplaydurationinsec:pagenumber.\n"+ "Possible transitiontype values { "+Transition.T_BLINDH+", "+Transition.T_BLINDV+", "+Transition.T_BTWIPE+", "+Transition.T_DGLITTER+", "+Transition.T_DISSOLVE+", "+Transition.T_INBOX+", "+Transition.T_LRGLITTER+", "+Transition.T_LRWIPE+", "+Transition.T_OUTBOX+", "+Transition.T_RLWIPE+", "+Transition.T_SPLITHIN+", "+Transition.T_SPLITHOUT+", "+Transition.T_SPLITVIN+", "+Transition.T_SPLITVOUT+", "+Transition.T_TBGLITTER+", "+Transition.T_TBWIPE+"} \n"+ "Example: blindv:1:3:57 uses a 1 second long vertical blind to display page number 57 for 3 seconds\n"+ "'-dt defaulttransition' to set the slide show default transition used for every pages except those specified with '-t'\n"+ "Syntax: transitiontype:transitiondurationinsec:pagedisplaydurationinsec.\n"+ "Example: blindv:1:3 uses a 1 second long vertical blind to display pages for 3 seconds\n"+ "'-l /tmp/transitions.xml' a xml file containing all the transitions effects definitions \n"+ "Example: \n"+ "'-"+SlideShowParsedCommand.FULLSCREEN_ARG+"' open the document in full screen mode\n"; /** * example text for the slide show handler */ private static final String slideshowExample = "Example: java -jar pdfsam-console-"+ConsoleServicesFacade.VERSION+".jar -f /tmp/1.pdf -o /tmp/out.pdf -fullscreen -dt dissolve:1:5 -t wipel2r:1:5:20 -t wiper2l:1:5:21 -overwrite slideshow\n"; /** * The arguments for slide show command */ private final List slideshowArguments = new ArrayList(Arrays.asList(new Parameter[] { new StringParam("command", "command to execute {["+SlideShowParsedCommand.COMMAND_SLIDESHOW +"]}", new String[] { SlideShowParsedCommand.COMMAND_SLIDESHOW }, StringParam.REQUIRED), })); public Collection getArguments() { return slideshowArguments; } public String getCommandDescription() { return commandDescription; } public String getHelpExamples() { return slideshowExample; } public Collection getOptions() { return slideshowOptions; } public String getHelpMessage() { return slideshowHelpText; } } ././@LongLink0000000000000000000000000000014700000000000011567 Lustar rootrootpdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/parser/handlers/UnpackCmdHandler.javapdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/parser/handlers/UnpackCmdHandler.ja0000644000175000017500000001340611205272632033464 0ustar twernertwerner/* * Created on 30-Jan-2008 * Copyright (C) 2008 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.business.parser.handlers; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.List; import jcmdline.BooleanParam; import jcmdline.CmdLineHandler; import jcmdline.FileParam; import jcmdline.HelpCmdLineHandler; import jcmdline.Parameter; import jcmdline.PdfFileParam; import jcmdline.StringParam; import jcmdline.VersionCmdLineHandler; import org.pdfsam.console.business.ConsoleServicesFacade; import org.pdfsam.console.business.dto.commands.AbstractParsedCommand; import org.pdfsam.console.business.dto.commands.UnpackParsedCommand; import org.pdfsam.console.business.parser.handlers.interfaces.AbstractCmdHandler; /** * Handler for the unpack command * @author Andrea Vacondio */ public class UnpackCmdHandler extends AbstractCmdHandler { private static final String commandDescription = "Extract attachments from pdf documents."; /** * Options for the unpack handler */ private final List unpackOptions = new ArrayList(Arrays.asList(new Parameter[] { new FileParam(UnpackParsedCommand.O_ARG, "output directory", ((FileParam.IS_DIR & FileParam.EXISTS)), FileParam.REQUIRED, FileParam.SINGLE_VALUED), new PdfFileParam(UnpackParsedCommand.F_ARG, "pdf files to unpack: a list of existing pdf files (EX. -f /tmp/file1.pdf -f /tmp/file2.pdf)", FileParam.IS_READABLE, FileParam.OPTIONAL, FileParam.MULTI_VALUED), new FileParam(UnpackParsedCommand.D_ARG, "input directory", ((FileParam.IS_DIR & FileParam.EXISTS)), FileParam.OPTIONAL, FileParam.SINGLE_VALUED), new BooleanParam(AbstractParsedCommand.OVERWRITE_ARG, "overwrite existing output file") })); /** * The arguments for unpack command */ private final List unpackArguments = new ArrayList(Arrays.asList(new Parameter[] { new StringParam("command", "command to execute {[unpack]}", new String[] { UnpackParsedCommand.COMMAND_UNPACK }, StringParam.REQUIRED), })); /** * help text for the unpack handler */ private static final String unpackHelpText = "Extract attachments from pdf documents. \n"+ "You must specify '-o /home/user' to set the output directory.\n"+ "You must specify '-f /tmp/file1.pdf /tmp/file2.pdf:password -f /tmp/file3.pdf [...]' to specify a file list to unpack (use filename:password if the file is password protected).\n"+ "'-d /home/filedir' to set a input directory. Every pdf document wil be unpacked.\n"+ "'-log' to set a log file.\n"+ "'-overwrite' to overwrite output file if already exists.\n"; /** * example text for the unpack handler */ private static final String unpackExample = "Example: java -jar pdfsam-console-"+ConsoleServicesFacade.VERSION+".jar -f /tmp/1.pdf -o /tmp -d /tmp/files -overwrite unpack\n"; private VersionCmdLineHandler commandLineHandler = null; public Collection getArguments() { return unpackArguments; } public String getCommandDescription() { return commandDescription; } public String getHelpExamples() { return unpackExample; } public Collection getOptions() { return unpackOptions; } public String getHelpMessage() { return unpackHelpText; } /** * override parent method * @return the command line handler for this handler */ public CmdLineHandler getCommandLineHandler() { if(commandLineHandler == null){ commandLineHandler = new VersionCmdLineHandler(ConsoleServicesFacade.CREATOR,new HelpCmdLineHandler(getHelpMessage()+getHelpExamples(),ConsoleServicesFacade.LICENSE,"",COMMAND,getCommandDescription(),getOptions(),getArguments())); commandLineHandler.setDieOnParseError(false); } return commandLineHandler; } } ././@LongLink0000000000000000000000000000015000000000000011561 Lustar rootrootpdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/parser/handlers/DefaultCmdHandler.javapdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/parser/handlers/DefaultCmdHandler.j0000644000175000017500000001044411101643034033456 0ustar twernertwerner/* * Created on 18-Oct-2007 * Copyright (C) 2007 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.business.parser.handlers; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.List; import jcmdline.CmdLineHandler; import jcmdline.HelpCmdLineHandler; import jcmdline.Parameter; import jcmdline.StringParam; import jcmdline.VersionCmdLineHandler; import org.pdfsam.console.business.ConsoleServicesFacade; import org.pdfsam.console.business.dto.commands.AbstractParsedCommand; import org.pdfsam.console.business.parser.handlers.interfaces.CmdHandler; /** * Default handler * @author Andrea Vacondio * */ public class DefaultCmdHandler implements CmdHandler { private VersionCmdLineHandler commandLineHandler = null; private static final String commandDescription = "merge, split, mix, setviewer, unpack, encrypt, slideshow, decrypt."; /** * The default arguments */ private final List concatArguments = new ArrayList(Arrays.asList(new Parameter[] { new StringParam("command", "command to execute {["+AbstractParsedCommand.COMMAND_CONCAT+"], ["+AbstractParsedCommand.COMMAND_SPLIT+"], ["+AbstractParsedCommand.COMMAND_ENCRYPT+"], ["+AbstractParsedCommand.COMMAND_MIX+"], ["+AbstractParsedCommand.COMMAND_UNPACK+"], ["+AbstractParsedCommand.COMMAND_SETVIEWER+"], ["+AbstractParsedCommand.COMMAND_SLIDESHOW+"], ["+AbstractParsedCommand.COMMAND_DECRYPT+"]}", new String[] { AbstractParsedCommand.COMMAND_CONCAT, AbstractParsedCommand.COMMAND_SPLIT, AbstractParsedCommand.COMMAND_ENCRYPT, AbstractParsedCommand.COMMAND_MIX, AbstractParsedCommand.COMMAND_UNPACK, AbstractParsedCommand.COMMAND_SETVIEWER , AbstractParsedCommand.COMMAND_DECRYPT }, StringParam.REQUIRED) })); /** * default help text */ private static final String helpText = COMMAND+" -h [command] for commands help. "; public Collection getArguments() { return concatArguments; } public String getCommandDescription() { return commandDescription; } public String getHelpExamples() { return ""; } public String getHelpMessage() { return helpText; } public Collection getOptions() { return Collections.EMPTY_LIST; } public CmdLineHandler getCommandLineHandler() { if(commandLineHandler == null){ commandLineHandler = new VersionCmdLineHandler(ConsoleServicesFacade.CREATOR,new HelpCmdLineHandler(getHelpMessage(),ConsoleServicesFacade.LICENSE,"",COMMAND,getCommandDescription(),getOptions(),getArguments())); commandLineHandler.setDieOnParseError(false); } return commandLineHandler; } } ././@LongLink0000000000000000000000000000015000000000000011561 Lustar rootrootpdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/parser/handlers/EncryptCmdHandler.javapdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/parser/handlers/EncryptCmdHandler.j0000644000175000017500000001725511161510054033526 0ustar twernertwerner/* * Created on 16-Oct-2007 * Copyright (C) 2007 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.business.parser.handlers; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.List; import jcmdline.FileParam; import jcmdline.Parameter; import jcmdline.PdfFileParam; import jcmdline.StringParam; import org.pdfsam.console.business.ConsoleServicesFacade; import org.pdfsam.console.business.dto.commands.EncryptParsedCommand; import org.pdfsam.console.business.parser.handlers.interfaces.AbstractCmdHandler; /** * Handler for the encrypt command * @author Andrea Vacondio */ public class EncryptCmdHandler extends AbstractCmdHandler { private static final String commandDescription = "Encrypt pdf documents."; /** * Options for the encrypt handler */ private final List encryptOptions = new ArrayList(Arrays.asList(new Parameter[] { new FileParam(EncryptParsedCommand.O_ARG, "output directory", ((FileParam.IS_DIR & FileParam.EXISTS)), FileParam.REQUIRED, FileParam.SINGLE_VALUED), new PdfFileParam(EncryptParsedCommand.F_ARG, "pdf files to encrypt: a list of existing pdf files (EX. -f /tmp/file1.pdf -f /tmp/file2.pdf)", FileParam.IS_READABLE, FileParam.OPTIONAL, FileParam.MULTI_VALUED), new StringParam(EncryptParsedCommand.P_ARG, "prefix for the output files name", StringParam.OPTIONAL), new StringParam(EncryptParsedCommand.APWD_ARG, "administrator password for the document", StringParam.OPTIONAL), new StringParam(EncryptParsedCommand.UPWD_ARG, "user password for the document", StringParam.OPTIONAL), new FileParam(EncryptParsedCommand.D_ARG, "directory containing pdf files to encrypt.", FileParam.IS_DIR & FileParam.IS_READABLE, FileParam.OPTIONAL, FileParam.SINGLE_VALUED), new StringParam(EncryptParsedCommand.ALLOW_ARG, "permissions: a list of permissions. { "+EncryptParsedCommand.E_PRINT+", "+EncryptParsedCommand.E_MODIFY+", "+EncryptParsedCommand.E_COPY+", "+EncryptParsedCommand.E_ANNOTATION+", "+EncryptParsedCommand.E_FILL+", "+EncryptParsedCommand.E_SCREEN+", "+EncryptParsedCommand.E_ASSEMBLY+", "+EncryptParsedCommand.E_DPRINT+"} ", new String[] { EncryptParsedCommand.E_PRINT, EncryptParsedCommand.E_MODIFY, EncryptParsedCommand.E_COPY, EncryptParsedCommand.E_ANNOTATION, EncryptParsedCommand.E_FILL, EncryptParsedCommand.E_SCREEN, EncryptParsedCommand.E_ASSEMBLY, EncryptParsedCommand.E_DPRINT }, StringParam.OPTIONAL, StringParam.MULTI_VALUED), new StringParam(EncryptParsedCommand.ETYPE_ARG, "encryption angorithm {"+EncryptParsedCommand.E_RC4_40+", "+EncryptParsedCommand.E_RC4_128+", "+EncryptParsedCommand.E_AES_128+"}. If omitted it uses "+EncryptParsedCommand.E_RC4_128, new String[] { EncryptParsedCommand.E_RC4_40, EncryptParsedCommand.E_RC4_128, EncryptParsedCommand.E_AES_128}, StringParam.OPTIONAL, StringParam.SINGLE_VALUED) })); /** * The arguments for encrypt command */ private final List encryptArguments = new ArrayList(Arrays.asList(new Parameter[] { new StringParam("command", "command to execute {[encrypt]}", new String[] { EncryptParsedCommand.COMMAND_ENCRYPT }, StringParam.REQUIRED), })); /** * Help text for the encrypt command */ private static final String encryptHelpText = "Encrypt pdf files. \n"+ "You must specify '-o /home/user' to set the output directory.\n"+ "You must specify '-f /tmp/file1.pdf /tmp/file2.pdf:password -f /tmp/file3.pdf [...]' to specify a file list to encrypt (use filename:password if the file is password protected).\n"+ "'-apwd password' to set the owner password.\n"+ "'-upwd password' to set the user password.\n"+ "'-d /tmp' a directory containing the pdf files to encrypt.\n"+ "'-allow permission' to set the permissions list. Possible values {["+EncryptParsedCommand.E_PRINT+"], ["+EncryptParsedCommand.E_ANNOTATION+"], ["+EncryptParsedCommand.E_ASSEMBLY+"], ["+EncryptParsedCommand.E_COPY+"], ["+EncryptParsedCommand.E_DPRINT+"], ["+EncryptParsedCommand.E_FILL+"], ["+EncryptParsedCommand.E_MODIFY+"], ["+EncryptParsedCommand.E_SCREEN+"]}\n"+ "'-p prefix_' to specify a prefix for output names of files. If it contains \"[TIMESTAMP]\" it performs variable substitution. (Ex. [BASENAME]_prefix_[TIMESTAMP] generates FileName_prefix_20070517_113423471.pdf)\n"+ "Available prefix variables: [TIMESTAMP], [BASENAME].\n"+ "'-etype ' to set the encryption angorithm. If omitted it uses rc4_128. Possible values {["+EncryptParsedCommand.E_AES_128+"], ["+EncryptParsedCommand.E_RC4_128+"], ["+EncryptParsedCommand.E_RC4_40+"]}\n"; /** * example text for the encrypt handler */ private static final String encryptExample = "Example: java -jar pdfsam-console-"+ConsoleServicesFacade.VERSION+".jar -f /tmp/1.pdf -o /tmp -apwd hello -upwd word -allow print -allow fill -etype rc4_128 -p encrypted_ encrypt\n"; public Collection getArguments() { return encryptArguments; } public String getCommandDescription() { return commandDescription; } public String getHelpExamples() { return encryptExample; } public Collection getOptions() { return encryptOptions; } public String getHelpMessage() { return encryptHelpText; } } ././@LongLink0000000000000000000000000000015200000000000011563 Lustar rootrootpdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/parser/handlers/SetViewerCmdHandler.javapdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/parser/handlers/SetViewerCmdHandler0000644000175000017500000002533711161510076033573 0ustar twernertwerner/* * Created on 06-Mar-2008 * Copyright (C) 2008 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.business.parser.handlers; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.List; import jcmdline.BooleanParam; import jcmdline.FileParam; import jcmdline.Parameter; import jcmdline.PdfFileParam; import jcmdline.StringParam; import org.pdfsam.console.business.ConsoleServicesFacade; import org.pdfsam.console.business.dto.commands.SetViewerParsedCommand; import org.pdfsam.console.business.parser.handlers.interfaces.AbstractCmdHandler; /** * Handler for the setviewer command * @author Andrea Vacondio */ public class SetViewerCmdHandler extends AbstractCmdHandler { private static final String commandDescription = "Set vewer options for the pdf documents."; /** * Options for the setviewer handler */ private final List setviewerOptions = new ArrayList(Arrays.asList(new Parameter[] { new FileParam(SetViewerParsedCommand.O_ARG, "output directory", ((FileParam.IS_DIR & FileParam.EXISTS)), FileParam.REQUIRED, FileParam.SINGLE_VALUED), new PdfFileParam(SetViewerParsedCommand.F_ARG, "pdf files to set the viewer options: a list of existing pdf files (EX. -f /tmp/file1.pdf -f /tmp/file2.pdf)", FileParam.IS_READABLE, FileParam.OPTIONAL, FileParam.MULTI_VALUED), new StringParam(SetViewerParsedCommand.P_ARG, "prefix for the output files name", StringParam.OPTIONAL), new StringParam(SetViewerParsedCommand.L_ARG, "layout for the viewer. { "+SetViewerParsedCommand.L_ONECOLUMN+", "+SetViewerParsedCommand.L_SINGLEPAGE+", "+SetViewerParsedCommand.L_TWOCOLUMNLEFT+", "+SetViewerParsedCommand.L_TWOCOLUMNRIGHT+", "+SetViewerParsedCommand.L_TWOPAGELEFT+", "+SetViewerParsedCommand.L_TWOPAGERIGHT+"} ", new String[] { SetViewerParsedCommand.L_ONECOLUMN, SetViewerParsedCommand.L_SINGLEPAGE, SetViewerParsedCommand.L_TWOCOLUMNLEFT, SetViewerParsedCommand.L_TWOCOLUMNRIGHT, SetViewerParsedCommand.L_TWOPAGELEFT, SetViewerParsedCommand.L_TWOPAGERIGHT}, StringParam.OPTIONAL, StringParam.SINGLE_VALUED), new StringParam(SetViewerParsedCommand.M_ARG, "open mode for the viewer {"+SetViewerParsedCommand.M_ATTACHMENTS+", "+SetViewerParsedCommand.M_FULLSCREEN+", "+SetViewerParsedCommand.M_NONE+", "+SetViewerParsedCommand.M_OCONTENT+", "+SetViewerParsedCommand.M_OUTLINES+", "+SetViewerParsedCommand.M_THUMBS+"}. If omitted it uses "+SetViewerParsedCommand.M_NONE, new String[] { SetViewerParsedCommand.M_ATTACHMENTS, SetViewerParsedCommand.M_FULLSCREEN, SetViewerParsedCommand.M_NONE, SetViewerParsedCommand.M_OCONTENT, SetViewerParsedCommand.M_OUTLINES, SetViewerParsedCommand.M_THUMBS}, StringParam.OPTIONAL, StringParam.SINGLE_VALUED), new StringParam(SetViewerParsedCommand.NFSM_ARG, "non full screen mode for the viewer when exiting full screen mode {"+SetViewerParsedCommand.NFSM_NONE+", "+SetViewerParsedCommand.NFSM_OCONTENT+", "+SetViewerParsedCommand.NFSM_OUTLINES+", "+SetViewerParsedCommand.NFSM_THUMBS+"}. If omitted it uses "+SetViewerParsedCommand.NFSM_NONE, new String[] { SetViewerParsedCommand.NFSM_NONE, SetViewerParsedCommand.NFSM_OCONTENT, SetViewerParsedCommand.NFSM_OUTLINES, SetViewerParsedCommand.NFSM_THUMBS}, StringParam.OPTIONAL, StringParam.SINGLE_VALUED), new StringParam(SetViewerParsedCommand.DIRECTION_ARG, "direction {"+SetViewerParsedCommand.D_L2R+", "+SetViewerParsedCommand.D_R2L+"}. If omitted it uses "+SetViewerParsedCommand.D_L2R, new String[] { SetViewerParsedCommand.D_L2R, SetViewerParsedCommand.D_R2L}, StringParam.OPTIONAL, StringParam.SINGLE_VALUED), new FileParam(SetViewerParsedCommand.D_ARG, "directory containing pdf files to set the viewer options.", FileParam.IS_DIR & FileParam.IS_READABLE, FileParam.OPTIONAL, FileParam.SINGLE_VALUED), new BooleanParam(SetViewerParsedCommand.HIDEMENU_ARG, "hide the menu bar"), new BooleanParam(SetViewerParsedCommand.HIDETOOLBAR_ARG, "hide the toolbar"), new BooleanParam(SetViewerParsedCommand.HIDEWINDOWUI_ARG, "hide user interface elements"), new BooleanParam(SetViewerParsedCommand.FITWINDOW_ARG, "resize the window to fit the page size"), new BooleanParam(SetViewerParsedCommand.CENTERWINDOW_ARG, "center of the screen"), new BooleanParam(SetViewerParsedCommand.DOCTITLE_ARG, "display document title metadata as window title"), new BooleanParam(SetViewerParsedCommand.NOPRINTSCALING_ARG, "no page scaling in print dialog") })); /** * Help text for the setviewer command */ private static final String setviewerHelpText = "Set vewer options for the pdf documents. \n"+ "You must specify '-o /home/user' to set the output directory.\n"+ "You must specify '-f /tmp/file1.pdf /tmp/file2.pdf:password -f /tmp/file3.pdf [...]' to specify a file list do apply the viewer options (use filename:password if the file is password protected).\n"+ "'-p prefix_' to specify a prefix for output names of files. If it contains \"[TIMESTAMP]\" it performs variable substitution. (Ex. [BASENAME]_prefix_[TIMESTAMP] generates FileName_prefix_20070517_113423471.pdf)\n"+ "Available prefix variables: [TIMESTAMP], [BASENAME].\n"+ "'-layout chosenlayout' to set the viewer layout for the document. Possible values { "+SetViewerParsedCommand.L_ONECOLUMN+", "+SetViewerParsedCommand.L_SINGLEPAGE+", "+SetViewerParsedCommand.L_TWOCOLUMNLEFT+", "+SetViewerParsedCommand.L_TWOCOLUMNRIGHT+", "+SetViewerParsedCommand.L_TWOPAGELEFT+", "+SetViewerParsedCommand.L_TWOPAGERIGHT+"} \n"+ "'-mode chosenmode' to set the viewer mode for the document. Possible values {"+SetViewerParsedCommand.M_ATTACHMENTS+", "+SetViewerParsedCommand.M_FULLSCREEN+", "+SetViewerParsedCommand.M_NONE+", "+SetViewerParsedCommand.M_OCONTENT+", "+SetViewerParsedCommand.M_OUTLINES+", "+SetViewerParsedCommand.M_THUMBS+"}. If omitted it uses "+SetViewerParsedCommand.M_NONE+"\n"+ "'-nfsmode chosennonfullscreenmode' to set the viewer mode for the document when exiting full screen mode. Possible values {"+SetViewerParsedCommand.NFSM_NONE+", "+SetViewerParsedCommand.NFSM_OCONTENT+", "+SetViewerParsedCommand.NFSM_OUTLINES+", "+SetViewerParsedCommand.NFSM_THUMBS+"}. If omitted it uses "+SetViewerParsedCommand.NFSM_NONE+" \n"+ "'-direction chosendirection' to set the viewer direction. Possible values {"+SetViewerParsedCommand.D_L2R+", "+SetViewerParsedCommand.D_R2L+"}\n"+ "'-d /tmp' a directory containing the pdf files to set the viewer options.\n"+ "'-"+SetViewerParsedCommand.HIDEMENU_ARG+"' hide the menu bar.\n"+ "'-"+SetViewerParsedCommand.HIDETOOLBAR_ARG+"' hide the toolbar.\n"+ "'-"+SetViewerParsedCommand.HIDEWINDOWUI_ARG+"' hide the user interface elements (scrollbars, ...).\n"+ "'-"+SetViewerParsedCommand.FITWINDOW_ARG+"' resize the window to fit the page displayed.\n"+ "'-"+SetViewerParsedCommand.CENTERWINDOW_ARG+"' display the document window at the center of the screen.\n"+ "'-"+SetViewerParsedCommand.DOCTITLE_ARG+"' display document title metadata as window title (filename otherwise).\n"+ "'-"+SetViewerParsedCommand.NOPRINTSCALING_ARG+"' no page scaling in print dialog\n"; /** * example text for the setviewer handler */ private static final String setviewerExample = "Example: java -jar pdfsam-console-"+ConsoleServicesFacade.VERSION+".jar -f /tmp/1.pdf -o /tmp -layout onecolumn -mode fullscreen -nfsmode nfsoutlines -direction l2r -hidemenu -displaydoctitle -noprintscaling -overwrite setviewer\n"; /** * The arguments for setviewer command */ private final List setviewerArguments = new ArrayList(Arrays.asList(new Parameter[] { new StringParam("command", "command to execute {["+SetViewerParsedCommand.COMMAND_SETVIEWER +"]}", new String[] { SetViewerParsedCommand.COMMAND_SETVIEWER }, StringParam.REQUIRED), })); public Collection getArguments() { return setviewerArguments; } public String getCommandDescription() { return commandDescription; } public String getHelpExamples() { return setviewerExample; } public Collection getOptions() { return setviewerOptions; } public String getHelpMessage() { return setviewerHelpText; } } ././@LongLink0000000000000000000000000000014600000000000011566 Lustar rootrootpdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/parser/handlers/SplitCmdHandler.javapdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/parser/handlers/SplitCmdHandler.jav0000644000175000017500000001516511161510120033514 0ustar twernertwerner/* * Created on 16-Oct-2007 * Copyright (C) 2007 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.business.parser.handlers; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.List; import jcmdline.FileParam; import jcmdline.IntParam; import jcmdline.LongParam; import jcmdline.Parameter; import jcmdline.PdfFileParam; import jcmdline.StringParam; import org.pdfsam.console.business.ConsoleServicesFacade; import org.pdfsam.console.business.dto.commands.SplitParsedCommand; import org.pdfsam.console.business.parser.handlers.interfaces.AbstractCmdHandler; /** * Handler for the split command * @author Andrea Vacondio * */ public class SplitCmdHandler extends AbstractCmdHandler { private static final String commandDescription = "Split a pdf document."; /** * Options for the split handler */ private final List splitOptions = new ArrayList(Arrays.asList(new Parameter[] { new FileParam(SplitParsedCommand.O_ARG, "output directory", ((FileParam.IS_DIR & FileParam.EXISTS)), FileParam.REQUIRED, FileParam.SINGLE_VALUED), new PdfFileParam(SplitParsedCommand.F_ARG, "input pdf file to split", FileParam.IS_READABLE, FileParam.REQUIRED, FileParam.SINGLE_VALUED), new StringParam(SplitParsedCommand.P_ARG, "prefix for the output files name", StringParam.OPTIONAL), new StringParam(SplitParsedCommand.S_ARG, "split type {["+SplitParsedCommand.S_BURST+"], ["+SplitParsedCommand.S_ODD+"], ["+SplitParsedCommand.S_EVEN+"], ["+SplitParsedCommand.S_SPLIT+"], ["+SplitParsedCommand.S_NSPLIT+"], ["+SplitParsedCommand.S_SIZE+"], ["+SplitParsedCommand.S_BLEVEL+"]}", new String[] { SplitParsedCommand.S_BURST, SplitParsedCommand.S_ODD, SplitParsedCommand.S_EVEN, SplitParsedCommand.S_SPLIT, SplitParsedCommand.S_NSPLIT, SplitParsedCommand.S_SIZE, SplitParsedCommand.S_BLEVEL }, StringParam.REQUIRED), new StringParam(SplitParsedCommand.N_ARG, "page number to split at if -s is "+SplitParsedCommand.S_SPLIT +" or " + SplitParsedCommand.S_NSPLIT , StringParam.OPTIONAL), new LongParam(SplitParsedCommand.B_ARG, "size in bytes to split at if -s is "+SplitParsedCommand.S_SIZE , LongParam.OPTIONAL), new IntParam(SplitParsedCommand.BL_ARG, "bookmarks depth to split if -s is "+SplitParsedCommand.S_BLEVEL , IntParam.OPTIONAL) })); /** * Arguments for the split handler */ private final List splitArguments = new ArrayList(Arrays.asList(new Parameter[] { new StringParam("command", "command to execute {[split]}", new String[] { SplitParsedCommand.COMMAND_SPLIT }, StringParam.REQUIRED), })); /** * Help text for the split handler */ private static final String splitHelpText = "Split pdf file. \n"+ "You must specify '-f /home/user/infile.pdf' option to set the input file you want to split (use filename:password if the file is password protected).\n" + "You must specify '-o /home/user' to set the output directory.\n"+ "You must specify '-s split_type' to set the split type. Possible values: {["+SplitParsedCommand.S_BURST+"], ["+SplitParsedCommand.S_ODD+"], ["+SplitParsedCommand.S_EVEN+"], ["+SplitParsedCommand.S_SPLIT+"], ["+SplitParsedCommand.S_NSPLIT+"], ["+SplitParsedCommand.S_BLEVEL+"]}\n"+ "'-p prefix_' to specify a prefix for output names of files. If it contains \"[CURRENTPAGE]\" or \"[TIMESTAMP]\" it performs variable substitution. (Ex. [BASENAME]_prefix_[CURRENTPAGE] generates FileName_prefix_005.pdf)\n"+ "Available prefix variables: [CURRENTPAGE], [TIMESTAMP], [BASENAME].\n"+ "'-n number' to specify a page number to split at if -s is SPLIT or NSPLIT.\n"+ "'-b number' to specify a number of bytes to split at if -s is SIZE.\n"; /** * Examples text for the split handler */ public static final String splitExamples = "Example: java -jar pdfsam-console-"+ConsoleServicesFacade.VERSION+".jar -f /tmp/1.pdf -o /tmp -s BURST -p splitted_ split\n"+ "Example: java -jar pdfsam-console-"+ConsoleServicesFacade.VERSION+".jar -f /tmp/1.pdf -o /tmp -s NSPLIT -n 4 split\n"; public Collection getArguments() { return splitArguments; } public String getCommandDescription() { return commandDescription; } public String getHelpExamples() { return splitExamples; } public String getHelpMessage() { return splitHelpText; } public Collection getOptions() { return splitOptions; } } pdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/parser/handlers/MixCmdHandler.java0000644000175000017500000001270211165636304033332 0ustar twernertwerner/* * Created on 01-Oct-2007 * Copyright (C) 2007 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.business.parser.handlers; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.List; import jcmdline.BooleanParam; import jcmdline.FileParam; import jcmdline.IntParam; import jcmdline.Parameter; import jcmdline.PdfFileParam; import jcmdline.StringParam; import org.pdfsam.console.business.ConsoleServicesFacade; import org.pdfsam.console.business.dto.commands.MixParsedCommand; import org.pdfsam.console.business.parser.handlers.interfaces.AbstractCmdHandler; /** * Handler for the mix command * @author Andrea Vacondio * */ public class MixCmdHandler extends AbstractCmdHandler { private static final String commandDescription = "Mix of two pdf documents."; /** * Options for the mix handler */ private final List mixOptions = new ArrayList(Arrays.asList(new Parameter[] { new FileParam(MixParsedCommand.O_ARG, "pdf output file: if it doesn't exist it's created, if it exists it must be writeable", ((FileParam.DOESNT_EXIST) | (FileParam.EXISTS & FileParam.IS_FILE & FileParam.IS_WRITEABLE)), FileParam.REQUIRED, FileParam.SINGLE_VALUED), new PdfFileParam(MixParsedCommand.F1_ARG, "first input pdf file to split", PdfFileParam.IS_READABLE, PdfFileParam.REQUIRED, PdfFileParam.SINGLE_VALUED), new PdfFileParam(MixParsedCommand.F2_ARG, "second input pdf file to split", PdfFileParam.IS_READABLE, PdfFileParam.REQUIRED, PdfFileParam.SINGLE_VALUED), new BooleanParam(MixParsedCommand.REVERSE_FIRST_ARG, "reverse first input file"), new BooleanParam(MixParsedCommand.REVERSE_SECOND_ARG, "reverse second input file"), new IntParam(MixParsedCommand.STEP_ARG, "step for the alternate mix (default is 1)" , IntParam.OPTIONAL, IntParam.SINGLE_VALUED) })); /** * help text for the mix handler */ private static final String mixHelpText = "Mix alternate two pdf files. \n"+ "You must specify '-o /home/user/out.pdf' to set the output file.\n"+ "You must specify '-f1 /home/user/infile1.pdf' option to set the first input file (use filename:password if the file is password protected).\n" + "You must specify '-f2 /home/user/infile2.pdf' option to set the second input file (use filename:password if the file is password protected).\n" + "'-reversefirst' reverse the first input file.\n"+ "'-reversesecond' reverse the second input file.\n"+ "'-step' set the step at which the mix should switch from a document to the other.\n"; /** * example text for the mix handler */ private static final String mixExample = "Example: java -jar pdfsam-console-"+ConsoleServicesFacade.VERSION+".jar -o /tmp/outfile.pdf -f1 /tmp/1.pdf -f2 /tmp/2.pdf:password -reversesecond mix\n"; /** * Arguments for the mix handler */ private final List mixArguments = new ArrayList(Arrays.asList(new Parameter[] { new StringParam("command", "command to execute {[mix]}", new String[] { MixParsedCommand.COMMAND_MIX }, StringParam.REQUIRED), })); public Collection getArguments() { return mixArguments; } public String getHelpExamples() { return mixExample; } public String getHelpMessage() { return mixHelpText; } public Collection getOptions() { return mixOptions; } public String getCommandDescription() { return commandDescription; } } ././@LongLink0000000000000000000000000000015000000000000011561 Lustar rootrootpdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/parser/handlers/DecryptCmdHandler.javapdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/parser/handlers/DecryptCmdHandler.j0000644000175000017500000001150611161510046033506 0ustar twernertwerner/* * Created on 30-Oct-2008 * Copyright (C) 2008 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.business.parser.handlers; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.List; import jcmdline.FileParam; import jcmdline.Parameter; import jcmdline.PdfFileParam; import jcmdline.StringParam; import org.pdfsam.console.business.ConsoleServicesFacade; import org.pdfsam.console.business.dto.commands.DecryptParsedCommand; import org.pdfsam.console.business.parser.handlers.interfaces.AbstractCmdHandler; /** * Handler for the decrypt command * @author Andrea Vacondio */ public class DecryptCmdHandler extends AbstractCmdHandler { private static final String commandDescription = "Decrypt pdf documents."; /** * Options for the decrypt handler */ private final List decryptOptions = new ArrayList(Arrays.asList(new Parameter[] { new FileParam(DecryptParsedCommand.O_ARG, "output directory", ((FileParam.IS_DIR & FileParam.EXISTS)), FileParam.REQUIRED, FileParam.SINGLE_VALUED), new PdfFileParam(DecryptParsedCommand.F_ARG, "pdf files to decrypt: a list of existing pdf files (EX. -f /tmp/file1.pdf -f /tmp/file2.pdf)", FileParam.IS_READABLE, FileParam.OPTIONAL, FileParam.MULTI_VALUED), new StringParam(DecryptParsedCommand.P_ARG, "prefix for the output files name", StringParam.OPTIONAL) })); /** * The arguments for decrypt command */ private final List decryptArguments = new ArrayList(Arrays.asList(new Parameter[] { new StringParam("command", "command to execute {[decrypt]}", new String[] { DecryptParsedCommand.COMMAND_DECRYPT }, StringParam.REQUIRED), })); /** * help text for the decrypt handler */ private static final String decryptHelpText = "Decrypt pdf files. \n"+ "You must specify '-o /home/user' to set the output directory.\n"+ "You must specify '-f /tmp/file1.pdf /tmp/file2.pdf:password -f /tmp/file3.pdf [...]' to specify a file list to decrypt (use filename:password if the file is password protected).\n"+ "'-p prefix_' to specify a prefix for output names of files. If it contains \"[TIMESTAMP]\" it performs variable substitution. (Ex. [BASENAME]_prefix_[TIMESTAMP] generates FileName_prefix_20070517_113423471.pdf)\n"; /** * example text for the decrypt handler */ private static final String decryptExample = "Example: java -jar pdfsam-console-"+ConsoleServicesFacade.VERSION+".jar -f /tmp/1.pdf -o /tmp -overwrite decrypt\n"; public Collection getArguments() { return decryptArguments; } public String getCommandDescription() { return commandDescription; } public String getHelpExamples() { return decryptExample; } public Collection getOptions() { return decryptOptions; } public String getHelpMessage() { return decryptHelpText; } } ././@LongLink0000000000000000000000000000014700000000000011567 Lustar rootrootpdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/parser/handlers/ConcatCmdHandler.javapdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/parser/handlers/ConcatCmdHandler.ja0000644000175000017500000001741511177606154033466 0ustar twernertwerner/* * Created on 16-Oct-2007 * Copyright (C) 2007 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.business.parser.handlers; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.List; import jcmdline.BooleanParam; import jcmdline.FileParam; import jcmdline.Parameter; import jcmdline.PdfFileParam; import jcmdline.StringParam; import org.pdfsam.console.business.ConsoleServicesFacade; import org.pdfsam.console.business.dto.commands.ConcatParsedCommand; import org.pdfsam.console.business.parser.handlers.interfaces.AbstractCmdHandler; /** * Handler for the concat command * @author Andrea Vacondio * */ public class ConcatCmdHandler extends AbstractCmdHandler { private static final String commandDescription = "Merge together pdf documents."; /** * options for the concat handler */ private final List concatOptions = new ArrayList(Arrays.asList(new Parameter[] { new FileParam(ConcatParsedCommand.O_ARG, "pdf output file: if it doesn't exist it's created, if it exists it must be writeable", ((FileParam.DOESNT_EXIST) | (FileParam.EXISTS & FileParam.IS_FILE & FileParam.IS_WRITEABLE)), FileParam.REQUIRED, FileParam.SINGLE_VALUED), new PdfFileParam(ConcatParsedCommand.F_ARG, "pdf files to concat: a list of existing pdf files (EX. -f /tmp/file1.pdf -f /tmp/file2.pdf:password)", FileParam.IS_READABLE, FileParam.OPTIONAL, FileParam.MULTI_VALUED), new StringParam(ConcatParsedCommand.U_ARG, "page selection script. You can set a subset of pages to merge. Accepted values: \"all\" or \"num1-num2\" or \"num-\" or \"num1,num2-num3..\" (EX. -f /tmp/file1.pdf -f /tmp/file2.pdf -u all:all:), (EX. -f /tmp/file1.pdf -f /tmp/file2.pdf -f /tmp/file3.pdf -u all:12-14:32,12-14,4,34-:) to merge file1.pdf and pages 12,13,14 of file2.pdf. If -u is not set default behaviour is to merge document completely", StringParam.OPTIONAL), new StringParam(ConcatParsedCommand.R_ARG, "pages rotation. You can set pages rotation. Accepted string is a sequence of \"pagenumber:rotationdegrees,\" where pagenumber can be a number or one among \"all\", \"odd\", \"even\" where rotationdegrees can be \"90\", \"180\" or \"270\". Pages will be rotate clockwise", StringParam.OPTIONAL), new FileParam(ConcatParsedCommand.L_ARG, "xml or csv file containing pdf files list to concat. If csv file in comma separated value format; if xml file ", FileParam.IS_FILE & FileParam.IS_READABLE, FileParam.OPTIONAL, FileParam.SINGLE_VALUED), new FileParam(ConcatParsedCommand.D_ARG, "directory containing pdf files to concat. Files will be merged in alphabetical order.", FileParam.IS_DIR & FileParam.IS_READABLE, FileParam.OPTIONAL, FileParam.SINGLE_VALUED), new BooleanParam(ConcatParsedCommand.COPYFIELDS_ARG, "input pdf documents contain forms (high memory usage)") })); /** * Arguments for the concat handler */ private final List concatArguments = new ArrayList(Arrays.asList(new Parameter[] { new StringParam("command", "command to execute {[concat]}", new String[] { ConcatParsedCommand.COMMAND_CONCAT }, StringParam.REQUIRED), })); /** * The help text for the concat handler */ private static final String concatHelpText = "Concatenate pdf files. \n"+ "you must specify the '-o /home/user/outfile.pdf' option to set the output file and the source file list:\n"+ "'-f /tmp/file1.pdf /tmp/file2.pdf:password -f /tmp/file3.pdf [...]' to specify a file list or at least one file to concat (use filename:password if the file is password protected).\n"+ "'-l /tmp/list.csv' a csv file containing the list of files to concat, separated by a comma.\n"+ "'-l /tmp/list.xml' a xml file containing the list of files to concat, \n"+ "'-d /tmp' a directory containing the pdf files to concat in alphabetical order.\n"+ "Note: You can use only one of these options per command line (-f, -l, -d)\n"+ "'-r 2:90,3:270' is optional to set pages rotation. (EX. -r 2:90,3:270 will rotate page number 2 of 90 degrees clockwise and page number 3 of 270 degrees clockwise)\n"+ "'-u All:All:3-15:16,19-24' is optional to set pages selection. You can set a subset of pages to merge. Accepted values: \"all\"or a comma separated list of \"num\", \"num-\", \"num1-num2\" (EX. -f /tmp/file1.pdf -f /tmp/file2.pdf -u all:all:), (EX. -f /tmp/file1.pdf -f /tmp/file2.pdf -u all:12-14:) to merge file1.pdf and pages 12,13,14 of file2.pdf. If -u is not set default behaviour is to merge document completely\n"+ "'-copyfields' input pdf documents contain forms (high memory usage).\n"; /** * example text for the concat handler */ private static final String concatExample = "Example: java -jar pdfsam-console-"+ConsoleServicesFacade.VERSION+".jar -o /tmp/outfile.pdf -f /tmp/1.pdf:password -f /tmp/2.pdf concat\n"+ "Example: java -jar pdfsam-console-"+ConsoleServicesFacade.VERSION+".jar -l c:\\docs\\list.csv concat"; public Collection getArguments() { return concatArguments; } public String getHelpExamples() { return concatExample; } public String getHelpMessage() { return concatHelpText; } public Collection getOptions() { return concatOptions; } public String getCommandDescription() { return commandDescription; } } pdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/business/ConsoleServicesFacade.java0000644000175000017500000001266511224652334031756 0ustar twernertwerner/* * Created on 02-Nov-2007 * Copyright (C) 2007 by Andrea Vacondio. * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.business; import java.util.Observer; import org.apache.log4j.Logger; import org.pdfsam.console.business.dto.commands.AbstractParsedCommand; import org.pdfsam.console.business.parser.CmdParseManager; import org.pdfsam.console.business.pdf.CmdExecuteManager; import org.pdfsam.console.exceptions.console.ConsoleException; /** * Facade for the console services * @author Andrea Vacondio * */ public class ConsoleServicesFacade { private final Logger log = Logger.getLogger(ConsoleServicesFacade.class.getPackage().getName()); public static final String VERSION = "2.0.6e"; public static final String CREATOR = "pdfsam-console (Ver. " +ConsoleServicesFacade.VERSION+ ")"; public static final String LICENSE = ConsoleServicesFacade.CREATOR+" Copyright (C) 2007 Andrea Vacondio\n"+ "This library is provided under dual licenses.\n"+ "You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2\n"+ "License at your discretion.\n\n"+ "This library is free software; you can redistribute it and/or\n"+ "modify it under the terms of the GNU Lesser General Public\n"+ "License as published by the Free Software Foundation;\n"+ "version 2.1 of the License.\n\n"+ "This library is distributed in the hope that it will be useful,\n"+ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"+ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n"+ "Lesser General Public License for more details.\n\n"+ "You should have received a copy of the GNU Lesser General Public\n"+ "License along with this library; if not, write to the Free Software\n"+ "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA\n\n\n"+ "This program is free software: you can redistribute it and/or modify\n"+ "it under the terms of the GNU General Public License as published by\n"+ "the Free Software Foundation,version 2 of the License\n\n"+ "This program is distributed in the hope that it will be useful,\n"+ "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"+ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"+ "GNU General Public License for more details.\n\n"+ "You should have received a copy of the GNU General Public License\n"+ "along with this program. If not, see ..\n"+ "This is free software, and you are welcome to redistribute it\n"+ "under certain conditions;\n"; private CmdParseManager cmdParserManager; private CmdExecuteManager cmdExecuteManager; public ConsoleServicesFacade() { cmdParserManager = new CmdParseManager(); cmdExecuteManager = new CmdExecuteManager(); } /** * execute parsedCommand * @param parsedCommand * @throws Exception. */ public synchronized void execute(AbstractParsedCommand parsedCommand) throws Exception{ try{ cmdExecuteManager.execute(parsedCommand); }catch(ConsoleException ce){ throw new Exception(ce); } } /** * parse and validate the input arguments * @param inputArguments input string arguments * @return the parsed command * @throws Exception. */ public synchronized AbstractParsedCommand parseAndValidate(String[] inputArguments) throws Exception{ try{ AbstractParsedCommand retVal = null; if (cmdParserManager.parse(inputArguments)){ retVal = cmdParserManager.validate(); }else{ log.error("Parse failed."); } return retVal; }catch(ConsoleException ce){ throw new Exception(ce); } } /** * Adds an observer that observe the execution. No duplicate allowed. * @param observer * @throws NullPointerException if the observer is null */ public synchronized void addExecutionObserver(Observer observer) throws NullPointerException{ cmdExecuteManager.addObserver(observer); } } pdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/exceptions/0000755000175000017500000000000010712700116025226 5ustar twernertwernerpdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/exceptions/BasicPdfsamException.java0000644000175000017500000000501311035170570032127 0ustar twernertwerner/* * Created on 20-June-2007 * Copyright (C) 2007 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.exceptions; import org.pdfsam.emp4j.exceptions.ClassNameKeyException; /** * Basic pdfsam Exception * @author Andrea Vacondio */ public class BasicPdfsamException extends ClassNameKeyException { public final static int ERR_UNKNOWN = 0x01; private static final long serialVersionUID = -4603132507348839358L; public BasicPdfsamException(int exceptionErrorCode, String[] args, Throwable e) { super(exceptionErrorCode, args, e); } public BasicPdfsamException(int exceptionErrorCode, Throwable e) { super(exceptionErrorCode, e); } public BasicPdfsamException(int exceptionErrorCode) { super(exceptionErrorCode); } public BasicPdfsamException(Throwable e) { super(e); } public BasicPdfsamException(int exceptionErrorCode, String[] args) { super(exceptionErrorCode, args); } } pdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/exceptions/console/0000755000175000017500000000000010712700116026670 5ustar twernertwernerpdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/exceptions/console/UnpackException.java0000644000175000017500000000470311155261226032645 0ustar twernertwerner/* * Created on 31-Jan-2008 * Copyright (C) 2008 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.exceptions.console; /** * Exception thrown while unpack pdf files * @author Andrea Vacondio */ public class UnpackException extends ConsoleException { public final static int CMD_NO_INPUT_FILE = 0x01; private static final long serialVersionUID = 6507276853411967680L; public UnpackException(int exceptionErrorCode, String[] args, Throwable e) { super(exceptionErrorCode, args, e); } public UnpackException(int exceptionErrorCode, Throwable e) { super(exceptionErrorCode, e); } public UnpackException(int exceptionErrorCode) { super(exceptionErrorCode); } public UnpackException(Throwable e) { super(e); } public UnpackException(int exceptionErrorCode, String[] args) { super(exceptionErrorCode, args); } } pdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/exceptions/console/SetViewerException.java0000644000175000017500000000475111155256124033345 0ustar twernertwerner/* * Created on 06-Mar-2008 * Copyright (C) 2008 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.exceptions.console; /** * Exception thrown while setting viewer options to pdf files * @author Andrea Vacondio */ public class SetViewerException extends ConsoleException { public final static int CMD_NO_INPUT_FILE = 0x01; private static final long serialVersionUID = -5870074661855916725L; public SetViewerException(int exceptionErrorCode, String[] args, Throwable e) { super(exceptionErrorCode, args, e); } public SetViewerException(int exceptionErrorCode, Throwable e) { super(exceptionErrorCode, e); } public SetViewerException(int exceptionErrorCode) { super(exceptionErrorCode); } public SetViewerException(Throwable e) { super(e); } public SetViewerException(int exceptionErrorCode, String[] args) { super(exceptionErrorCode, args); } } pdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/exceptions/console/EncryptException.java0000644000175000017500000000472311155260242033047 0ustar twernertwerner/* * Created on 22-Oct-2007 * Copyright (C) 2007 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.exceptions.console; /** * Exception thrown while encrypting pdf files * @author Andrea Vacondio */ public class EncryptException extends ConsoleException { public final static int CMD_NO_INPUT_FILE = 0x01; private static final long serialVersionUID = 7272105858262362686L; public EncryptException(int exceptionErrorCode, String[] args, Throwable e) { super(exceptionErrorCode, args, e); } public EncryptException(int exceptionErrorCode, Throwable e) { super(exceptionErrorCode, e); } public EncryptException(int exceptionErrorCode) { super(exceptionErrorCode); } public EncryptException(Throwable e) { super(e); } public EncryptException(int exceptionErrorCode, String[] args) { super(exceptionErrorCode, args); } } pdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/exceptions/console/MixException.java0000644000175000017500000000447311035170570032163 0ustar twernertwerner/* * Created on 21-Oct-2007 * Copyright (C) 2007 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.exceptions.console; /** * Exception thrown while mixing pdf files * @author Andrea Vacondio */ public class MixException extends ConsoleException { private static final long serialVersionUID = -4831193067447595154L; public MixException(int exceptionErrorCode, String[] args, Throwable e) { super(exceptionErrorCode, args, e); } public MixException(int exceptionErrorCode, Throwable e) { super(exceptionErrorCode, e); } public MixException(int exceptionErrorCode) { super(exceptionErrorCode); } public MixException(Throwable e) { super(e); } public MixException(int exceptionErrorCode, String[] args) { super(exceptionErrorCode, args); } } pdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/exceptions/console/ConsoleException.java0000644000175000017500000000556311170163370033031 0ustar twernertwerner/* * Created on 20-Jun-2007 * Copyright (C) 2007 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.exceptions.console; import org.pdfsam.console.exceptions.BasicPdfsamException; /** * Generic console Exception * @author Andrea Vacondio */ public class ConsoleException extends BasicPdfsamException { public final static int ERR_ZERO_LENGTH = 0x01; public final static int CMD_LINE_HANDLER_NULL = 0x02; public final static int EMPTY_FILENAME = 0x03; public final static int CMD_LINE_VALIDATOR_NULL = 0x04; public final static int ERR_BAD_COMMAND = 0x05; public final static int CMD_LINE_EXECUTOR_NULL = 0x06; public final static int CMD_LINE_NULL = 0x07; public final static int PREFIX_REQUEST_NULL = 0x08; private static final long serialVersionUID = -853792961862291208L; public ConsoleException(int exceptionErrorCode, String[] args, Throwable e) { super(exceptionErrorCode, args, e); } public ConsoleException(int exceptionErrorCode, Throwable e) { super(exceptionErrorCode, e); } public ConsoleException(int exceptionErrorCode) { super(exceptionErrorCode); } public ConsoleException(Throwable e) { super(e); } public ConsoleException(int exceptionErrorCode, String[] args) { super(exceptionErrorCode, args); } } pdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/exceptions/console/ConcatException.java0000644000175000017500000000565711137617556032657 0ustar twernertwerner/* * Created on 20-Jun-2007 * Copyright (C) 2007 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.exceptions.console; /** * Exception thrown while merging pdf files * @author Andrea Vacondio * */ public class ConcatException extends ConsoleException { public final static int ERR_SYNTAX = 0x01; public final static int ERR_DEL_TEMP_FILE = 0x02; public final static int ERR_NOT_POSITIVE = 0x03; public final static int ERR_READING_CSV_OR_XML = 0x04; public final static int ERR_CANNOT_MERGE = 0x05; public final static int ERR_START_BIGGER_THAN_END = 0x06; public final static int ERR_WRONG_ROTATION = 0x07; public final static int ERR_DEGREES_NOT_ALLOWED = 0x08; public final static int ERR_PARAM_ROTATION = 0x09; public final static int CMD_NO_INPUT_FILE = 0x0A; private static final long serialVersionUID = -8242739056279169571L; public ConcatException(int exceptionErrorCode, String[] args, Throwable e) { super(exceptionErrorCode, args, e); } public ConcatException(int exceptionErrorCode, Throwable e) { super(exceptionErrorCode, e); } public ConcatException(int exceptionErrorCode) { super(exceptionErrorCode); } public ConcatException(Throwable e) { super(e); } public ConcatException(int exceptionErrorCode, String[] args) { super(exceptionErrorCode, args); } } pdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/exceptions/console/SlideShowException.java0000644000175000017500000000554311035170570033326 0ustar twernertwerner/* * Created on 06-Mar-2008 * Copyright (C) 2008 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.exceptions.console; /** * Exception thrown while setting transitions options to pdf files * @author Andrea Vacondio */ public class SlideShowException extends ConsoleException { public final static int ERR_EMPTY_INPUT_STRING = 0x01; public final static int ERR_UNCOMPLETE_INPUT_STRING = 0x02; public final static int ERR_BAD_INPUT_STRING = 0x03; public final static int UNABLE_TO_ADD_TRANSITION = 0x04; public final static int ERR_READING_XML_TRANSITIONS_FILE = 0x05; public final static int ERR_DEFAULT_TRANSITION_ALREADY_SET = 0x06; public final static int ERR_READING_TRANSITION = 0x07; private static final long serialVersionUID = 6955483593054182431L; public SlideShowException(int exceptionErrorCode, String[] args, Throwable e) { super(exceptionErrorCode, args, e); } public SlideShowException(int exceptionErrorCode, Throwable e) { super(exceptionErrorCode, e); } public SlideShowException(int exceptionErrorCode) { super(exceptionErrorCode); } public SlideShowException(Throwable e) { super(e); } public SlideShowException(int exceptionErrorCode, String[] args) { super(exceptionErrorCode, args); } } pdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/exceptions/console/SplitException.java0000644000175000017500000000541511124433012032506 0ustar twernertwerner/* * Created on 20-Jun-2007 * Copyright (C) 2007 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.exceptions.console; /** * Exception thrown while splitting pdf files * @author Andrea Vacondio * */ public class SplitException extends ConsoleException { public final static int ERR_NO_PAGE_LIMITS = 0x01; public final static int ERR_NO_SUCH_PAGE = 0x02; public final static int ERR_NOT_VALID_SPLIT_TYPE = 0x03; public final static int ERR_NOT_VALID_BLEVEL = 0x04; public final static int ERR_BLEVEL_OUTOFBOUNDS = 0x05; public final static int ERR_BLEVEL = 0x06; public final static int ERR_BLEVEL_NO_DEST = 0x06; private static final long serialVersionUID = -2125271375075332148L; public SplitException(int exceptionErrorCode, String[] args, Throwable e) { super(exceptionErrorCode, args, e); } public SplitException(int exceptionErrorCode, Throwable e) { super(exceptionErrorCode, e); } public SplitException(int exceptionErrorCode) { super(exceptionErrorCode); } public SplitException(Throwable e) { super(e); } public SplitException(int exceptionErrorCode, String[] args) { super(exceptionErrorCode, args); } } pdfsam-1.1.4/pdfsam-console/src/java/org/pdfsam/console/exceptions/console/ParseException.java0000644000175000017500000000726211165637044032507 0ustar twernertwerner/* * Created on 20-Jun-2007 * Copyright (C) 2007 by Andrea Vacondio. * * * This library is provided under dual licenses. * You may choose the terms of the Lesser General Public License version 2.1 or the General Public License version 2 * License at your discretion. * * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.console.exceptions.console; /** * Exception thrown while parsing input arguments * @author Andrea Vacondio * */ public class ParseException extends ConsoleException { public final static int ERR_PARSE = 0x01; public final static int ERR_OUT_NOT_PDF = 0x02; public final static int ERR_NO_OUT = 0x03; public final static int ERR_NO_F_OR_L_OR_D = 0x04; public final static int ERR_BOTH_F_OR_L_OR_D = 0x05; public final static int ERR_NOT_CSV_OR_XML = 0x06; public final static int ERR_IN_NOT_PDF = 0x07; public final static int ERR_ILLEGAL_U = 0x08; public final static int ERR_OUT_NOT_DIR = 0x09; public final static int ERR_NO_S = 0x0A; public final static int ERR_N_NOT_NUM = 0x0B; public final static int ERR_N_NOT_NUM_OR_SEQ = 0x0C; public final static int ERR_NO_N = 0x0D; public final static int ERR_N_NOT_NEEDED = 0x0E; public final static int ERR_NO_O = 0x0F; public final static int ERR_NO_F1 = 0x10; public final static int ERR_NO_F2 = 0x11; public final static int ERR_B_NOT_NEEDED = 0x12; public final static int ERR_NO_B = 0x13; public final static int ERR_NO_F = 0x14; public final static int ERR_D_NOT_DIR = 0x15; public final static int ERR_NOT_XML = 0x16; public final static int ERR_BL_NOT_NEEDED = 0x17; public final static int ERR_NO_BL = 0x18; public final static int ERR_NO_F_OR_D = 0x19; public final static int ERR_BOTH_F_OR_D = 0x1A; public final static int ERR_STEP_ZERO_OR_NEGATIVE = 0x1B; private static final long serialVersionUID = -3982153307443637295L; public ParseException(int exceptionErrorCode, String[] args, Throwable e) { super(exceptionErrorCode, args, e); } public ParseException(int exceptionErrorCode, Throwable e) { super(exceptionErrorCode, e); } public ParseException(int exceptionErrorCode) { super(exceptionErrorCode); } public ParseException(Throwable e) { super(e); } public ParseException(int exceptionErrorCode, String[] args) { super(exceptionErrorCode, args); } } pdfsam-1.1.4/pdfsam-console/xsd/0000755000175000017500000000000011207252566016443 5ustar twernertwernerpdfsam-1.1.4/pdfsam-console/xsd/transitions-list.xsd0000644000175000017500000000507011207254542022507 0ustar twernertwerner pdfsam-1.1.4/pdfsam-console/xsd/concat-file-list.xsd0000644000175000017500000000156711207251400022313 0ustar twernertwerner pdfsam-1.1.4/pdfsam-mix/0000755000175000017500000000000010723304062014767 5ustar twernertwernerpdfsam-1.1.4/pdfsam-mix/ant/0000755000175000017500000000000010723304074015554 5ustar twernertwernerpdfsam-1.1.4/pdfsam-mix/ant/build.properties0000644000175000017500000000072511207771570021004 0ustar twernertwerner#where classes are compiled, jars distributed, javadocs created and release created build.dir=f:/build #libraries libs.dir=F:/pdfsam/workspace-enhanced/libraries pdfsam.release.jar.dir=f:/build/pdfsam-maine/release/jar log4j.jar.name=log4j-1.2.15 dom4j.jar.name=dom4j-1.6.1 jaxen.jar.name=jaxen-1.1 pdfsam-console.jar.name=pdfsam-console-1.1.2e pdfsam-mix.jar.name=pdfsam-mix-0.1.9e pdfsam-langpack.jar.name=pdfsam-langpack pdfsam.jar.name=pdfsam-1.0.0e-b3pdfsam-1.1.4/pdfsam-mix/ant/build.xml0000644000175000017500000000703610757576640017424 0ustar twernertwerner Mix plugin for pdfsam pdfsam-1.1.4/pdfsam-mix/apidocs/0000755000175000017500000000000011225360216016412 5ustar twernertwernerpdfsam-1.1.4/pdfsam-mix/images/0000755000175000017500000000000010723304074016237 5ustar twernertwernerpdfsam-1.1.4/pdfsam-mix/images/mix.png0000644000175000017500000000041610723304074017543 0ustar twernertwernerPNG  IHDRabKGD pHYs!3tIME/_謡IDAT8˕SA!+]"$&-jXk}1@fv{W#A 4HWIE(%-TfzQ*/ti^'#cΉHYtӬHOHB%_V Jv2{P*? $ƦS7F%J'9%3IENDB`pdfsam-1.1.4/pdfsam-mix/src/0000755000175000017500000000000010723304074015561 5ustar twernertwernerpdfsam-1.1.4/pdfsam-mix/src/java/0000755000175000017500000000000010723304076016504 5ustar twernertwernerpdfsam-1.1.4/pdfsam-mix/src/java/org/0000755000175000017500000000000010723304076017273 5ustar twernertwernerpdfsam-1.1.4/pdfsam-mix/src/java/org/pdfsam/0000755000175000017500000000000010723304076020545 5ustar twernertwernerpdfsam-1.1.4/pdfsam-mix/src/java/org/pdfsam/plugin/0000755000175000017500000000000010723304076022043 5ustar twernertwernerpdfsam-1.1.4/pdfsam-mix/src/java/org/pdfsam/plugin/mix/0000755000175000017500000000000010723304076022640 5ustar twernertwernerpdfsam-1.1.4/pdfsam-mix/src/java/org/pdfsam/plugin/mix/GUI/0000755000175000017500000000000010723304076023264 5ustar twernertwernerpdfsam-1.1.4/pdfsam-mix/src/java/org/pdfsam/plugin/mix/GUI/MixMainGUI.java0000644000175000017500000007621111175342774026056 0ustar twernertwerner/* * Created on 12-Jan-2007 * Copyright (C) 2006 by Andrea Vacondio. * * This program is free software; you can redistribute it and/or modify it under the terms of the * GNU General Public License as published by the Free Software Foundation; * either version 2 of the License. * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * You should have received a copy of the GNU General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ package org.pdfsam.plugin.mix.GUI; import java.awt.Component; import java.awt.Container; import java.awt.Dimension; import java.awt.FocusTraversalPolicy; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.Insets; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.io.File; import java.util.LinkedList; import javax.swing.BorderFactory; import javax.swing.Box; import javax.swing.BoxLayout; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JFileChooser; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.SpringLayout; import org.apache.log4j.Logger; import org.dom4j.Element; import org.dom4j.Node; import org.pdfsam.console.business.dto.commands.AbstractParsedCommand; import org.pdfsam.console.business.dto.commands.MixParsedCommand; import org.pdfsam.guiclient.business.listeners.EnterDoClickListener; import org.pdfsam.guiclient.commons.business.SoundPlayer; import org.pdfsam.guiclient.commons.business.WorkExecutor; import org.pdfsam.guiclient.commons.business.WorkThread; import org.pdfsam.guiclient.commons.business.listeners.CompressCheckBoxItemListener; import org.pdfsam.guiclient.commons.components.CommonComponentsFactory; import org.pdfsam.guiclient.commons.components.JPdfVersionCombo; import org.pdfsam.guiclient.commons.models.AbstractPdfSelectionTableModel; import org.pdfsam.guiclient.commons.panels.JPdfSelectionPanel; import org.pdfsam.guiclient.configuration.Configuration; import org.pdfsam.guiclient.dto.PdfSelectionTableItem; import org.pdfsam.guiclient.dto.StringItem; import org.pdfsam.guiclient.exceptions.LoadJobException; import org.pdfsam.guiclient.exceptions.SaveJobException; import org.pdfsam.guiclient.gui.components.JHelpLabel; import org.pdfsam.guiclient.plugins.interfaces.AbstractPlugablePanel; import org.pdfsam.guiclient.utils.DialogUtility; import org.pdfsam.guiclient.utils.filters.PdfFilter; import org.pdfsam.i18n.GettextResource; /** * Plugable JPanel provides a GUI for alternate mix functions. * @author Andrea Vacondio * @see org.pdfsam.guiclient.plugins.interfaces.AbstractPlugablePanel * @see javax.swing.JPanel */ public class MixMainGUI extends AbstractPlugablePanel implements PropertyChangeListener{ private static final long serialVersionUID = -4353488705164373490L; private static final Logger log = Logger.getLogger(MixMainGUI.class.getPackage().getName()); private static final String DEFAULT_OUPUT_NAME = "mixed_document.pdf"; private SpringLayout destinationPanelLayout; private SpringLayout mixOptionsPanelLayout; private JPanel destinationPanel = new JPanel(); private JPdfSelectionPanel selectionPanel = new JPdfSelectionPanel(JPdfSelectionPanel.DOUBLE_SELECTABLE_FILE, AbstractPdfSelectionTableModel.DEFAULT_SHOWED_COLUMNS_NUMBER); private JPanel topPanel = new JPanel(); private JPanel mixOptionsPanel = new JPanel(); private JPanel optionsChecksPanel = new JPanel(); private JPanel optionsFieldsPanel = new JPanel(); private JPdfVersionCombo versionCombo = new JPdfVersionCombo(); private final JCheckBox overwriteCheckbox = CommonComponentsFactory.getInstance().createCheckBox(CommonComponentsFactory.OVERWRITE_CHECKBOX_TYPE); private final JCheckBox outputCompressedCheck = CommonComponentsFactory.getInstance().createCheckBox(CommonComponentsFactory.COMPRESS_CHECKBOX_TYPE); private final JCheckBox reverseFirstCheckbox = new JCheckBox(); private final JCheckBox reverseSecondCheckbox = new JCheckBox(); private JTextField destinationTextField = CommonComponentsFactory.getInstance().createTextField(CommonComponentsFactory.DESTINATION_TEXT_FIELD_TYPE); private JTextField stepTextField = CommonComponentsFactory.getInstance().createTextField(CommonComponentsFactory.SIMPLE_TEXT_FIELD_TYPE); private JHelpLabel destinationHelpLabel; private JHelpLabel optionsHelpLabel; private Configuration config; private JFileChooser browseFileChooser; private final MixFocusPolicy mixFocusPolicy = new MixFocusPolicy(); //buttons private final JButton runButton = CommonComponentsFactory.getInstance().createButton(CommonComponentsFactory.RUN_BUTTON_TYPE); private final JButton browseButton = CommonComponentsFactory.getInstance().createButton(CommonComponentsFactory.BROWSE_BUTTON_TYPE); private final JLabel outputVersionLabel = CommonComponentsFactory.getInstance().createLabel(CommonComponentsFactory.PDF_VERSION_LABEL); private final JLabel stepLabel = new JLabel(); private final EnterDoClickListener runEnterkeyListener = new EnterDoClickListener(runButton); private final EnterDoClickListener browseEnterkeyListener = new EnterDoClickListener(browseButton); private static final String PLUGIN_AUTHOR = "Andrea Vacondio"; private static final String PLUGIN_VERSION = "0.1.9e"; /** * Constructor */ public MixMainGUI() { super(); initialize(); } private void initialize() { config = Configuration.getInstance(); setPanelIcon("/images/mix.png"); setPreferredSize(new Dimension(500,450)); setLayout(new GridBagLayout()); topPanel.setLayout(new GridBagLayout()); GridBagConstraints topConst = new GridBagConstraints(); topConst.fill = GridBagConstraints.BOTH; topConst.ipady = 5; topConst.weightx = 1.0; topConst.weighty = 1.0; topConst.gridwidth = 3; topConst.gridheight = 2; topConst.gridx = 0; topConst.gridy = 0; topPanel.add(selectionPanel, topConst); //CHECK_BOX mixOptionsPanel.setBorder(BorderFactory.createTitledBorder(GettextResource.gettext(config.getI18nResourceBundle(),"Mix options"))); mixOptionsPanelLayout = new SpringLayout(); mixOptionsPanel.setLayout(mixOptionsPanelLayout); mixOptionsPanel.setPreferredSize(new Dimension(200, 90)); mixOptionsPanel.setMinimumSize(new Dimension(160, 85)); optionsChecksPanel.setLayout(new BoxLayout(optionsChecksPanel, BoxLayout.LINE_AXIS)); optionsChecksPanel.add(Box.createRigidArea(new Dimension(5,0))); reverseFirstCheckbox.setText(GettextResource.gettext(config.getI18nResourceBundle(),"Reverse first document")); reverseFirstCheckbox.setSelected(false); optionsChecksPanel.add(reverseFirstCheckbox); optionsChecksPanel.add(Box.createRigidArea(new Dimension(10,0))); reverseSecondCheckbox.setText(GettextResource.gettext(config.getI18nResourceBundle(),"Reverse second document")); reverseSecondCheckbox.setSelected(true); optionsChecksPanel.add(reverseSecondCheckbox); mixOptionsPanel.add(optionsChecksPanel); optionsFieldsPanel.setLayout(new BoxLayout(optionsFieldsPanel, BoxLayout.LINE_AXIS)); optionsFieldsPanel.add(Box.createRigidArea(new Dimension(5,0))); optionsFieldsPanel.add(stepLabel); optionsFieldsPanel.add(Box.createRigidArea(new Dimension(10,0))); optionsFieldsPanel.add(stepTextField); mixOptionsPanel.add(optionsFieldsPanel); topConst.fill = GridBagConstraints.HORIZONTAL; topConst.weightx = 0.0; topConst.weighty = 0.0; topConst.gridwidth = 3; topConst.gridheight = 1; topConst.gridx = 0; topConst.gridy = 2; topPanel.add(mixOptionsPanel, topConst); //END_CHECK_BOX stepLabel.setText(GettextResource.gettext(config.getI18nResourceBundle(),"Number of pages to switch document")); String helpTextOptions = ""+GettextResource.gettext(config.getI18nResourceBundle(),"Mix options")+"" + "

"+GettextResource.gettext(config.getI18nResourceBundle(),"Tick the boxes if you want to reverse the first or the second document (or both).")+"

"+ "

"+GettextResource.gettext(config.getI18nResourceBundle(),"Set the number of pages to switch from a document to the other one (default is 1).")+"

"+ ""; optionsHelpLabel = new JHelpLabel(helpTextOptions, true); mixOptionsPanel.add(optionsHelpLabel); stepTextField.setPreferredSize(new Dimension(50, 20)); GridBagConstraints c = new GridBagConstraints(); c.fill = GridBagConstraints.BOTH; c.ipady = 5; c.weightx = 1.0; c.weighty = 1.0; c.gridwidth = 3; c.gridx = 0; c.gridy = 0; c.insets = new Insets(0, 0, 10, 0); add(topPanel, c); selectionPanel.addPropertyChangeListener(this); // DESTINATION_PANEL destinationPanelLayout = new SpringLayout(); destinationPanel.setLayout(destinationPanelLayout); destinationPanel.setBorder(BorderFactory.createTitledBorder(GettextResource.gettext(config.getI18nResourceBundle(),"Destination output file"))); destinationPanel.setPreferredSize(new Dimension(200, 160)); destinationPanel.setMinimumSize(new Dimension(160, 150)); c.fill = GridBagConstraints.HORIZONTAL; c.ipady = 5; c.weightx = 1.0; c.weighty = 0.0; c.gridwidth = 3; c.gridx = 0; c.gridy = 1; c.insets = new Insets(0, 0, 0, 0); add(destinationPanel, c); // END_DESTINATION_PANEL destinationPanel.add(destinationTextField); // BROWSE_BUTTON browseButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if(browseFileChooser==null){ browseFileChooser = new JFileChooser(Configuration.getInstance().getDefaultWorkingDir()); browseFileChooser.setFileFilter(new PdfFilter()); } File chosenFile = null; if(destinationTextField.getText().length()>0){ browseFileChooser.setCurrentDirectory(new File(destinationTextField.getText())); } if (browseFileChooser.showOpenDialog(browseButton.getParent()) == JFileChooser.APPROVE_OPTION){ chosenFile = browseFileChooser.getSelectedFile(); } //write the destination in text field if (chosenFile != null){ try{ destinationTextField.setText(chosenFile.getAbsolutePath()); } catch (Exception ex){ log.error(GettextResource.gettext(config.getI18nResourceBundle(),"Error: "), ex); } } } }); destinationPanel.add(browseButton); // END_BROWSE_BUTTON // CHECK_BOX destinationPanel.add(overwriteCheckbox); outputCompressedCheck.addItemListener(new CompressCheckBoxItemListener(versionCombo)); outputCompressedCheck.setSelected(true); destinationPanel.add(outputCompressedCheck); destinationPanel.add(versionCombo); destinationPanel.add(outputVersionLabel); // END_CHECK_BOX // HELP_LABEL_DESTINATION String helpTextDest = ""+GettextResource.gettext(config.getI18nResourceBundle(),"Destination output file")+"" + "

"+GettextResource.gettext(config.getI18nResourceBundle(),"Browse or enter the full path to the destination output file.")+"

"+ "

"+GettextResource.gettext(config.getI18nResourceBundle(),"Check the box if you want to overwrite the output file if it already exists.")+"

"+ "

"+GettextResource.gettext(config.getI18nResourceBundle(),"Check the box if you want compressed output files (Pdf version 1.5 or higher).")+"

"+ "

"+GettextResource.gettext(config.getI18nResourceBundle(),"Set the pdf version of the ouput document.")+"

"+ ""; destinationHelpLabel = new JHelpLabel(helpTextDest, true); destinationPanel.add(destinationHelpLabel); //END_HELP_LABEL_DESTINATION // RUN_BUTTON runButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (WorkExecutor.getInstance().getRunningThreads() > 0 || selectionPanel.isAdding()){ log.info(GettextResource.gettext(config.getI18nResourceBundle(),"Please wait while all files are processed..")); return; } final LinkedList args = new LinkedList(); try{ PdfSelectionTableItem[] items = selectionPanel.getTableRows(); if(items != null && items.length == 2){ args.add("-"+MixParsedCommand.F1_ARG); String f1 = items[0].getInputFile().getAbsolutePath(); if((items[0].getPassword()) != null && (items[0].getPassword()).length()>0){ log.debug(GettextResource.gettext(config.getI18nResourceBundle(),"Found a password for first file.")); f1 +=":"+items[0].getPassword(); } args.add(f1); args.add("-"+MixParsedCommand.F2_ARG); String f2 = items[1].getInputFile().getAbsolutePath(); if((items[1].getPassword()) != null && (items[1].getPassword()).length()>0){ log.debug(GettextResource.gettext(config.getI18nResourceBundle(),"Found a password for second file.")); f2 +=":"+items[1].getPassword(); } args.add(f2); String destination = ""; //if no extension given if ((destinationTextField.getText().length() > 0) && !(destinationTextField.getText().matches(PDF_EXTENSION_REGEXP))){ destinationTextField.setText(destinationTextField.getText()+".pdf"); } if(destinationTextField.getText().length()>0){ File destinationDir = new File(destinationTextField.getText()); File parent = destinationDir.getParentFile(); if(!(parent!=null && parent.exists())){ String suggestedDir = null; if(Configuration.getInstance().getDefaultWorkingDir()!=null && Configuration.getInstance().getDefaultWorkingDir().length()>0){ suggestedDir = new File(Configuration.getInstance().getDefaultWorkingDir(), destinationDir.getName()).getAbsolutePath(); }else{ PdfSelectionTableItem item = items[1]; if(item!=null && item.getInputFile()!=null){ suggestedDir = new File(item.getInputFile().getParent(), destinationDir.getName()).getAbsolutePath(); } } if(suggestedDir != null){ int chosenOpt = DialogUtility.showConfirmOuputLocationDialog(getParent(),suggestedDir); if(JOptionPane.YES_OPTION == chosenOpt){ destinationTextField.setText(suggestedDir); }else if(JOptionPane.CANCEL_OPTION == chosenOpt){ return; } } } } destination = destinationTextField.getText(); //check if the file already exists and the user didn't select to overwrite File destFile = (destination!=null)? new File(destination):null; if(destFile!=null && destFile.exists() && !overwriteCheckbox.isSelected()){ int chosenOpt = DialogUtility.askForOverwriteOutputFileDialog(getParent(),destFile.getName()); if(JOptionPane.YES_OPTION == chosenOpt){ overwriteCheckbox.setSelected(true); }else if(JOptionPane.CANCEL_OPTION == chosenOpt){ return; } } args.add("-"+MixParsedCommand.O_ARG); args.add(destination); if(stepTextField.getText()!=null && stepTextField.getText().length()>0){ args.add("-"+MixParsedCommand.STEP_ARG); args.add(stepTextField.getText()); } if (overwriteCheckbox.isSelected()) args.add("-"+MixParsedCommand.OVERWRITE_ARG); if (outputCompressedCheck.isSelected()) args.add("-"+MixParsedCommand.COMPRESSED_ARG); if (reverseFirstCheckbox.isSelected()) args.add("-"+MixParsedCommand.REVERSE_FIRST_ARG); if (reverseSecondCheckbox.isSelected()) args.add("-"+MixParsedCommand.REVERSE_SECOND_ARG); args.add("-"+MixParsedCommand.PDFVERSION_ARG); args.add(((StringItem)versionCombo.getSelectedItem()).getId()); args.add (AbstractParsedCommand.COMMAND_MIX); final String[] myStringArray = (String[])args.toArray(new String[args.size()]); WorkExecutor.getInstance().execute(new WorkThread(myStringArray)); }else{ JOptionPane.showMessageDialog(getParent(), GettextResource.gettext(config.getI18nResourceBundle(),"Please select two pdf documents."), GettextResource.gettext(config.getI18nResourceBundle(),"Warning"), JOptionPane.WARNING_MESSAGE); } }catch(Exception ex){ log.error(GettextResource.gettext(config.getI18nResourceBundle(),"Error: "), ex); SoundPlayer.getInstance().playErrorSound(); } } }); runButton.setToolTipText(GettextResource.gettext(config.getI18nResourceBundle(),"Execute pdf alternate mix")); runButton.setSize(new Dimension(88,25)); c.fill = GridBagConstraints.NONE; c.ipadx = 5; c.weightx = 0.0; c.weighty = 0.0; c.anchor = GridBagConstraints.LAST_LINE_END; c.gridwidth = 1; c.gridx = 2; c.gridy = 2; c.insets = new Insets(10,10,10,10); add(runButton, c); // END_RUN_BUTTON destinationTextField.addKeyListener(runEnterkeyListener); runButton.addKeyListener(runEnterkeyListener); browseButton.addKeyListener(browseEnterkeyListener); setLayout(); } /** * Set plugin layout for each component * */ private void setLayout(){ destinationPanelLayout.putConstraint(SpringLayout.EAST, destinationTextField, -105, SpringLayout.EAST, destinationPanel); destinationPanelLayout.putConstraint(SpringLayout.NORTH, destinationTextField, 10, SpringLayout.NORTH, destinationPanel); destinationPanelLayout.putConstraint(SpringLayout.SOUTH, destinationTextField, 30, SpringLayout.NORTH, destinationPanel); destinationPanelLayout.putConstraint(SpringLayout.WEST, destinationTextField, 5, SpringLayout.WEST, destinationPanel); destinationPanelLayout.putConstraint(SpringLayout.SOUTH, overwriteCheckbox, 17, SpringLayout.NORTH, overwriteCheckbox); destinationPanelLayout.putConstraint(SpringLayout.NORTH, overwriteCheckbox, 5, SpringLayout.SOUTH, destinationTextField); destinationPanelLayout.putConstraint(SpringLayout.WEST, overwriteCheckbox, 0, SpringLayout.WEST, destinationTextField); destinationPanelLayout.putConstraint(SpringLayout.SOUTH, outputCompressedCheck, 17, SpringLayout.NORTH, outputCompressedCheck); destinationPanelLayout.putConstraint(SpringLayout.NORTH, outputCompressedCheck, 5, SpringLayout.SOUTH, overwriteCheckbox); destinationPanelLayout.putConstraint(SpringLayout.WEST, outputCompressedCheck, 0, SpringLayout.WEST, destinationTextField); destinationPanelLayout.putConstraint(SpringLayout.SOUTH, outputVersionLabel, 17, SpringLayout.NORTH, outputVersionLabel); destinationPanelLayout.putConstraint(SpringLayout.NORTH, outputVersionLabel, 5, SpringLayout.SOUTH, outputCompressedCheck); destinationPanelLayout.putConstraint(SpringLayout.WEST, outputVersionLabel, 0, SpringLayout.WEST, destinationTextField); destinationPanelLayout.putConstraint(SpringLayout.SOUTH, versionCombo, 0, SpringLayout.SOUTH, outputVersionLabel); destinationPanelLayout.putConstraint(SpringLayout.NORTH, versionCombo, 0, SpringLayout.NORTH, outputVersionLabel); destinationPanelLayout.putConstraint(SpringLayout.WEST, versionCombo, 2, SpringLayout.EAST, outputVersionLabel); destinationPanelLayout.putConstraint(SpringLayout.SOUTH, browseButton, 25, SpringLayout.NORTH, browseButton); destinationPanelLayout.putConstraint(SpringLayout.EAST, browseButton, -10, SpringLayout.EAST, destinationPanel); destinationPanelLayout.putConstraint(SpringLayout.NORTH, browseButton, 0, SpringLayout.NORTH, destinationTextField); destinationPanelLayout.putConstraint(SpringLayout.WEST, browseButton, -88, SpringLayout.EAST, browseButton); destinationPanelLayout.putConstraint(SpringLayout.SOUTH, destinationHelpLabel, -1, SpringLayout.SOUTH, destinationPanel); destinationPanelLayout.putConstraint(SpringLayout.EAST, destinationHelpLabel, -1, SpringLayout.EAST, destinationPanel); mixOptionsPanelLayout.putConstraint(SpringLayout.NORTH, optionsChecksPanel, 0, SpringLayout.NORTH, mixOptionsPanel); mixOptionsPanelLayout.putConstraint(SpringLayout.WEST, optionsChecksPanel, 5, SpringLayout.WEST, mixOptionsPanel); mixOptionsPanelLayout.putConstraint(SpringLayout.NORTH, optionsFieldsPanel, 5, SpringLayout.SOUTH, optionsChecksPanel); mixOptionsPanelLayout.putConstraint(SpringLayout.WEST, optionsFieldsPanel, 0, SpringLayout.WEST, optionsChecksPanel); mixOptionsPanelLayout.putConstraint(SpringLayout.SOUTH, optionsHelpLabel, -1, SpringLayout.SOUTH, mixOptionsPanel); mixOptionsPanelLayout.putConstraint(SpringLayout.EAST, optionsHelpLabel, -1, SpringLayout.EAST, mixOptionsPanel); } /** * @return the Plugin author */ public String getPluginAuthor(){ return PLUGIN_AUTHOR; } /** * @return the Plugin name */ public String getPluginName(){ return GettextResource.gettext(config.getI18nResourceBundle(),"Alternate Mix"); } /** * @return the Plugin version */ public String getVersion(){ return PLUGIN_VERSION; } /** * @return the FocusTraversalPolicy associated with the plugin */ public FocusTraversalPolicy getFocusPolicy(){ return (FocusTraversalPolicy)mixFocusPolicy; } public Node getJobNode(Node arg0, boolean savePasswords) throws SaveJobException { try{ if (arg0 != null){ PdfSelectionTableItem[] items = selectionPanel.getTableRows(); if(items != null && items.length>0){ Element firstNode = ((Element)arg0).addElement("first"); firstNode.addAttribute("value", items[0].getInputFile().getAbsolutePath()); if(savePasswords){ firstNode.addAttribute("password",items[0].getPassword()); } Element secondNode = ((Element)arg0).addElement("second"); if(items.length>1){ secondNode.addAttribute("value", items[1].getInputFile().getAbsolutePath()); if(savePasswords){ secondNode.addAttribute("password",items[1].getPassword()); } } } Element fileDestination = ((Element)arg0).addElement("destination"); fileDestination.addAttribute("value", destinationTextField.getText()); Element stepDestination = ((Element)arg0).addElement("step"); stepDestination.addAttribute("value", stepTextField.getText()); Element reverseFirst = ((Element)arg0).addElement("reverse_first"); reverseFirst.addAttribute("value", reverseFirstCheckbox.isSelected()?TRUE:FALSE); Element reverseSecond = ((Element)arg0).addElement("reverse_second"); reverseSecond.addAttribute("value", reverseSecondCheckbox.isSelected()?TRUE:FALSE); Element fileOverwrite = ((Element)arg0).addElement("overwrite"); fileOverwrite.addAttribute("value", overwriteCheckbox.isSelected()?TRUE:FALSE); Element fileCompress = ((Element)arg0).addElement("compressed"); fileCompress.addAttribute("value", outputCompressedCheck.isSelected()?TRUE:FALSE); Element pdfVersion = ((Element)arg0).addElement("pdfversion"); pdfVersion.addAttribute("value", ((StringItem)versionCombo.getSelectedItem()).getId()); } return arg0; } catch (Exception ex){ throw new SaveJobException(ex); } } public void loadJobNode(Node arg0) throws LoadJobException { if(arg0 != null){ try{ resetPanel(); Node firstNode = (Node) arg0.selectSingleNode("first/@value"); if (firstNode != null && firstNode.getText().length()>0){ Node firstPwd = (Node) arg0.selectSingleNode("first/@password"); selectionPanel.getLoader().addFile(new File(firstNode.getText()), (firstPwd!=null)?firstPwd.getText():null); } Node secondNode = (Node) arg0.selectSingleNode("second/@value"); if (secondNode != null && secondNode.getText().length()>0){ Node secondPwd = (Node) arg0.selectSingleNode("second/@password"); selectionPanel.getLoader().addFile(new File(secondNode.getText()), (secondPwd!=null)?secondPwd.getText():null); } Node fileDestination = (Node) arg0.selectSingleNode("destination/@value"); if (fileDestination != null){ destinationTextField.setText(fileDestination.getText()); } Node stepDestination = (Node) arg0.selectSingleNode("step/@value"); if (stepDestination != null){ stepTextField.setText(stepDestination.getText()); } Node fileOverwrite = (Node) arg0.selectSingleNode("overwrite/@value"); if (fileOverwrite != null){ overwriteCheckbox.setSelected(TRUE.equals(fileOverwrite.getText())); } Node reverseFirst = (Node) arg0.selectSingleNode("reverse_first/@value"); if (reverseFirst != null){ reverseFirstCheckbox.setSelected(TRUE.equals(reverseFirst.getText())); } Node reverseSecond = (Node) arg0.selectSingleNode("reverse_second/@value"); if (reverseSecond != null){ reverseSecondCheckbox.setSelected(TRUE.equals(reverseSecond.getText())); } Node fileCompressed = (Node) arg0.selectSingleNode("compressed/@value"); if (fileCompressed != null && TRUE.equals(fileCompressed.getText())){ outputCompressedCheck.doClick(); } Node pdfVersion = (Node) arg0.selectSingleNode("pdfversion/@value"); if (pdfVersion != null){ for (int i = 0; i