List of usage examples for com.lowagie.text.pdf RandomAccessFileOrArray RandomAccessFileOrArray
public RandomAccessFileOrArray(RandomAccessFileOrArray file)
From source file:it.pdfsam.console.tools.pdf.PdfSplit.java
License:Open Source License
/** * Execute the split command. On error an exception is thrown. * //from w ww . j a v a 2 s . c o m * @throws SplitException */ public void execute() throws SplitException { try { percentageChanged(0); out_message = ""; PdfReader pdf_reader = new PdfReader(new RandomAccessFileOrArray(f_file.getCanonicalPath()), null); prefixParser = new PrefixParser(prefix_value, f_file.getName()); //we retrieve the total number of pages n = pdf_reader.getNumberOfPages(); // apply format for output files name with leading zero(s) try { file_number_formatter.applyPattern(Integer.toString(n).replaceAll("\\d", "0")); } catch (Exception fe) { file_number_formatter.applyPattern("00000"); } out_message += LogFormatter.formatMessage("There are " + n + " pages in this document\n"); // -s ODD EVEN if (split_type.equals(CmdParser.S_ODD) || split_type.equals(CmdParser.S_EVEN)) { doSplitOddEven(pdf_reader); } else // -s BURST if (split_type.equals(CmdParser.S_BURST)) { doSplitBurst(pdf_reader); } else // -s SPLIT if (split_type.equals(CmdParser.S_SPLIT)) { doSplitSplit(pdf_reader); } else // -s NSPLIT if (split_type.equals(CmdParser.S_NSPLIT)) { doSplitNSplit(pdf_reader); } pdf_reader.close(); } catch (Exception e) { throw new SplitException(e); } finally { workCompleted(); } }
From source file:it.pdfsam.plugin.coverfooter.GUI.CoverFooterMainGUI.java
License:Open Source License
private void addTableRow(File file_to_add) { if (file_to_add != null) { boolean encrypt = false; String num_pages = ""; try {//from w ww .j a v a 2 s . c o m //fix 03/07 for memory usage PdfReader pdf_reader = new PdfReader(new RandomAccessFileOrArray(file_to_add.getAbsolutePath()), null); encrypt = pdf_reader.isEncrypted(); // we retrieve the total number of pages num_pages = Integer.toString(pdf_reader.getNumberOfPages()); pdf_reader.close(); } catch (Exception ex) { num_pages = ex.getMessage(); } try { modello_cover_table.addRow(new CoverFooterItemType(file_to_add.getName(), file_to_add.getAbsolutePath(), num_pages, CoverFooterMainGUI.ALL_STRING, encrypt)); fireLogPropertyChanged( GettextResource.gettext(i18n_messages, "File selected: ") + file_to_add.getName(), LogPanel.LOG_INFO); } catch (Exception ex) { fireLogPropertyChanged(GettextResource.gettext(i18n_messages, "Error: ") + ex.getMessage(), LogPanel.LOG_ERROR); } } }
From source file:it.pdfsam.plugin.coverfooter.GUI.CoverFooterMainGUI.java
License:Open Source License
private void addTableRowsFromNode(Node file_node) { if (file_node != null) { boolean encrypt = false; String num_pages = ""; String page_selection = ""; File file_to_add = null;//from ww w . ja v a 2s .c o m try { Node file_name = (Node) file_node.selectSingleNode("@name"); if (file_name != null) { file_to_add = new File(file_name.getText()); } } catch (Exception ex) { file_to_add = null; fireLogPropertyChanged(GettextResource.gettext(i18n_messages, "Error: ") + ex.getMessage(), LogPanel.LOG_ERROR); } try { if (file_to_add != null) { PdfReader pdf_reader = new PdfReader(new RandomAccessFileOrArray(file_to_add.getAbsolutePath()), null); encrypt = pdf_reader.isEncrypted(); // we retrieve the total number of pages num_pages = Integer.toString(pdf_reader.getNumberOfPages()); pdf_reader.close(); } } catch (Exception ex) { num_pages = ex.getMessage(); } try { Node file_pages = (Node) file_node.selectSingleNode("@pageselection"); if (file_pages != null) { page_selection = file_pages.getText(); } else { page_selection = CoverFooterMainGUI.ALL_STRING; } } catch (Exception ex) { page_selection = CoverFooterMainGUI.ALL_STRING; } try { modello_cover_table.addRow(new CoverFooterItemType(file_to_add.getName(), file_to_add.getAbsolutePath(), num_pages, page_selection, encrypt)); fireLogPropertyChanged( GettextResource.gettext(i18n_messages, "File selected: ") + file_to_add.getName(), LogPanel.LOG_INFO); } catch (Exception ex) { fireLogPropertyChanged(GettextResource.gettext(i18n_messages, "Error: ") + ex.getMessage(), LogPanel.LOG_ERROR); } } }
From source file:it.pdfsam.plugin.merge.GUI.MergeMainGUI.java
License:Open Source License
private void addTableRow(File file_to_add) { if (file_to_add != null) { boolean encrypt = false; String num_pages = ""; try {/*from ww w .j a v a 2 s. com*/ //fix 03/07 for memory usage PdfReader pdf_reader = new PdfReader(new RandomAccessFileOrArray(file_to_add.getAbsolutePath()), null); encrypt = pdf_reader.isEncrypted(); // we retrieve the total number of pages num_pages = Integer.toString(pdf_reader.getNumberOfPages()); pdf_reader.close(); } catch (Exception ex) { num_pages = ex.getMessage(); } try { modello_merge_table.addRow(new MergeItemType(file_to_add.getName(), file_to_add.getAbsolutePath(), num_pages, MergeMainGUI.ALL_STRING, encrypt)); fireLogPropertyChanged( GettextResource.gettext(i18n_messages, "File selected: ") + file_to_add.getName(), LogPanel.LOG_INFO); } catch (Exception ex) { fireLogPropertyChanged(GettextResource.gettext(i18n_messages, "Error: ") + ex.getMessage(), LogPanel.LOG_ERROR); } } }
From source file:it.pdfsam.plugin.merge.GUI.MergeMainGUI.java
License:Open Source License
private void addTableRowsFromNode(Node file_node) { if (file_node != null) { boolean encrypt = false; String num_pages = ""; String page_selection = ""; File file_to_add = null;//w w w . j a va2 s . c o m try { Node file_name = (Node) file_node.selectSingleNode("@name"); if (file_name != null) { file_to_add = new File(file_name.getText()); } } catch (Exception ex) { file_to_add = null; fireLogPropertyChanged(GettextResource.gettext(i18n_messages, "Error: ") + ex.getMessage(), LogPanel.LOG_ERROR); } try { if (file_to_add != null) { PdfReader pdf_reader = new PdfReader(new RandomAccessFileOrArray(file_to_add.getAbsolutePath()), null); encrypt = pdf_reader.isEncrypted(); // we retrieve the total number of pages num_pages = Integer.toString(pdf_reader.getNumberOfPages()); pdf_reader.close(); } } catch (Exception ex) { num_pages = ex.getMessage(); } try { Node file_pages = (Node) file_node.selectSingleNode("@pageselection"); if (file_pages != null) { page_selection = file_pages.getText(); } else { page_selection = MergeMainGUI.ALL_STRING; } } catch (Exception ex) { page_selection = MergeMainGUI.ALL_STRING; } try { modello_merge_table.addRow(new MergeItemType(file_to_add.getName(), file_to_add.getAbsolutePath(), num_pages, page_selection, encrypt)); fireLogPropertyChanged( GettextResource.gettext(i18n_messages, "File selected: ") + file_to_add.getName(), LogPanel.LOG_INFO); } catch (Exception ex) { fireLogPropertyChanged(GettextResource.gettext(i18n_messages, "Error: ") + ex.getMessage(), LogPanel.LOG_ERROR); } } }
From source file:net.filterlogic.util.imaging.ToPDF.java
License:Apache License
public static void FromTIFF(String[] files, String pdfOutFile) throws OpenCaptureImagingException { String tiff_file;//from w w w . j a v a 2 s . c o m String pdf_file = pdfOutFile; try { Document document = new Document(); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(pdf_file)); writer.setFullCompression(); int pages = 0; document.open(); PdfContentByte cb = writer.getDirectContent(); RandomAccessFileOrArray ra = null; for (int i = 0; i < files.length; i++) { int comps = 0; tiff_file = files[i]; try { ra = new RandomAccessFileOrArray(tiff_file); comps = TiffImage.getNumberOfPages(ra); } catch (Throwable e) { throw new Exception("Exception in " + tiff_file + " " + e.toString()); //continue; } //System.out.println("Processing: " + tiff_file); for (int c = 0; c < comps; ++c) { try { Image img = TiffImage.getTiffImage(ra, c + 1); if (img != null) { //System.out.println("page " + (c + 1)); img.scaleToFit(675, 775); img.setAbsolutePosition(0, 50); // document.add(new Paragraph(tiff_file + " - page " + (c + 1))); cb.addImage(img); document.newPage(); ++pages; } } catch (Throwable e) { throw new Exception("Exception " + tiff_file + " page " + (c + 1) + " " + e.getMessage()); } } ra.close(); } // close pdf document.close(); } catch (Exception e) { throw new OpenCaptureImagingException("ToPDF exception: " + e.toString()); } }
From source file:org.eclipse.birt.report.engine.emitter.postscript.truetypefont.TrueTypeFont.java
License:Open Source License
/** * Reads the font data.//from ww w . j a va2 s.co m * * @param ttfAfm * the font as a <CODE>byte</CODE> array, possibly <CODE>null</CODE> * @throws DocumentException * the font is invalid * @throws IOException * the font file could not be read */ void process() throws DocumentException, IOException { positionTables = new HashMap<String, int[]>(); metadataTables = new HashMap<String, byte[]>(); try { rf = new RandomAccessFileOrArray(fileName); if (ttcIndex.length() > 0) { int dirIdx = Integer.parseInt(ttcIndex); if (dirIdx < 0) throw new DocumentException("The font index for " + fileName + " must be positive."); String mainTag = readStandardString(4); if (!mainTag.equals("ttcf")) throw new DocumentException(fileName + " is not a valid TTC file."); rf.skipBytes(4); int dirCount = rf.readInt(); if (dirIdx >= dirCount) throw new DocumentException("The font index for " + fileName + " must be between 0 and " + (dirCount - 1) + ". It was " + dirIdx + "."); rf.skipBytes(dirIdx * 4); directoryOffset = rf.readInt(); } rf.seek(directoryOffset); rf.readFully(directoryRawData); int ttId = Util.getInt(directoryRawData, 0); if (ttId != 0x00010000 && ttId != 0x4F54544F) throw new DocumentException(fileName + " is not a valid TTF or OTF file."); int num_tables = Util.getUnsignedShort(directoryRawData, 4); for (int k = 0; k < num_tables; ++k) { byte[] rawData = new byte[16]; rf.readFully(rawData); String tag = getStandardString(rawData, 0, 4); int table_location[] = new int[2]; table_location[0] = Util.getInt(rawData, 8); table_location[1] = Util.getInt(rawData, 12); positionTables.put(tag, table_location); metadataTables.put(tag, rawData); } fontName = getBaseFont(); fullName = getNames(4); // full name familyName = getNames(1); // family name notice = getNames(0); version = getNames(5); if (!justNames) { fillTables(); readGlyphWidths(); readCMaps(); readKerning(); readBbox(); GlyphWidths = null; } } finally { if (rf != null) { rf.close(); if (!embedded) rf = null; } } }
From source file:org.pdfsam.console.utils.PdfUtility.java
License:Open Source License
public static PdfReader readerFor(PdfFile file) throws IOException, NoSuchFieldException, IllegalAccessException { PdfReader reader = new PdfReader(new RandomAccessFileOrArray(file.getFile().getAbsolutePath()), file.getPasswordBytes());/*w w w . j av a2s . co m*/ unethical(reader); return reader; }
From source file:org.pdfsam.guiclient.commons.business.loaders.callable.AddPdfDocument.java
License:Open Source License
/** * * @param fileToAdd file to add//from www.ja v a 2 s. c o m * @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; }
From source file:org.sejda.impl.itext.component.input.PartialReadPdfSourceOpener.java
License:Apache License
@Override PdfReader openSource(PdfURLSource source) throws IOException { return new PdfReader(new RandomAccessFileOrArray(source.getSource()), source.getPasswordBytes()); }