public static HashMap<String, String> getNamedDestination(PdfReader reader, boolean fromNames) { IntHashtable pages = new IntHashtable(); int numPages = reader.getNumberOfPages(); for (int k = 1; k <= numPages; ++k) pages.put(reader.getPageOrigRef(k).getNumber(), k); HashMap<String, PdfObject> names = fromNames ? reader.getNamedDestinationFromNames() : reader.getNamedDestinationFromStrings(); HashMap<String, String> n2 = new HashMap<String, String>(names.size()); for (Map.Entry<String, PdfObject> entry: names.entrySet()) { PdfArray arr = (PdfArray)entry.getValue(); StringBuffer s = new StringBuffer(); try { s.append(pages.get(arr.getAsIndirectObject(0).getNumber())); s.append(' ').append(arr.getPdfObject(1).toString().substring(1)); for (int k = 2; k < arr.size(); ++k) s.append(' ').append(arr.getPdfObject(k).toString()); n2.put(entry.getKey(), s.toString()); } catch (Exception e) { } } return n2; }
public static HashMap<String, String> getNamedDestination(PdfReader reader, boolean fromNames) { IntHashtable pages = new IntHashtable(); int numPages = reader.getNumberOfPages(); for (int k = 1; k <= numPages; ++k) pages.put(reader.getPageOrigRef(k).getNumber(), k); HashMap<String, PdfObject> names = fromNames ? reader.getNamedDestinationFromNames() : reader.getNamedDestinationFromStrings(); HashMap<String, String> n2 = new HashMap<String, String>(names.size()); for (Map.Entry<String, PdfObject> entry: names.entrySet()) { PdfArray arr = (PdfArray)entry.getValue(); StringBuffer s = new StringBuffer(); try { s.append(pages.get(arr.getAsIndirectObject(0).getNumber())); s.append(' ').append(arr.getPdfObject(1).toString().substring(1)); for (int k = 2; k < arr.size(); ++k) s.append(' ').append(arr.getPdfObject(k).toString()); n2.put(entry.getKey(), s.toString()); } catch (Exception e) { } } return n2; }
public int getDestinationPage() { if (!isInternal()) return 0; // here destination is something like // [132 0 R, /XYZ, 29.3898, 731.864502, null] PdfIndirectReference ref = destination.getAsIndirectObject(0); PRIndirectReference pr = (PRIndirectReference) ref; PdfReader r = pr.getReader(); for (int i = 1; i <= r.getNumberOfPages(); i++) { PRIndirectReference pp = r.getPageOrigRef(i); if (pp.getGeneration() == pr.getGeneration() && pp.getNumber() == pr.getNumber()) return i; } throw new IllegalArgumentException(MessageLocalization.getComposedMessage("page.not.found")); }
public int getDestinationPage() { if (!isInternal()) return 0; // here destination is something like // [132 0 R, /XYZ, 29.3898, 731.864502, null] PdfIndirectReference ref = destination.getAsIndirectObject(0); PRIndirectReference pr = (PRIndirectReference) ref; PdfReader r = pr.getReader(); for (int i = 1; i <= r.getNumberOfPages(); i++) { PRIndirectReference pp = r.getPageOrigRef(i); if (pp.getGeneration() == pr.getGeneration() && pp.getNumber() == pr.getNumber()) return i; } throw new IllegalArgumentException(MessageLocalization.getComposedMessage("page.not.found")); }
PdfDictionary annot = annots.getAsDict(j); if (annot == null) { PdfReader.releaseLastXrefPartial(annots.getAsIndirectObject(j)); continue; PdfReader.releaseLastXrefPartial(annots.getAsIndirectObject(j)); continue; item.addValue(value); item.addWidget(widget); item.addWidgetRef(annots.getAsIndirectObject(j)); // must be a reference if (top != null) dic.mergeDifferent(top); PdfDictionary annot = arrfds.getAsDict(j); if (annot == null) { PdfReader.releaseLastXrefPartial(arrfds.getAsIndirectObject(j)); continue; PdfReader.releaseLastXrefPartial(arrfds.getAsIndirectObject(j)); continue; item.addValue(dic); item.addWidget(dic); item.addWidgetRef(arrfds.getAsIndirectObject(j)); // must be a reference item.addMerged(dic); item.addPage(-1);
PdfDictionary annot = annots.getAsDict(j); if (annot == null) { PdfReader.releaseLastXrefPartial(annots.getAsIndirectObject(j)); continue; PdfReader.releaseLastXrefPartial(annots.getAsIndirectObject(j)); continue; item.addValue(value); item.addWidget(widget); item.addWidgetRef(annots.getAsIndirectObject(j)); // must be a reference if (top != null) dic.mergeDifferent(top); PdfDictionary annot = arrfds.getAsDict(j); if (annot == null) { PdfReader.releaseLastXrefPartial(arrfds.getAsIndirectObject(j)); continue; PdfReader.releaseLastXrefPartial(arrfds.getAsIndirectObject(j)); continue; item.addValue(dic); item.addWidget(dic); item.addWidgetRef(arrfds.getAsIndirectObject(j)); // must be a reference item.addMerged(dic); item.addPage(-1);
reader.killXref(ar.getAsIndirectObject(t)); reader.killXref(ar.getAsIndirectObject(d)); PdfStream tStream = new PdfStream(serializeDoc(form.templateNode)); tStream.flateCompress(writer.getCompressionLevel());
reader.killXref(ar.getAsIndirectObject(t)); reader.killXref(ar.getAsIndirectObject(d)); PdfStream tStream = new PdfStream(serializeDoc(form.templateNode)); tStream.flateCompress(writer.getCompressionLevel());