2013-10-09 85 views
3

我使用iTextSharp的更新PDF文件的属性:“该文件有没有网页”iTextSharp“文档没有页面。”

FileStream fs = File.Open(@"C:\Developer\C#Projects\BylawSearch\0001.pdf", FileMode.Open); 
Document document = new Document(); 
PdfWriter writer = PdfWriter.GetInstance(document, fs); 
document.Open(); 
document.AddSubject("Blah"); 
document.AddTitle("Blah blah"); 
document.AddKeywords("Blah blah blah"); 
document.Close(); 

我得到一个来自iTextSharp的错误。任何帮助赞赏。

+0

您是否尝试添加一些页面?至少是空的,只是为了测试。 –

+1

尝试添加段落到document:'document.Add(new Paragraph(“Hello World”));' – Alezis

+0

请参阅此(http://stackoverflow.com/a/322565/231316)和this(http:// itextpdf .com/examples/iia.php?id = 216)来修改现有文档。 –

回答

5

您还没有在网页上添加任何信息... !!

document.Add(new Paragraph("Hello World!")); 

...例如。

您的标题等是文档属性的一部分(而不是“打印”到PDF中的东西)。

看看这introductory example,这似乎涵盖了你之后。

+1

谢谢。这确实编辑了文档的属性。唯一的问题是它也会用“Hello World!”覆盖现有的文档。完全删除文档的内容。这不太好。我怎样才能使用iTextSharp来更新文档的属性? – witchlightning

+0

没问题。检查我添加的新链接 - 它显示首先执行文档属性,然后打开它以写入。 – noelicus

+0

谢谢。我遇到的问题是document.Add(new Paragraph(“Hello World!”));覆盖现有pdf中的内容。我只需要编辑元数据。我在想,PdfStamper是要走的路... – witchlightning