iTextSharp.text.pdf.FdfReader.GetAttachedFile C# (CSharp) Метод

GetAttachedFile() публичный Метод

public GetAttachedFile ( String name ) : byte[]
name String
Результат byte[]
        public byte[] GetAttachedFile(String name)
        {
            PdfDictionary field = GetField(name);
            if (field != null) {
                PdfIndirectReference ir = (PRIndirectReference)field.Get(PdfName.V);
                PdfDictionary filespec = (PdfDictionary)GetPdfObject(ir.Number);
                PdfDictionary ef = filespec.GetAsDict(PdfName.EF);
                ir = (PRIndirectReference)ef.Get(PdfName.F);
                PRStream stream = (PRStream)GetPdfObject(ir.Number);
                return GetStreamBytes(stream);
            }
            return new byte[0];
        }

Usage Example

Пример #1
0
// ---------------------------------------------------------------------------
    /**
     * Shows the stream passed to the server with POST
     */
    protected void DoPost(byte[] pdf, Stream stream) {
      using (Stream s = WebContext.Request.InputStream) {
        // Create a reader that interprets the Request's input stream
        FdfReader fdf = new FdfReader(s);
        // We get a resource from our web app
        PdfReader reader = new PdfReader(pdf);
        // Now we create the PDF
        using (PdfStamper stamper = new PdfStamper(reader, stream)) {
          // We alter the fields of the existing PDF
          AcroFields fields = stamper.AcroFields;
          fields.SetFields(fdf);
          stamper.FormFlattening = true;
          // Gets the image from the FDF file
          try {
            Image img = Image.GetInstance(fdf.GetAttachedFile("image"));
            img.ScaleToFit(100, 100);
            img.SetAbsolutePosition(90, 590);
            stamper.GetOverContent(1).AddImage(img);
          }
          catch {
            ColumnText.ShowTextAligned(
              stamper.GetOverContent(1), 
              Element.ALIGN_LEFT, 
              new Phrase("No image posted!"), 
              90, 660, 0
            );
          } 
        }
      }
    }