Hi,
Thereis one table that store pdf file information (filename varchar; filecontent varbinary(max), ID int, Desc varchar, StudyCodeID int). My Asp project will select some filecontent and show them as pdf files. I can create a pdf file (many pages that base on records user selected) to hold all pages. The text in each page of pdf is correct but the formate is not as the original pdf formate that I saved in data table(miss under line and bold). See code below:
ProtectedFunction ConcatenatePDFListTest(ByVal PDFList As SortedList) As MemoryStream<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
Dim
inputStreams(PDFList.Count + 1) As MemoryStream<o:p></o:p>
Dim
streamCounter As Integer
= 1<o:p></o:p>
’ push each, separate PDF stream into the array of streams<o:p></o:p>
For
Each sTSCode As
String In
PDFList.Keys<o:p></o:p>
’ concatenate all TS Code PDF streams into one PDF stream<o:p></o:p>
If
Not PDFList(sTSCode) Is
Nothing Then<o:p></o:p>
'Instantiate Pdf pbject by calling its empty constructor<o:p></o:p>
Dim
pdf1 As Aspose.Pdf.Generator.Pdf = New
Aspose.Pdf.Generator.Pdf()<o:p></o:p>
'Create a new section in the Pdf object<o:p></o:p>
Dim
sec1 As Aspose.Pdf.Generator.Section = pdf1.Sections.Add()<o:p></o:p>
''Create a new text paragraph and pass the text to its constructor
as argument<o:p></o:p>
Dim
pdfDocument As New
Document(DirectCast(PDFList(sTSCode),
MemoryStream))<o:p></o:p>
Dim
textAbsorber As New
TextAbsorber()<o:p></o:p>
pdfDocument.Pages.Accept(textAbsorber)<o:p></o:p>
Dim
extractedText As String
= textAbsorber.Text<o:p></o:p>
'Add time study code description to pdf<o:p></o:p>
Dim
t As New
Aspose.Pdf.Generator.Text(extractedText)<o:p></o:p>
sec1.Paragraphs.Add(t)<o:p></o:p>
'pdf1.Save(“test.Pdf”)<o:p></o:p>
inputStreams(streamCounter)
= <o:p></o:p>
New
MemoryStream()<o:p></o:p>
pdf1.Save(inputStreams(streamCounter))<o:p></o:p>
streamCounter
+= 1<o:p></o:p>
End
If<o:p></o:p>
Next<o:p></o:p>
’ add first page<o:p></o:p>
Dim
PDFBodyStream As MemoryStream
= New MemoryStream<o:p></o:p>
’ get list of TS definitions<o:p></o:p>
Dim
pdfDocBody As Aspose.Pdf.Document = New
Aspose.Pdf.Document()<o:p></o:p>
’ Return the stream of TS definitions<o:p></o:p>
pdfDocBody.Save(PDFBodyStream)<o:p></o:p>
inputStreams(0)
= PDFBodyStream<o:p></o:p>
Dim
finalStream As New
MemoryStream<o:p></o:p>
Dim
pdfEditor As Aspose.Pdf.Facades.PdfFileEditor = New
Aspose.Pdf.Facades.PdfFileEditor()<o:p></o:p>
pdfEditor.Concatenate(inputStreams,
finalStream)<o:p></o:p>
’ final format ready to display<o:p></o:p>
Return
finalStream<o:p></o:p>
End
Function