/** * {@inheritDoc} */ public void invoke(PdfCanvasProcessor processor, PdfLiteral operator, List<PdfObject> operands) { float x2 = ((PdfNumber) operands.get(0)).floatValue(); float y2 = ((PdfNumber) operands.get(1)).floatValue(); float x3 = ((PdfNumber) operands.get(2)).floatValue(); float y3 = ((PdfNumber) operands.get(3)).floatValue(); processor.currentPath.curveTo(x2, y2, x3, y3); } }
private int normalizeFirstLastChar(PdfNumber firstLast, int defaultValue) { if (firstLast == null) return defaultValue; int result = firstLast.intValue(); return result < 0 || result > 255 ? defaultValue : result; } }
private void write(PdfNumber pdfNumber) { if (pdfNumber.hasContent()) { writeBytes(pdfNumber.getInternalContent()); } else if (pdfNumber.isDoubleNumber()) { writeDouble(pdfNumber.getValue()); } else { writeInteger(pdfNumber.intValue()); } }
/** * {@inheritDoc} */ public void invoke(PdfCanvasProcessor processor, PdfLiteral operator, List<PdfObject> operands) { float ty = ((PdfNumber) operands.get(1)).floatValue(); List<PdfObject> tlOperands = new ArrayList<PdfObject>(1); tlOperands.add(0, new PdfNumber(-ty)); setTextLeading.invoke(processor, null, tlOperands); moveStartNextLine.invoke(processor, null, operands); } }
int size = ((PdfNumber) xrefStream.get(PdfName.Size)).intValue(); PdfArray index; PdfObject obj = xrefStream.get(PdfName.Index); if (obj == null) { index = new PdfArray(); index.add(new PdfNumber(0)); index.add(new PdfNumber(size)); } else { index = (PdfArray) obj; obj = xrefStream.get(PdfName.Prev); if (obj != null) prev = ((PdfNumber) obj).longValue(); xref.setCapacity(size); byte[] b = readStreamBytes(xrefStream, true); int[] wc = new int[3]; for (int k = 0; k < 3; ++k) { wc[k] = w.getAsNumber(k).intValue(); int start = index.getAsNumber(idx).intValue(); int length = index.getAsNumber(idx + 1).intValue(); xref.setCapacity(start + length); while (length-- > 0) {
/** * Converts a {@link com.itextpdf.kernel.pdf.PdfArray} to an array of longs * * @param pdfArray PdfArray to be converted * @return long[] containing the PdfArray values * @deprecated Will be removed in 7.2. Use {@link PdfArray#toLongArray()} instead */ @Deprecated public static long[] asLongArray(PdfArray pdfArray) { long[] rslt = new long[pdfArray.size()]; for (int k = 0; k < rslt.length; ++k) { rslt[k] = pdfArray.getAsNumber(k).longValue(); } return rslt; }
/** * Simple method that compares two given PdfNumbers. * * @param outNumber number to compare. * @param cmpNumber number to compare. * @return true if numbers are equal, otherwise false. */ public boolean compareNumbers(PdfNumber outNumber, PdfNumber cmpNumber) { return cmpNumber.getValue() == outNumber.getValue(); }
public void decrementCount(){ count.decrement(); setModified(); if (parent != null) parent.decrementCount(); }
private void copyInheritedProperties(PdfPage copyPdfPage, PdfDocument pdfDocument) { if (copyPdfPage.getPdfObject().get(PdfName.Resources) == null) { PdfObject copyResource = pdfDocument.getWriter().copyObject(getResources().getPdfObject(), pdfDocument, false); copyPdfPage.getPdfObject().put(PdfName.Resources, copyResource); } if (copyPdfPage.getPdfObject().get(PdfName.MediaBox) == null) { //media box shall be in any case copyPdfPage.setMediaBox(getMediaBox()); } if (copyPdfPage.getPdfObject().get(PdfName.CropBox) == null) { //original pdfObject don't have CropBox, otherwise copyPdfPage will contain it PdfArray cropBox = (PdfArray) getInheritedValue(PdfName.CropBox, PdfObject.ARRAY); //crop box is optional, we shall not set default value. if (cropBox != null) { copyPdfPage.put(PdfName.CropBox, cropBox.copyTo(pdfDocument)); } } if (copyPdfPage.getPdfObject().get(PdfName.Rotate) == null) { //original pdfObject don't have Rotate, otherwise copyPdfPage will contain it PdfNumber rotate = (PdfNumber) getInheritedValue(PdfName.Rotate, PdfObject.NUMBER); //rotate is optional, we shall not set default value. if (rotate != null) { copyPdfPage.put(PdfName.Rotate, rotate.copyTo(pdfDocument)); } } }
if (getPdfObject().containsKey(PdfName.FontBBox)) { PdfArray fontBBox = getPdfObject().getAsArray(PdfName.FontBBox); fontProgram.getFontMetrics().setBbox(fontBBox.getAsNumber(0).intValue(), fontBBox.getAsNumber(1).intValue(), fontBBox.getAsNumber(2).intValue(), fontBBox.getAsNumber(3).intValue()); } else { fontProgram.getFontMetrics().setBbox(0, 0, 0, 0); fontMatrix[i] = ((PdfNumber) fontMatrixArray.get(i)).getValue();
/** * Converts a {@link com.itextpdf.kernel.pdf.PdfArray} to an array of longs * * @param pdfArray PdfArray to be converted * @return long[] containing the PdfArray values * @deprecated Will be removed in 7.2. Use {@link PdfArray#toLongArray()} instead */ @Deprecated public static long[] asLongArray(PdfArray pdfArray) { long[] rslt = new long[pdfArray.size()]; for (int k = 0; k < rslt.length; ++k) { rslt[k] = pdfArray.getAsNumber(k).longValue(); } return rslt; }
public double doubleValue() { return getValue(); }
/** * Create a new PdfArray filled with the values in the double[] as {@link com.itextpdf.kernel.pdf.PdfNumber}. * * @param numbers values to be added to this PdfArray */ public PdfArray(double[] numbers) { list = new ArrayList<>(numbers.length); for (double f : numbers) { list.add(new PdfNumber(f)); } }