使用Itext将文本插入现有Pdf [英] Inserting Text To an Existing Pdf using Itext
本文介绍了使用Itext将文本插入现有Pdf的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的要求是
1.想在现有的pdf中插入多行文字。
2.如果我有更多超过1 pdf,如何以超过1 pdf的方式插入文本。
我已经提供了我的代码,这里我以pdf输出为单行文本在编码中添加vbnewline之后。不是多行,它是如何可能的?
以及多页插入文本。请通过以下代码向我提供解决方案
公共 功能 pdfwrite()
Dim newFile As String = D:\ Temp \ new.pdf
Dim oldfile as string = < span class =code-string> D:\ Temp \old.pdf
Dim reader As 新 PdfReader(oldfile)
Dim size As Rectangle = reader.GetPageSizeWithRotation( 1 )
Dim 文件作为 新文档(大小)
Dim Fs As FileStream = 新 FileStream(newFile,FileMode.Create,FileAccess.Write)
Dim writer As PdfWriter = PdfWriter.GetInstance(Document,Fs)
Document.Open( )
Dim cb As PdfContentByte = writer.DirectContent
Dim bf 作为 BaseFont = BaseFont.CreateFont(BaseFont.HELVETICA,BaseFont.CP1252,BaseFont.NOT_EMBEDDED)
'跨度> <跨度类= 代码注释> cb.SetColorFill(BaseColor.DARK_GRAY)跨度>
cb.SetFontAndSize(BF,<跨度类=代码数字> 8 )
cb.BeginText()
stext = 部分:类似•类型:特征•支持:60000•计数:127•& vbNewLine& 大小:544.02& vbNewLine& ID:807
cb.ShowTextAligned( 1 ,stext, 320 , 80 , 0 )
cb.EndText()
Dim page As PdfImportedPage = writer.GetImportedPage(读取器,<跨度类= 代码位> 1 跨度>)
cb.AddTemplate(页面,<跨度类= 代码位> 0 跨度> , 0 )
Document.Close()
Fs.Close()
writer.Close()
reader。关闭()
返回 0
结束 功能
解决方案
我不确定PDF编写者会考虑换行符。查看 http://itextpdf.com/examples/iia.php?id=246 [ ^ ]我认为您需要单独添加每个行部分。
My requirement is
1. Want to insert a multi-line text in existing pdf.
2. If iam having more than 1 pdf, how it is possible to insert text in more than 1 pdf.
I have given my code, Here iam getting as single line text in pdf output even after adding vbnewline in coding. Not as multi-line,How is it possbile ?
and also about multi-page insert text. Kindly provide me a solution from below code
Public Function pdfwrite()
Dim newFile As String = "D:\Temp\new.pdf"
Dim oldfile as string = "D:\Temp\old.pdf"
Dim reader As New PdfReader(oldfile)
Dim size As Rectangle = reader.GetPageSizeWithRotation(1)
Dim Document As New Document(size)
Dim Fs As FileStream = New FileStream(newFile, FileMode.Create, FileAccess.Write)
Dim writer As PdfWriter = PdfWriter.GetInstance(Document, Fs)
Document.Open()
Dim cb As PdfContentByte = writer.DirectContent
Dim bf As BaseFont = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED)
'cb.SetColorFill(BaseColor.DARK_GRAY)
cb.SetFontAndSize(bf, 8)
cb.BeginText()
stext = " Section:Similar • type :Feature • support:60000 • count:127 • " & vbNewLine & "Size:544.02" & vbNewLine & "ID:807"
cb.ShowTextAligned(1, stext, 320, 80, 0)
cb.EndText()
Dim page As PdfImportedPage = writer.GetImportedPage(reader, 1)
cb.AddTemplate(page, 0, 0)
Document.Close()
Fs.Close()
writer.Close()
reader.Close()
Return 0
End Function
解决方案
I am not sure that PDF writers take account of newline characters. Looking at http://itextpdf.com/examples/iia.php?id=246[^] I think you need to add each line part separately.
这篇关于使用Itext将文本插入现有Pdf的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文