List of usage examples for org.apache.pdfbox.cos COSName SIZE
COSName SIZE
To view the source code for org.apache.pdfbox.cos COSName SIZE.
Click Source Link
From source file:com.aaasec.sigserv.csspsupport.pdfbox.modifications.CsCOSWriter.java
License:Apache License
/** * This will write the trailer to the PDF document. * * @param doc The document to create the trailer for. * * @throws IOException If there is an IOError while writing the document. * @throws COSVisitorException If there is an error while generating the * data./*from w ww. j a v a 2 s.c om*/ */ protected void doWriteTrailer(COSDocument doc) throws IOException, COSVisitorException { getStandardOutput().write(TRAILER); getStandardOutput().writeEOL(); COSDictionary trailer = doc.getTrailer(); //sort xref, needed only if object keys not regenerated Collections.sort(getXRefEntries()); COSWriterXRefEntry lastEntry = getXRefEntries().get(getXRefEntries().size() - 1); trailer.setInt(COSName.SIZE, (int) lastEntry.getKey().getNumber() + 1); // Only need to stay, if an incremental update will be performed if (!incrementalUpdate) { trailer.removeItem(COSName.PREV); } // Remove a checksum if present trailer.removeItem(COSName.DOC_CHECKSUM); trailer.accept(this); }
From source file:org.apache.fop.render.pdf.pdfbox.PSPDFGraphics2D.java
License:Apache License
private static Function getFunction(PDFunction f) throws IOException { if (f instanceof PDFunctionType3) { PDFunctionType3 sourceFT3 = (PDFunctionType3) f; float[] bounds = sourceFT3.getBounds().toFloatArray(); COSArray sourceFunctions = sourceFT3.getFunctions(); List<Function> targetFunctions = new ArrayList<Function>(); for (int j = 0; j < sourceFunctions.size(); j++) { targetFunctions.add(getFunction(PDFunction.create(sourceFunctions.get(j)))); }/*from ww w. ja v a 2 s. c o m*/ return new Function(null, null, targetFunctions, toList(bounds), null); } else if (f instanceof PDFunctionType2) { PDFunctionType2 sourceFT2 = (PDFunctionType2) f; double interpolation = (double) sourceFT2.getN(); float[] c0 = sourceFT2.getC0().toFloatArray(); float[] c1 = sourceFT2.getC1().toFloatArray(); return new Function(null, null, c0, c1, interpolation); } else if (f instanceof PDFunctionType0) { COSDictionary s = f.getCOSObject(); assert s instanceof COSStream; COSStream stream = (COSStream) s; COSArray encode = (COSArray) s.getDictionaryObject(COSName.ENCODE); COSArray domain = (COSArray) s.getDictionaryObject(COSName.DOMAIN); COSArray range = (COSArray) s.getDictionaryObject(COSName.RANGE); int bits = ((COSInteger) s.getDictionaryObject(COSName.BITS_PER_SAMPLE)).intValue(); COSArray size = (COSArray) s.getDictionaryObject(COSName.SIZE); byte[] x = IOUtils.toByteArray(stream.getUnfilteredStream()); for (byte y : x) { if (y != 0) { return new Function(floatArrayToDoubleList(domain.toFloatArray()), floatArrayToDoubleList(range.toFloatArray()), floatArrayToDoubleList(encode.toFloatArray()), x, bits, toList(size)); } } return null; } throw new IOException("Unsupported " + f.toString()); }