Пример #1
0
        private void WriteField(Stream outp)
        {
            // always hide the toc entry
            outp.WriteByte(RtfWriter.openGroup);
            outp.WriteByte(RtfWriter.escape);
            outp.WriteByte((byte)'v');

            // tc field entry
            outp.WriteByte(RtfWriter.openGroup);
            outp.WriteByte(RtfWriter.escape);
            byte[] t;
            if (!hidePageNumber)
            {
                t = DocWriter.GetISOBytes("tc");
                outp.Write(t, 0, t.Length);
            }
            else
            {
                t = DocWriter.GetISOBytes("tcn");
                outp.Write(t, 0, t.Length);
            }
            outp.WriteByte(RtfWriter.delimiter);
            t = DocWriter.GetISOBytes(RtfWriter.FilterSpecialChar(entryName, true));
            outp.Write(t, 0, t.Length);
            outp.WriteByte(RtfWriter.delimiter);
            outp.WriteByte(RtfWriter.closeGroup);

            outp.WriteByte(RtfWriter.closeGroup);
        }
Пример #2
0
        /**
         * @see com.lowagie.text.rtf.RtfField#write(com.lowagie.text.rtf.RtfWriter, java.io.Stream)
         */
        public void Write(RtfWriter writer, Stream outp)
        {
            if (!hideText)
            {
                writer.WriteInitialFontSignature(outp, new Chunk("", contentFont));
                byte[] t = DocWriter.GetISOBytes(RtfWriter.FilterSpecialChar(Content, true));
                outp.Write(t, 0, t.Length);
                writer.WriteFinishingFontSignature(outp, new Chunk("", contentFont));
            }

            if (!entryFont.Equals(contentFont))
            {
                writer.WriteInitialFontSignature(outp, new Chunk("", entryFont));
                WriteField(outp);
                writer.WriteFinishingFontSignature(outp, new Chunk("", entryFont));
            }
            else
            {
                writer.WriteInitialFontSignature(outp, new Chunk("", contentFont));
                WriteField(outp);
                writer.WriteFinishingFontSignature(outp, new Chunk("", contentFont));
            }
        }
Пример #3
0
        /**
         * @see com.lowagie.text.rtf.RtfField#write(com.lowagie.text.rtf.RtfWriter, java.io.Stream)
         */
        public void Write(RtfWriter writer, Stream outp)
        {
            writer.WriteInitialFontSignature(outp, this);
            byte[] t = DocWriter.GetISOBytes(RtfWriter.FilterSpecialChar(Content, true));
            outp.Write(t, 0, t.Length);
            writer.WriteFinishingFontSignature(outp, this);

            if (addTOCAsTOCEntry)
            {
                RtfTOCEntry entry = new RtfTOCEntry(entryName, entryFont);
                entry.HideText();
                writer.Add(entry);
            }

            // line break after headline
            outp.WriteByte(RtfWriter.escape);
            outp.Write(RtfWriter.paragraph, 0, RtfWriter.paragraph.Length);
            outp.WriteByte(RtfWriter.delimiter);

            // toc field entry
            outp.WriteByte(RtfWriter.openGroup);
            outp.WriteByte(RtfWriter.escape);
            outp.Write(RtfWriter.field, 0, RtfWriter.field.Length);
            // field initialization stuff
            outp.WriteByte(RtfWriter.openGroup);
            outp.WriteByte(RtfWriter.escape);
            outp.Write(RtfWriter.fieldContent, 0, RtfWriter.fieldContent.Length);
            outp.WriteByte(RtfWriter.delimiter);
            t = DocWriter.GetISOBytes("TOC");
            outp.Write(t, 0, t.Length);
            // create the TOC based on the 'toc entries'
            outp.WriteByte(RtfWriter.delimiter);
            outp.WriteByte(RtfWriter.escape);
            outp.WriteByte(RtfWriter.escape);
            outp.WriteByte((byte)'f');
            outp.WriteByte(RtfWriter.delimiter);
            // create Hyperlink TOC Entrie
            outp.WriteByte(RtfWriter.escape);
            outp.WriteByte(RtfWriter.escape);
            outp.WriteByte((byte)'h');
            outp.WriteByte(RtfWriter.delimiter);
            // create the TOC based on the paragraph level
            outp.WriteByte(RtfWriter.delimiter);
            outp.WriteByte(RtfWriter.escape);
            outp.WriteByte(RtfWriter.escape);
            outp.WriteByte((byte)'u');
            outp.WriteByte(RtfWriter.delimiter);
            // create the TOC based on the paragraph headlines 1-5
            outp.WriteByte(RtfWriter.delimiter);
            outp.WriteByte(RtfWriter.escape);
            outp.WriteByte(RtfWriter.escape);
            outp.WriteByte((byte)'o');
            outp.WriteByte(RtfWriter.delimiter);
            t = DocWriter.GetISOBytes("\"1-5\"");
            outp.Write(t, 0, t.Length);
            outp.WriteByte(RtfWriter.delimiter);
            outp.WriteByte(RtfWriter.closeGroup);

            // field default result stuff
            outp.WriteByte(RtfWriter.openGroup);
            outp.WriteByte(RtfWriter.escape);
            outp.Write(RtfWriter.fieldDisplay, 0, RtfWriter.fieldDisplay.Length);
            outp.WriteByte(RtfWriter.delimiter);
            t = DocWriter.GetISOBytes(defaultText);
            outp.Write(t, 0, t.Length);
            outp.WriteByte(RtfWriter.delimiter);
            outp.WriteByte(RtfWriter.closeGroup);
            outp.WriteByte(RtfWriter.closeGroup);
        }