Examples of PdfIndirectObject


Examples of com.lowagie.text.pdf.PdfIndirectObject

      JRGenericPrintElement element)
  {
    try
    {
      PdfWriter writer = exporterContext.getPdfWriter();
      PdfIndirectObject swfRef;
      boolean newContext = !existingContexts.containsKey(exporterContext);
      if (newContext)
      {
        // add the Adobe 1.7 extensions catalog dictionary
        PdfDictionary extensions = new PdfDictionary();
        PdfDictionary adobeExtension = new PdfDictionary();
        adobeExtension.put(new PdfName("BaseVersion"), PdfWriter.PDF_VERSION_1_7);
        adobeExtension.put(new PdfName("ExtensionLevel"), new PdfNumber(3));
        extensions.put(new PdfName("ADBE"), adobeExtension);
        writer.getExtraCatalog().put(new PdfName("Extensions"), extensions);
       
        // add the swf file
        byte[] swfData = readSwf();
        PdfFileSpecification swfFile = PdfFileSpecification.fileEmbedded(writer,
            null, "Open Flash Chart", swfData);
        swfRef = writer.addToBody(swfFile);
        existingContexts.put(exporterContext, swfRef);
      }
      else
      {
        swfRef = (PdfIndirectObject) existingContexts.get(exporterContext);
      }
     
      Rectangle rect = new Rectangle(element.getX() + exporterContext.getOffsetX(),
          exporterContext.getExportedReport().getPageHeight() - element.getY() - exporterContext.getOffsetY(),
          element.getX() + exporterContext.getOffsetX() + element.getWidth(),
          exporterContext.getExportedReport().getPageHeight() - element.getY() - exporterContext.getOffsetY() - element.getHeight());
      PdfAnnotation ann = new PdfAnnotation(writer, rect);
      ann.put(PdfName.SUBTYPE, new PdfName("RichMedia"));
     
      PdfDictionary settings = new PdfDictionary();
      PdfDictionary activation = new PdfDictionary();
      activation.put(new PdfName("Condition"), new PdfName("PV"));
      settings.put(new PdfName("Activation"), activation);
      ann.put(new PdfName("RichMediaSettings"), settings);
     
      PdfDictionary content = new PdfDictionary();
     
      HashMap assets = new HashMap();
      assets.put("map.swf", swfRef.getIndirectReference());
      PdfDictionary assetsDictionary = PdfNameTree.writeTree(assets, writer);
      content.put(new PdfName("Assets"), assetsDictionary);
     
      PdfArray configurations = new PdfArray();
      PdfDictionary configuration = new PdfDictionary();
     
      PdfArray instances = new PdfArray();
      PdfDictionary instance = new PdfDictionary();
      instance.put(new PdfName("Subtype"), new PdfName("Flash"));
      PdfDictionary params = new PdfDictionary();
     
      String chartData = (String) element.getParameterValue(PARAMETER_CHART_DATA);
      String vars = "inline_data=" + chartData;
      params.put(new PdfName("FlashVars"), new PdfString(vars));
      instance.put(new PdfName("Params"), params);
      instance.put(new PdfName("Asset"), swfRef.getIndirectReference());
      PdfIndirectObject instanceRef = writer.addToBody(instance);
      instances.add(instanceRef.getIndirectReference());
      configuration.put(new PdfName("Instances"), instances);
     
      PdfIndirectObject configurationRef = writer.addToBody(configuration);
      configurations.add(configurationRef.getIndirectReference());
      content.put(new PdfName("Configurations"), configurations);
     
      ann.put(new PdfName("RichMediaContent"), content);
     
      writer.addAnnotation(ann);
View Full Code Here

Examples of org.pdfclown.objects.PdfIndirectObject

        /*
          NOTE: This xref stream indirect object is purposely temporary (i.e. not registered into the file's
          indirect objects collection).
        */
        XRefStream xrefStream;
        PdfIndirectObject xrefStreamIndirectObject = new PdfIndirectObject(
          file,
          xrefStream = new XRefStream(file),
          xrefStreamEntry = new XRefEntry(indirectObjects.size(), 0, 0, XRefEntry.UsageEnum.InUse)
          );

View Full Code Here

Examples of org.pdfclown.objects.PdfIndirectObject

        /*
          NOTE: This xref stream indirect object is purposely temporary (i.e. not registered into the file's
          indirect objects collection).
        */
        XRefStream xrefStream;
        PdfIndirectObject xrefStreamIndirectObject = new PdfIndirectObject(
          file,
          xrefStream = new XRefStream(file),
          xrefStreamEntry = new XRefEntry(indirectObjects.size(), 0, 0, XRefEntry.UsageEnum.InUse)
          );

        XRefEntry prevFreeEntry = null;
        for(PdfIndirectObject indirectObject : indirectObjects)
        {
          if(indirectObject.getDataObject() instanceof XRefStream)
          {
            /*
              NOTE: Existing xref streams MUST be suppressed,
              temporarily replacing them with free entries.
            */
            indirectObject = new PdfIndirectObject(
              file,
              null,
              new XRefEntry(
                indirectObject.getReference().getObjectNumber(),
                XRefEntry.GenerationUnreusable,
View Full Code Here

Examples of org.pdfclown.objects.PdfIndirectObject

        index < xrefSize;
        index++
        )
      {
        // Current entry insertion.
        PdfIndirectObject indirectObject = indirectObjects.get(index);
        if(indirectObject.isInUse()) // In-use entry.
        {
          // Add in-use entry!
          appendXRefEntry(
            xrefInUseBlockBuilder,
            indirectObject.getReference(),
            stream.getLength()
            );
          // Add in-use entry content!
          indirectObject.writeTo(stream);
        }
        else // Free entry.
        {
          // Add free entry!
          appendXRefEntry(
            xrefBuilder,
            freeReference,
            index
            );

          // End current block!
          xrefBuilder.append(xrefInUseBlockBuilder);

          // Initialize next block!
          xrefInUseBlockBuilder.setLength(0);
          freeReference = indirectObject.getReference();
        }
      }
      // Add last free entry!
      appendXRefEntry(
        xrefBuilder,
View Full Code Here

Examples of org.pdfclown.objects.PdfIndirectObject

    {
      PdfArray actionObjects = (PdfArray)baseDataObject;
      if(values.length < actionObjects.size())
      {values = (T[])new Object[actionObjects.size()];}

      PdfIndirectObject container = getContainer();
      for(
        int index = 0,
          length = actionObjects.size();
        index < length;
        index++
View Full Code Here

Examples of org.pdfclown.objects.PdfIndirectObject

  {
    PdfArray itemObjects = (PdfArray)getBaseDataObject();
    if(values.length < itemObjects.size())
    {values = (T[])new Object[itemObjects.size()];}

    PdfIndirectObject container = getContainer();
    for(
      int index = 0,
        length = itemObjects.size();
      index < length;
      index++
View Full Code Here

Examples of org.pdfclown.objects.PdfIndirectObject

  {
    PdfArray functionObjects = getBaseDataObject();
    if(values.length < functionObjects.size())
    {values = (T[])new Object[functionObjects.size()];}

    PdfIndirectObject container = getContainer();
    for(
      int index = 0,
        length = functionObjects.size();
      index < length;
      index++
View Full Code Here

Examples of org.pdfclown.objects.PdfIndirectObject

  {
    PdfArray annotationObjects = getBaseDataObject();
    if(values.length < annotationObjects.size())
    {values = (T[])new Object[annotationObjects.size()];}

    PdfIndirectObject container = getContainer();
    for(
      int index = 0,
        length = annotationObjects.size();
      index < length;
      index++
View Full Code Here

Examples of org.pdfclown.objects.PdfIndirectObject

        at object number 0 [PDF:1.6:3.4.3].
      */
      lastObjectNumber = 0;
      modifiedObjects.put(
        lastObjectNumber,
        new PdfIndirectObject(
          this.file,
          null,
          new XRefEntry(
            lastObjectNumber,
            XRefEntry.GenerationUnreusable,
View Full Code Here

Examples of org.pdfclown.objects.PdfIndirectObject

    PdfDataObject object
    )
  {
    // Wrap the data object inside a new indirect object!
    lastObjectNumber++;
    PdfIndirectObject indirectObject = new PdfIndirectObject(
      file,
      object,
      new XRefEntry(
        lastObjectNumber,
        0,
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.