c# 生成pdf

工作中,会遇到一些需求生成pdf文件。使用之前的spire.pdf 也可以生成,但是需要构建pdf样式,不过这个不是自己的强项,对样式的设计自己还不如个小学生。因此找到了另一种方式

来生成pdf。就是用word生成pdf。这个只需要在word中设计下格式就可以导出pdf。

word生成pdf 需要用到Aspose.Words.dll 。nuget上可以找到此组件

有了dll ,接下来就是数据的填充了 。有两种方式填充数据 一种用替换的方式  ,一种是在word中标记标签

第一种替换值

//word路径
Document srcDoc = new Document(wordPath);
//替换值
srcDoc.Range.Replace(oldvalue, newvalue, false, false);
//保存  ms是 MemoryStream  这里可以直接保存路径
doc.Save(ms, Aspose.Words.SaveFormat.Pdf);

第二种word标签

 

 

//加载模板
Document doc = new Document(wordPath);
//获取标签
 var bookmark = doc.Range.Bookmarks;
 foreach (var item in bookmark)
            {
                if (item != null)
                {

                    switch (((Aspose.Words.Bookmark)(item)).Name)
                    {
                        case "Test":
                            ((Aspose.Words.Bookmark)(item)).Text = seatCount.ToString();
                            break;

                    }
                }
            }
 doc.Save(ms, Aspose.Words.SaveFormat.Pdf);

两种方式都是可以转成pdf ,缺点就是无法修改pdf。要是需要修改pdf 可以使用spire.dll 来处理。

posted @ 2018-04-30 10:37  LvTwocold  阅读(509)  评论(0)    收藏  举报