1.先打开你需要替换的word文档,在想要后续更换字段值的地方添加“书签”。

2.将模板文档存放在 程序的Debug文件下。

3.生成文件的按钮点击事件 代码:

   string templatePath = Application.StartupPath + "\\模板.docx"; //文档模板物理路径

                Document doc = new Document(templatePath);
try
{
Hashtable tables = new Hashtable();
tables.Add("A型", aJ);
tables.Add("A价", aF);
tables.Add("B型", bJ);
tables.Add("B价", bF);
tables.Add("F型", fJ);
tables.Add("F价", fF); //图片添加
//Aspose.Words.DocumentBuilder builder1 = new Aspose.Words.DocumentBuilder(doc);
//// Response.ContentType = pictureBox1.ImageLocation;//设定输出文件类型
//builder1.MoveToBookmark("图片审核者");
//builder1.InsertImage((byte[])GetPictureData(pictureBox1.ImageLocation), 60, 30); tables.Add("日期", dtpBaogao.Value.ToString("yyyy年MM月dd日"));
tables.Add("日期2", dtpJieshou.Value.ToString("yyyy.MM.dd"));
GetHTFile(doc, tables); string downname = txtName.Text + "----报告.pdf";
// doc.Save(downname, SaveFormat.Pdf); SaveFileDialog SaveData = new SaveFileDialog(); //以保存文件的方式打开
SaveData.RestoreDirectory = true; //显示上次存放的目录
SaveData.Title = "请选择路径"; //标题
//SaveData.InitialDirectory = @"C:\"; //默认路径是C:\,可更改
SaveData.Filter = "PDF文件(*.pdf)|*.pdf"; //只能保存为sql文件(可根据需求更改) string script = " "; SaveData.FileName = txtName.Text + "----报告";
if (SaveData.ShowDialog() == DialogResult.OK) //如果选定路径按下保存按钮
{
script = SaveData.FileName; //script赋值为选择保存的路径
doc.Save(script, SaveFormat.Pdf); //生成word文件,就将 SaveFormat.Pdf改成.word
MessageBox.Show("生成成功!"); this.Close();
}
}
catch (Exception ex)
{ } }
public byte[] GetPictureData(string imagepath)
{
/**/////根据图片文件的路径使用文件流打开,并保存为byte[]
FileStream fs = new FileStream(imagepath, FileMode.Open);//可以是其他重载方法
byte[] byData = new byte[fs.Length];
fs.Read(byData, , byData.Length);
fs.Close();
return byData;
}
public static void GetHTFile(Document doc, Hashtable table)
{
BookmarkCollection bookmarks = doc.Range.Bookmarks;
foreach (Bookmark mark in bookmarks)
{
if (table.ContainsKey(mark.Name))
{
mark.Text = table[mark.Name].ToString();
}
}
}

注:需要引用 Aspose.Words.dll

winform 替换word文档中的字段(包含图片添加),生成导出PDF文件(也可是word文件)的更多相关文章

  1. C# Word文档中插入、提取图片,文字替换图片

    Download Files:ImageOperationsInWord.zip 简介 在这篇文章中我们可以学到在C#程序中使用一个Word文档对图像的各种操作.图像会比阅读文字更有吸引力,而且图像是 ...

  2. 详解在Word文档中常见的各种公式编辑问题

    正常情况下,我们在安装完成MathType之后会直接加载在Word文档中,Word文档中的MathType比较复杂,新手操作遇到麻烦也是常有的事,今天就来给大家详解下Word文档中常见的MathTyp ...

  3. Java 在 Word 文档中使用新文本替换指定文本

    创作一份文案,经常会高频率地使用某些词汇,如地名.人名.人物职位等,若表述有误,就需要整体撤换.文本将介绍如何使用Spire.Doc for Java,在Java程序中对Word文档中的指定文本进行替 ...

  4. C# 在Word文档中生成条形码

    C# 在Word文档中生成条形码 简介 条形码是由多个不同的空白和黑条按照一定的顺序组成,用于表示各种信息如产品名称.制造商.类别.价格等.目前,条形码在我们的日常生活中有着很广泛的应用,不管是在图书 ...

  5. C# 提取Word文档中的图片

    C# 提取Word文档中的图片 图片和文字是word文档中两种最常见的对象,在微软word中,如果我们想要提取出一个文档内的图片,只需要右击图片选择另存为然后命名保存就可以了,今天这篇文章主要是实现使 ...

  6. 把word文档中的所有图片导出

    把word文档中的所有图片导出 end

  7. aspose.words复制插入同一word文档中的某个页面

    选择word模板 Document doc = new Document(Server.MapPath("~\\templet") + "\\" + name. ...

  8. Aspose.Words:如何添加另一个WORD文档中的Node对象

    原文:Aspose.Words:如何添加另一个WORD文档中的Node对象 首先看一段代码,这段代码意图从docSource中获取第一个表格,并插入docTarget的末尾: , true); doc ...

  9. C# 在word文档中复制表格并粘帖到下一页中

    C# 在word文档中复制表格并粘帖到下一页中 object oMissing = System.Reflection.Missing.Value;            Microsoft.Offi ...

随机推荐

  1. Javascript之hoisting变量提升

    javascript不仅仅是一门弱类型语言,还是一门解释型语言.一门编程语言的本质就是这样,优点即是缺点,缺点也往往是优点.JS因为有了变量提升,能够使我们在编程时可以忽略“先声明,再使用”的规则,但 ...

  2. redis删除多个键

    DEL命令的参数不支持通配符,但我们可以结合Linux的管道和xargs命令自己实现删除所有符合规则的键.比如要删除所有以“user:”开头的键,就可以执行redis-cli KEYS "u ...

  3. git commit之后,撤销 commit

    写完代码后,我们一般这样 git add . //添加所有文件 git commit -m "本功能全部完成" 执行完commit后,想撤回commit,怎么办? 可以执行如下命令 ...

  4. percona-mysql5.7.24使用xtrabackup工具配置主从同步

    主从配置详细过程: 环境准备: 配置好服务器,主从服务器都安装并启动mysql数据库 # 添加读写账号和只读账号,应用配置中,写主库用读写账号,统计从库数据yoga只读账号 grant select, ...

  5. shell编程系列4--有类型变量:字符串、只读类型、整数、数组

    shell编程系列4--有类型变量:字符串.只读类型.整数.数组 有类型变量总结: declare命令和typeset命令两者等价 declare.typeset命令都是用来定义变量类型的 decla ...

  6. RestSharp - Ignore SSL errors

    项目启动时,添加下面代码: 项目启动时,添加 public App() { ServicePointManager.ServerCertificateValidationCallback += (se ...

  7. Delphi 操作SQL 插入一万条数据 三种方式速度测试

    unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...

  8. Python - Django - request 对象

    request.method: 获取请求的方法,例如 GET.POST 等 views.py: from django.shortcuts import render, HttpResponse # ...

  9. LeetCode_234. Palindrome Linked List

    234. Palindrome Linked List Easy Given a singly linked list, determine if it is a palindrome. Exampl ...

  10. 组件文档系统-mdx-react-docz

    推荐指数: