title: how to use componentone c1printdocument in asp.net for reading text file and convert into pdf with format?
body: <p>I am using the C1PrintDocument class to read a text file and convert into pdf in web. Actually it converts into pdf but without the format as like in text file. 
  For eg. I have a text file which has only one page. But it makes into two pages while convert into pdf. Below is the code what I use.</p>
  
  <pre><code>Imports System.IO
  Imports C1.C1Preview
  Imports C1.C1Pdf
  Imports C1.Web.Wijmo.Controls.C1ReportViewer
  Imports System.Runtime.Serialization.Formatters.Binary
  Imports C1.C1Pdf.PdfDocumentInfo
  Imports C1.C1Preview.C1PrintDocument
  
  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) 
  Handles        Me.Load
      Try
          Dim strmappath As String = System.Web.HttpContext.Current.Server.MapPath("~")
  
          Dim filename As String
  
          filename = Path.Combine(Server.MapPath("~"), "12214.txt")
  
          Dim sr As New System.IO.StreamReader(filename, System.Text.Encoding.UTF8)
  
          Dim str As [String] = sr.ReadToEnd()
  
          Dim doc1 As C1PrintDocument = C1ReportViewer.CreateC1PrintDocument()
  
          Dim doc As New C1PrintDocument
  
          doc.Pages(1).PageSettings.TopMargin = 0
          doc.Pages(1).PageSettings.LeftMargin = 0
          doc.Pages(1).PageSettings.RightMargin = 0
  
          doc.StartDoc()
  
          Dim overlay As New RenderArea()
          overlay.Width = "100%"
          overlay.Height = "100%"
          overlay.Style.Borders.All = LineDef.Default
          doc.PageLayout.Overlay = overlay
  
  
          Dim lines As String() = System.IO.File.ReadAllLines(filename)
          Dim linecnt As Integer = System.IO.File.ReadLines(filename).Count
  
          Dim strpages1 As String()
          ReDim strpages1(Math.Abs(linecnt / 66) - 1)
  
          Dim intcnt As Integer
          Dim intlinereadcnt As Integer
          intlinereadcnt = 0
          intcnt = 0
          intlinereadcnt = 0
  
          For Each line In lines
  
              If intcnt &lt;= 66 Then
                  If intcnt &lt;&gt; 66 Then
                      strpages1(intlinereadcnt) = strpages1(intlinereadcnt) &amp; 
                                                  line &amp;       vbCrLf
                  End If
  
                  intcnt = intcnt + 1
              ElseIf intcnt = 67 Then
                  intlinereadcnt = intlinereadcnt + 1
                  intcnt = 0
              End If
          Next
  
          Dim strPages As String() = str.Split(Chr(12))
          Dim strPage As String = String.Empty
          Dim txtPage As New C1.C1Preview.RenderText(doc)
  
  
  
          With doc
              .AllowNonReflowableDocs = True
  
              For Each strPage In strpages1
                  If strPage.Length &gt; 0 Then
  
                      txtPage.Text = strPage
                      txtPage.X = 150
  
                      doc.Style.TextColor = Drawing.Color.Blue
  
  
                      .RenderBlockText(txtPage.Text)
  
                      .Style.WordWrapMode = False
  
                      .NewPage()
  
                  End If
              Next
          End With
  
          Dim m_pdfExporter As C1.C1Preview.Export.PdfExporter
          m_pdfExporter =  C1.C1Preview.Export.ExportProviders.
                           PdfExportProvider.NewExporter()
  
  
          m_pdfExporter.Document = doc
  
          m_pdfExporter.Export(Server.MapPath("~") &amp; "12214" &amp; ".pdf")
  
  
          Dim sr2 As System.IO.MemoryStream
  
          sr2 = New MemoryStream
  
          doc.Save(sr2)
  
  
          Dim biteArray As Byte() = New Byte(sr2.Length - 1) {}
          sr2.Position = 0
          sr2.Read(biteArray, 0, CInt(sr2.Length))
  
          'm_pdfExporter.Export(Path.GetTempPath &amp; "\" &amp; "12214" &amp; ".pdf")
  
          Response.Clear()
          Response.Charset = ""
          Response.Cache.SetCacheability(HttpCacheability.NoCache)
  
          Response.ContentType = "application/pdf"
          'Response.BinaryWrite(biteArray)
          Response.AddHeader("Content-Disposition", "attachment;filename=" &amp; "12214" &amp; ".pdf")
          Response.BinaryWrite(System.IO.File.ReadAllBytes(Server.MapPath("~") &amp; "12214" &amp; ".pdf"))
  
      Catch ex As Exception
  
      End Try
  End Sub
  </code></pre>