aspose.words插入图片时如何选择在哪一页插入

蓬莱东路走九遭 2016-09-01 04:29:06
aspose.words插入图片的代码已经完成了,用的DocumentBuilder的InsertImage()函数

但不知道怎么定位到word文档第二页 第三页 进行插入

求指点!
...全文
714 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wujz_945 2020-04-17
  • 打赏
  • 举报
回复
https://blog.csdn.net/weixin_45475063/article/details/105580004 每页插入图片
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
引用 2 楼 LFH__ 的回复:
可能有插入换页符的代码,你可以找一找,我提供另一个方法 Document doc = new Document(@"C:\1.doc"); DocumentBuilder db = new DocumentBuilder(doc); //移动焦点到文档最后 db.MoveToDocumentEnd(); //获得原来的页数 int oldPageCount = doc.PageCount; //循环加换行,直到页数发生变化为止 while(oldPageCount < doc.PageCount) { db.Writeln(); } //这里就是一个新页了 ......
能否帮我理一下关键的代码 昨天刚看这个东西 我现在是有一个word文档文件 程序中已经加载了 但默认是插入到了第一个页 插入到最后一页也能实现 但定位到中间的那些页就不知道怎么写了
  • 打赏
  • 举报
回复
引用 2 楼 LFH__ 的回复:
可能有插入换页符的代码,你可以找一找,我提供另一个方法 Document doc = new Document(@"C:\1.doc"); DocumentBuilder db = new DocumentBuilder(doc); //移动焦点到文档最后 db.MoveToDocumentEnd(); //获得原来的页数 int oldPageCount = doc.PageCount; //循环加换行,直到页数发生变化为止 while(oldPageCount < doc.PageCount) { db.Writeln(); } //这里就是一个新页了 ......
这个组件对节点来说没有直接对页操作的说法是吧 只能通过取得文档文本内容查找换行符换页符这样的思路去做吗
LFH__ 2016-09-01
  • 打赏
  • 举报
回复
可能有插入换页符的代码,你可以找一找,我提供另一个方法 Document doc = new Document(@"C:\1.doc"); DocumentBuilder db = new DocumentBuilder(doc); //移动焦点到文档最后 db.MoveToDocumentEnd(); //获得原来的页数 int oldPageCount = doc.PageCount; //循环加换行,直到页数发生变化为止 while(oldPageCount < doc.PageCount) { db.Writeln(); } //这里就是一个新页了 ......
LFH__ 2016-09-01
  • 打赏
  • 举报
回复
将word文档分割成多个小的word文档 // 创建Word文档方法 private void AddFile() { Word.Document P_Document = G_wa.Documents.Add(//创建新文档 ref G_missing, ref G_missing, ref G_missing, ref G_missing); Word.Range P_Range = P_Document.Paragraphs[1].Range;//得到文档范围 P_Range.Paste();//将剪切板内容粘贴到文档中 object G_str_path = string.Format(//计算文件保存路径 @"{0}\{1}", G_FolderBrowserDailog.SelectedPath, DateTime.Now.ToString("yyyy年M月d日h时m分s秒fff毫秒") + ".doc"); P_Document.SaveAs(//保存Word文件 ref G_str_path, ref G_missing, ref G_missing, ref G_missing, ref G_missing, ref G_missing, ref G_missing, ref G_missing, ref G_missing, ref G_missing, ref G_missing, ref G_missing, ref G_missing, ref G_missing, ref G_missing, ref G_missing); ((Word._Document)P_Document).Close(ref G_missing, ref G_missing, ref G_missing); } //分割文档 private Word.Application G_wa;//定义Word应用程序字段 private object G_missing = //定义G_missing字段并添加引用 System.Reflection.Missing.Value; private OpenFileDialog G_OpenFileDialog;//定义打开文件对话框字段 private FolderBrowserDialog G_FolderBrowserDailog;//定义浏览文件夹对话框字段 private void btn_Get_Click(object sender, EventArgs e) { btn_split.Enabled = false;//停用分割按钮 ThreadPool.QueueUserWorkItem(//开始线程池 (pp) =>//使用lambda表达式 { G_wa = new Microsoft.Office.Interop.Word.Application();//创建应用程序对象 object P_OpenFileDialog = //创建object对象 G_OpenFileDialog.FileName; Word.Document P_Document = G_wa.Documents.Open(//打开Word文档 ref P_OpenFileDialog, ref G_missing, ref G_missing, ref G_missing , ref G_missing, ref G_missing, ref G_missing, ref G_missing , ref G_missing, ref G_missing, ref G_missing, ref G_missing , ref G_missing, ref G_missing, ref G_missing, ref G_missing); bool P_bl = false; this.Invoke(//调用窗体线程 (MethodInvoker)(() =>//使用lambda表达式 { P_bl = cbox_Select.SelectedIndex == 0; })); if (P_bl)//判断使用什么方式分割文档 { foreach (Word.Paragraph Paragraph in G_wa.ActiveDocument.Paragraphs) { Paragraph.Range.Select();//选择段落 Paragraph.Range.Copy();//将段落放入剪切板 AddFile();//将剪切板内的数据放入新建文件 } } else { Word.Range P_Range = G_wa.ActiveDocument.Content;//得到文档区域 int P_int_count = P_Range.Text.Length;//得到文档字符总长度 int P_int_i = P_int_count / 100;//计算循环建立文档次数 if (P_int_i > 0)//如果文档内文字大于100个 { for (int i = 0; i < P_int_i; i++)//开始循环创建文档 { object P_o1 = i == 0 ? 0 : i * 100 + 1;//复制文档范围的开始部份 object P_o2 = i * 100 + 101;//复制文档范围的结尾部份 Word.Range P_Range_temp = //得到文档的范围 G_wa.ActiveDocument.Range(ref P_o1, ref P_o2); P_Range.Select();//选中文档范围 P_Range_temp.Copy();//将选择文档范围放入剪切板 AddFile();//将剪切板内的数据放入新建文件 } object P_o11 = P_int_i * 100 + 1;//复制文档范围的开始部份 Word.Range P_Range_temp1 = //得到文档的范围 G_wa.ActiveDocument.Range(ref P_o11, ref G_missing); P_Range.Select();//选中文档范围 P_Range_temp1.Copy();//将选择文档范围放入剪切板 AddFile();//将剪切板内的数据放入新建文件 } else { Word.Range P_Range2 = //得到文档区域 G_wa.ActiveDocument.Content; P_Range.Select();//选中文档范围 P_Range2.Copy();//将选择文档范围放入剪切板 AddFile();//将剪切板内的数据放入新建文件 } } ((Word._Application)G_wa.Application).Quit(//退出应用程序 ref G_missing, ref G_missing, ref G_missing); this.Invoke(//调用窗体线程 (MethodInvoker)(() =>//使用lambda表达式 { Clipboard.Clear();//清空剪切板 MessageBox.Show(//提示已经创建Word "分割文档完成!", "提示!"); btn_split.Enabled = true;//启用分割按钮 })); }); }

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧