Word插入标签支持文本、图片、表格填充数据生成PDF

using GeneratePDFDemo.Model;
using Oyw.PDF;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;

namespace GeneratePDFDemo
{
    class Program
    {
        static void Main(string[] args)
        {

            PDFDocument<NewInfo> _PDFDocument = new PDFDocument<NewInfo>();

            string dir = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Template");
            string wordPath = Path.Combine(dir, "月新闻稿.docx");



            string path = _PDFDocument.Create(new NewInfo
            {
                ActiveDate = DateTime.Now,
                ActiveImg = Path.Combine(dir, "TempImg.jpg"),
                ActiveName = "噢耶网",
                ImportantInfo = "http://ohyewang.com",
                NewsContent = "编程使我快乐!",
                NewsName = "Let Me Go!",
                NewsImg = Path.Combine(dir, "TempImg2.jpg"),
                Members = new List<Member>
                {
                    new Member
                    {
                         Name="李春天",
                         Sex="女",
                         Tel="18986532478"
                    },
                    new Member
                    {
                         Name="肖爱国",
                         Sex="男",
                         Tel="12115687954"
                    }
                }.ToTable()
            }, wordPath, dir);

            System.Diagnostics.Process.Start(path);
        }
    }
}
using Oyw.PDF;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;

namespace GeneratePDFDemo.Model
{
    public class NewInfo:PDFModel
    {
        [Label(Name = "ActiveImg", FieldType = FieldType.Image)]

        public string ActiveImg { get; set; }

        [Label(Name = "ActiveDate", FieldType = FieldType.Date, Formatter = "yyyy-MM-dd")]
        public DateTime ActiveDate { get; set; }

        [Label(Name = "ActiveName", FieldType = FieldType.String)]
        public string ActiveName { get; set; }

        [Label(Name = "ImportantInfo", FieldType = FieldType.String)]
        public string ImportantInfo { get; set; }

        [Label(Name = "NewsImg", FieldType = FieldType.Image)]
        public string NewsImg { get; set; }

        [Label(Name = "NewsName", FieldType = FieldType.String)]
        public string NewsName { get; set; }

        [Label(Name = "NewsContent", FieldType = FieldType.String)]
        public string NewsContent { get; set; }

        [Label(Name = "Members", FieldType = FieldType.Table)]
        public DataTable Members { get; set; }
    }
}
using Oyw.PDF;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace GeneratePDFDemo.Model
{
    public class Member: PDFModel
    {
        [ColumnAttribute(Name = "姓名")]
        public string Name { get; set; }

        [ColumnAttribute(Name = "性别")]
        public string Sex { get; set; }

        [ColumnAttribute(Name = "电话")]
        public string Tel { get; set; }

    }
}

Word模板:



生成结果:


资源下载地址:点击打开链接

猜你喜欢

转载自blog.csdn.net/xiaoxionglove/article/details/79833229