如何创建包含文本的PDF
本文关键字:包含 文本 PDF 创建 何创建 | 更新日期: 2023-09-27 18:02:48
我想创建一个PDF文档,其中包含字符串形式的一些文本。这是我目前所看到的:
iTextSharp.text.Document d = new iTextSharp.text.Document();
string dosya = (@"C:'Deneme.pdf");
PdfWriter.GetInstance(d, new System.IO.FileStream(dosya, System.IO.FileMode.Create));
d.AddSubject(text);
你的问题是不清楚的,因为你没有提到如果你想从头开始创建一个PDF(这可能是你想做的基于你的代码样本),或者如果你想添加文本到现有的PDF(这是你的问题的主题建议)。
在这两种情况下,您都应该查看官方文档。
如果你想从头创建一个PDF,看看Hello World的例子:
public void CreatePdf(Stream stream) {
// step 1
using (Document document = new Document()) {
// step 2
PdfWriter.GetInstance(document, stream);
// step 3
document.Open();
// step 4
document.Add(new Paragraph("Hello World!"));
}
}
stream
的值可以是任意输出流(写入内存的,写入文件的,…)
如果您想将string
添加到现有的PDF中,请查看PdfStamper
示例。
public static byte[] Stamp(byte[] resource) {
PdfReader reader = new PdfReader(resource);
using (var ms = new MemoryStream()) {
using (PdfStamper stamper = new PdfStamper(reader, ms)) {
PdfContentByte canvas = stamper.GetOverContent(1);
ColumnText.ShowTextAligned(
canvas,
Element.ALIGN_LEFT,
new Phrase("Hello people!"),
36, 540, 0
);
}
return ms.ToArray();
}
}
这些例子摘自我曾经写过的一本书。您可以通过以下链接找到示例:http://developers.itextpdf.com/examples/itext-action-second-edition
这个答案假设您正在使用iText 5(基于您的代码片段的假设)。最新的版本是itext7。这需要完全不同的代码