iTextSharp.text.pdf.PdfWriter.AddToBody C# (CSharp) Méthode

AddToBody() public méthode

public AddToBody ( PdfObject objecta ) : PdfIndirectObject
objecta PdfObject
Résultat PdfIndirectObject
        public PdfIndirectObject AddToBody(PdfObject objecta)
        {
            PdfIndirectObject iobj = body.Add(objecta);
            return iobj;
        }

Same methods

PdfWriter::AddToBody ( PdfObject objecta, PdfIndirectReference refa ) : PdfIndirectObject
PdfWriter::AddToBody ( PdfObject objecta, PdfIndirectReference refa, bool inObjStm ) : PdfIndirectObject
PdfWriter::AddToBody ( PdfObject objecta, bool inObjStm ) : PdfIndirectObject
PdfWriter::AddToBody ( PdfObject objecta, int refNumber ) : PdfIndirectObject
PdfWriter::AddToBody ( PdfObject objecta, int refNumber, bool inObjStm ) : PdfIndirectObject

Usage Example

Exemple #1
0
 internal override void WriteFont(PdfWriter writer, PdfIndirectReference piRef, Object[] oParams)
 {
     if (this.writer != writer)
         throw new ArgumentException("Type3 font used with the wrong PdfWriter");
     if (char2byte.Size != widths3.Size)
         throw new DocumentException("Not all the glyphs in the Type3 font are defined");
     IntHashtable inv = new IntHashtable();
     for (IntHashtable.IntHashtableIterator it = char2byte.GetEntryIterator(); it.HasNext();) {
         IntHashtable.IntHashtableEntry entry = it.Next();
         inv[entry.Value] = entry.Key;
     }
     int[] invOrd = inv.ToOrderedKeys();
     int firstChar = invOrd[0];
     int lastChar = invOrd[invOrd.Length - 1];
     int[] widths = new int[lastChar - firstChar + 1];
     for (int k = 0; k < widths.Length; ++k) {
         if (inv.ContainsKey(k + firstChar))
             widths[k] = widths3[inv[k + firstChar]];
     }
     PdfArray diffs = new PdfArray();
     PdfDictionary charprocs = new PdfDictionary();
     int last = -1;
     for (int k = 0; k < invOrd.Length; ++k) {
         int c = invOrd[k];
         if (c > last) {
             last = c;
             diffs.Add(new PdfNumber(last));
         }
         ++last;
         int c2 = inv[c];
         String s = GlyphList.UnicodeToName(c2);
         if (s == null)
             s = "a" + c2;
         PdfName n = new PdfName(s);
         diffs.Add(n);
         Type3Glyph glyph = (Type3Glyph)char2glyph[(char)c2];
         PdfStream stream = new PdfStream(glyph.ToPdf(null));
         stream.FlateCompress();
         PdfIndirectReference refp = writer.AddToBody(stream).IndirectReference;
         charprocs.Put(n, refp);
     }
     PdfDictionary font = new PdfDictionary(PdfName.FONT);
     font.Put(PdfName.SUBTYPE, PdfName.TYPE3);
     if (colorized)
         font.Put(PdfName.FONTBBOX, new PdfRectangle(0, 0, 0, 0));
     else
         font.Put(PdfName.FONTBBOX, new PdfRectangle(llx, lly, urx, ury));
     font.Put(PdfName.FONTMATRIX, new PdfArray(new float[]{0.001f, 0, 0, 0.001f, 0, 0}));
     font.Put(PdfName.CHARPROCS, writer.AddToBody(charprocs).IndirectReference);
     PdfDictionary encoding = new PdfDictionary();
     encoding.Put(PdfName.DIFFERENCES, diffs);
     font.Put(PdfName.ENCODING, writer.AddToBody(encoding).IndirectReference);
     font.Put(PdfName.FIRSTCHAR, new PdfNumber(firstChar));
     font.Put(PdfName.LASTCHAR, new PdfNumber(lastChar));
     font.Put(PdfName.WIDTHS, writer.AddToBody(new PdfArray(widths)).IndirectReference);
     if (pageResources.HasResources())
         font.Put(PdfName.RESOURCES, writer.AddToBody(pageResources.Resources).IndirectReference);
     writer.AddToBody(font, piRef);
 }
All Usage Examples Of iTextSharp.text.pdf.PdfWriter::AddToBody