架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 68352|回复: 3

[资料] Aspose.Words操作word生成PDF文档

[复制链接]
发表于 2016-4-11 10:18:57 | 显示全部楼层 |阅读模式
QQ截图20160411101736.jpg


  1. using Aspose.Words;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;

  6. namespace TempAspose.Words.Function
  7. {
  8.     public class WordToPdf
  9.     {
  10.         private string _TempPath;   //模版路径

  11.         private Aspose.Words.Document doc = null;

  12.         public WordToPdf(string TempPath)
  13.         {
  14.             this._TempPath = TempPath;
  15.             doc = new Aspose.Words.Document(TempPath);  //new一个对象
  16.         }

  17.         /// <summary>
  18.         /// 在书签处插入值
  19.         /// </summary>
  20.         /// <param name="key"></param>
  21.         /// <param name="value"></param>
  22.         /// <returns></returns>
  23.         public bool InsertValue(string key, string value)
  24.         {
  25.             Bookmark bookmark=doc.Range.Bookmarks[key];
  26.             //判断是否存在此标签
  27.             if (bookmark != null)
  28.             {
  29.                 bookmark.Text = value;
  30.                 return true;
  31.             }
  32.             else {
  33.                 return false;
  34.             }
  35.         }

  36.         /// <summary>
  37.         /// 在书签处插入图片
  38.         /// </summary>
  39.         /// <param name="key">书签</param>
  40.         /// <param name="img">图片</param>
  41.         /// <param name="width">宽</param>
  42.         /// <param name="height">高</param>
  43.         /// <returns></returns>
  44.         public bool InsertImage(string key, string img,double width,double height)
  45.         {
  46.             DocumentBuilder dBuilder = new DocumentBuilder(doc);
  47.             bool pic = dBuilder.MoveToBookmark(key);
  48.             //判断书签是否存在
  49.             if (pic)
  50.             {
  51.                 dBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Center;
  52.                 dBuilder.InsertImage(img, width, height);
  53.                 return true;
  54.             }
  55.             else {
  56.                 return false;
  57.             }           
  58.         }

  59.         #region 插入表格,未测试
  60.         public bool InsertDataSet()
  61.         {
  62.             try
  63.             {
  64.                 System.Data.DataSet dataSet = new System.Data.DataSet();
  65.                 doc.MailMerge.ExecuteWithRegions(dataSet);
  66.                 return true;
  67.             }
  68.             catch (Exception ex)
  69.             {
  70.                 return false;
  71.             }
  72.         }
  73.         public bool InsertTable(string key,System.Data.DataTable dt)
  74.         {
  75.             try
  76.             {
  77.                 DocumentBuilder dBuilder = new DocumentBuilder(doc);
  78.                 bool table = dBuilder.MoveToBookmark(key);
  79.                 dBuilder.StartTable();//开始画Table  
  80.                 dBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Center;
  81.                 //添加Word表格  
  82.                 dBuilder.InsertCell();
  83.                 dBuilder.CellFormat.Width = 600.0;
  84.                 dBuilder.CellFormat.PreferredWidth = Aspose.Words.Tables.PreferredWidth.FromPoints(115);
  85.                 dBuilder.CellFormat.Borders.LineStyle = LineStyle.None;

  86.                 dBuilder.StartTable();//开始画Table  
  87.                 dBuilder.RowFormat.Height = 20.2;
  88.                 dBuilder.InsertCell();
  89.                 dBuilder.CellFormat.Borders.LineStyle = LineStyle.Single;
  90.                 dBuilder.Font.Size = 10.5;
  91.                 dBuilder.Bold = false;
  92.                 dBuilder.Write("评卷人");

  93.                 dBuilder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐  
  94.                 dBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Center;
  95.                 dBuilder.CellFormat.Width = 50.0;
  96.                 dBuilder.CellFormat.PreferredWidth = Aspose.Words.Tables.PreferredWidth.FromPoints(50);
  97.                 dBuilder.RowFormat.Height = 20.0;
  98.                 dBuilder.InsertCell();
  99.                 dBuilder.CellFormat.Borders.LineStyle = LineStyle.Single;
  100.                 dBuilder.Font.Size = 10.5;
  101.                 dBuilder.Bold = false;
  102.                 dBuilder.Write("得分");
  103.                 dBuilder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐  
  104.                 dBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Center;
  105.                 dBuilder.CellFormat.Width = 50.0;
  106.                 dBuilder.CellFormat.PreferredWidth = Aspose.Words.Tables.PreferredWidth.FromPoints(50);
  107.                 dBuilder.EndRow();
  108.                 dBuilder.RowFormat.Height = 25.0;
  109.                 dBuilder.InsertCell();
  110.                 dBuilder.RowFormat.Height = 25.0;
  111.                 dBuilder.InsertCell();
  112.                 dBuilder.EndRow();
  113.                 dBuilder.EndTable();

  114.                 dBuilder.InsertCell();
  115.                 dBuilder.CellFormat.Width = 300.0;
  116.                 dBuilder.CellFormat.PreferredWidth = Aspose.Words.Tables.PreferredWidth.Auto;
  117.                 dBuilder.CellFormat.Borders.LineStyle = LineStyle.None;


  118.                 //dBuilder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐  
  119.                 //dBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Left;
  120.                 //dBuilder.Font.Size = 11;
  121.                 //dBuilder.Bold = true;
  122.                 //dBuilder.Write(handText);
  123.                 //dBuilder.EndRow();
  124.                 //dBuilder.RowFormat.Height = 28;
  125.                 dBuilder.EndTable();  
  126.                 return true;
  127.             }
  128.             catch (Exception ex)
  129.             {
  130.                 return false;
  131.             }   
  132.         }
  133.         #endregion

  134.         /// <summary>
  135.         /// 保存文件
  136.         /// </summary>
  137.         /// <param name="path">文件路径</param>
  138.         /// <param name="foemat">文件格式,枚举</param>
  139.         /// <returns></returns>
  140.         public bool SaveFile(string path, SaveFormat foemat)
  141.         {
  142.             try
  143.             {
  144.                 doc.Save(path, foemat);
  145.                 return true;
  146.             }
  147.             catch (Exception ex)
  148.             {
  149.                 return false;
  150.             }
  151.         }
  152.     }
  153. }
复制代码

dll下载:
aspose.words 15.11破解版.part1.rar (1.5 MB, 下载次数: 40)
aspose.words 15.11破解版.part2.rar (1.5 MB, 下载次数: 15)
aspose.words 15.11破解版.part3.rar (1.18 MB, 下载次数: 9)




上一篇:aspose.words 操作word生成试卷
下一篇:itextsharp填充PDF表单域
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2020-5-3 09:06:20 | 显示全部楼层
这个版本是否支持docs文件呢
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2021-8-9 09:46:33 | 显示全部楼层
多谢版主 帮了大忙,6.5版本的都说有BUG 我这边也遇到了  偶尔会有程序在运行的过程中报出“the document appears to be corrupted and cannot be loaded” 的所以 ,度娘指引说换个版本就好了,可是搜了一小时,找到几乎都是6.5版本的  结果在你这找到了,多谢
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
发表于 2021-11-1 08:35:17 | 显示全部楼层
学习下,不知道有没有实例
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2026-4-12 19:58

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表