示例#1
0
        public void WriteTo(IPdfWriter writer)
        {
            TextChunk last = null;
            var       sb   = new StringBuilder();
            Location  loc  = null;

            foreach (var tc in _chunks)
            {
                if (last != null)
                {
                    if (tc.Location.ContinueString(last.Location))
                    {
                        sb.Append(tc.Text);
                    }
                    else
                    {
                        writer.Write(sb.ToString(), loc);
                        sb.Clear();
                        sb.Append(tc.Text);
                        loc = tc.Location;
                    }
                }
                else
                {
                    sb.Append(tc.Text);
                    loc = tc.Location;
                }
                last = tc;
            }
            foreach (var p in _pathes)
            {
                writer.Write(p);
            }
        }
示例#2
0
        public void Run(string inputDir, ITextToPdfConverter textToPdfConverter, IPdfWriter pdfWriter)
        {
            if (string.IsNullOrEmpty(inputDir))
            {
                throw new ArgumentException();
            }
            if (textToPdfConverter == null || pdfWriter == null)
            {
                throw new ArgumentNullException();
            }

            foreach (var line in fileRepository.GetLines(inputDir))
            {
                textToPdfConverter.Convert(line);
            }
            pdfWriter.CommitParagraph();
        }
示例#3
0
 public TextToPdfConverter(IPdfWriter pdfWriter)
 {
     this.pdfWriter = pdfWriter;
 }
示例#4
0
 public void Write(IPdfWriter writer)
 {
     writer.StartPage();
     _content.WriteTo(writer);
     writer.EndPage();
 }