Aspose.Words操作word生成PDF文档

using Aspose.Words;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace TempAspose.Words.Function
{
public class WordToPdf
{
private string _TempPath; //模版路径 private Aspose.Words.Document doc = null; public WordToPdf(string TempPath)
{
this._TempPath = TempPath;
doc = new Aspose.Words.Document(TempPath); //new一个对象
} /// <summary>
/// 在书签处插入值
/// </summary>
/// <param name="key"></param>
/// <param name="value"></param>
/// <returns></returns>
public bool InsertValue(string key, string value)
{
Bookmark bookmark=doc.Range.Bookmarks[key];
//判断是否存在此标签
if (bookmark != null)
{
bookmark.Text = value;
return true;
}
else {
return false;
}
} /// <summary>
/// 在书签处插入图片
/// </summary>
/// <param name="key">书签</param>
/// <param name="img">图片</param>
/// <param name="width">宽</param>
/// <param name="height">高</param>
/// <returns></returns>
public bool InsertImage(string key, string img,double width,double height)
{
DocumentBuilder dBuilder = new DocumentBuilder(doc);
bool pic = dBuilder.MoveToBookmark(key);
//判断书签是否存在
if (pic)
{
dBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Center;
dBuilder.InsertImage(img, width, height);
return true;
}
else {
return false;
}
} #region 插入表格,未测试
public bool InsertDataSet()
{
try
{
System.Data.DataSet dataSet = new System.Data.DataSet();
doc.MailMerge.ExecuteWithRegions(dataSet);
return true;
}
catch (Exception ex)
{
return false;
}
}
public bool InsertTable(string key,System.Data.DataTable dt)
{
try
{
DocumentBuilder dBuilder = new DocumentBuilder(doc);
bool table = dBuilder.MoveToBookmark(key);
dBuilder.StartTable();//开始画Table
dBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Center;
//添加Word表格
dBuilder.InsertCell();
dBuilder.CellFormat.Width = 600.0;
dBuilder.CellFormat.PreferredWidth = Aspose.Words.Tables.PreferredWidth.FromPoints();
dBuilder.CellFormat.Borders.LineStyle = LineStyle.None; dBuilder.StartTable();//开始画Table
dBuilder.RowFormat.Height = 20.2;
dBuilder.InsertCell();
dBuilder.CellFormat.Borders.LineStyle = LineStyle.Single;
dBuilder.Font.Size = 10.5;
dBuilder.Bold = false;
dBuilder.Write("评卷人"); dBuilder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐
dBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Center;
dBuilder.CellFormat.Width = 50.0;
dBuilder.CellFormat.PreferredWidth = Aspose.Words.Tables.PreferredWidth.FromPoints();
dBuilder.RowFormat.Height = 20.0;
dBuilder.InsertCell();
dBuilder.CellFormat.Borders.LineStyle = LineStyle.Single;
dBuilder.Font.Size = 10.5;
dBuilder.Bold = false;
dBuilder.Write("得分");
dBuilder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐
dBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Center;
dBuilder.CellFormat.Width = 50.0;
dBuilder.CellFormat.PreferredWidth = Aspose.Words.Tables.PreferredWidth.FromPoints();
dBuilder.EndRow();
dBuilder.RowFormat.Height = 25.0;
dBuilder.InsertCell();
dBuilder.RowFormat.Height = 25.0;
dBuilder.InsertCell();
dBuilder.EndRow();
dBuilder.EndTable(); dBuilder.InsertCell();
dBuilder.CellFormat.Width = 300.0;
dBuilder.CellFormat.PreferredWidth = Aspose.Words.Tables.PreferredWidth.Auto;
dBuilder.CellFormat.Borders.LineStyle = LineStyle.None; //dBuilder.CellFormat.VerticalAlignment = Aspose.Words.Tables.CellVerticalAlignment.Center;//垂直居中对齐
//dBuilder.ParagraphFormat.Alignment = ParagraphAlignment.Left;
//dBuilder.Font.Size = 11;
//dBuilder.Bold = true;
//dBuilder.Write(handText);
//dBuilder.EndRow();
//dBuilder.RowFormat.Height = 28;
dBuilder.EndTable();
return true;
}
catch (Exception ex)
{
return false;
}
}
#endregion /// <summary>
/// 保存文件
/// </summary>
/// <param name="path">文件路径</param>
/// <param name="foemat">文件格式,枚举</param>
/// <returns></returns>
public bool SaveFile(string path, SaveFormat foemat)
{
try
{
doc.Save(path, foemat);
return true;
}
catch (Exception ex)
{
return false;
}
}
}
}

Aspose.Words操作word生成PDF文档

Aspose.Words操作word生成PDF文档的更多相关文章

  1. Qt 生成word、pdf文档

    需求:将软件处理的结果保存为一个报告文档,文档中包含表格.图片.文字,格式为word的.doc和.pdf.生成word是为了便于用户编辑. 开发环境:qt4.8.4+vs2010 在qt的官网上对于p ...

  2. 如何从Windows Phone 生成PDF文档

    我需要从我的Windows Phone应用程序生成PDF. 遗憾的是没有标准的免费的PDF生成库在Windows Phone上运行. 我不得不自己生成PDF,通过直接写入到文件格式. 这竟然是真的很容 ...

  3. 手把手教你使用 Java 在线生成 pdf 文档

    一.介绍 在实际的业务开发的时候,研发人员往往会碰到很多这样的一些场景,需要提供相关的电子凭证信息给用户,例如网银/支付宝/微信购物支付的电子发票.订单的库存打印单.各种电子签署合同等等,以方便用户查 ...

  4. 利用Java动态生成 PDF 文档

    利用Java动态生成 PDF 文档,则需要开源的API.首先我们先想象需求,在企业应用中,客户会提出一些复杂的需求,比如会针对具体的业务,构建比较典型的具备文档性质的内容,一般会导出PDF进行存档.那 ...

  5. 使用PHP生成PDF文档

    原文:使用PHP生成PDF文档 实际工作中,我们要使用PHP动态的创建PDF文档,目前有许多开源的PHP创建PDF的类库,今天我给大家来介绍一款优秀的PDF库,它就是TCPDF,TCPDF是一个用于快 ...

  6. DocFX生成PDF文档

    使用DocFX生成PDF文档,将在线文档转换为PDF离线文档. 关于DocFX的简单介绍使用DocFX生成文档 使用docfx 命令 1.下载 https://github.com/dotnet/do ...

  7. qt 利用 HTML 生成PDF文档,不能显示jpg图片

    利用 QPrinter 和html 生成 pdf文档 其中用html语句有显示图片的语句 但只能显示png格式的图片,不能显示jpg格式图片. 经过排查:语法,文件路径等都正确,最终在stack ov ...

  8. ireport图形化界面生成pdf文档

    一.ireport软件安装 1.下载软件的官网 https://community.jaspersoft.com/project/ireport-designer/releases 2.安装软件   ...

  9. 自动把动态的jsp页面(或静态html)生成PDF文档,并且上传至服务器

    置顶2017年11月06日 14:41:04 阅读数:2311 这几天,任务中有一个难点是把一个打印页面自动给生成PDF文档,并且上传至服务器,然而公司框架只有手动上传文档,打印时可以保存为PDF在本 ...

随机推荐

  1. 微信JS SDK使用权限签名算法

    jsapi_ticket 生成签名之前必须先了解一下jsapi_ticket,jsapi_ticket是公众号用于调用微信JS接口的临时票据.正常情况下,jsapi_ticket的有效期为7200秒, ...

  2. MySQL管理之道:性能调优、高可用与监控内置脚本

    MySQL管理之道:性能调优.高可用与监控内置脚本 随书附送脚本 keepalive配置文件和脚本开源工具pssh批量管理服务器(python) 下载地址 http://files.cnblogs.c ...

  3. Java native关键字

    在String类中 public native String intern(); native关键字是干嘛的? Java不是完美的,Java的不足除了体现在运行速度上要比传统的C++慢许多之外,Jav ...

  4. arping 通知网关刷新IP

     arping -c 2 -I em1 -s 192.168.110.12  192.168.110.1  

  5. Java基础之读文件——使用通道随机读写文件(RandomReadWrite)

    控制台程序,使用通道随机读写primes_backup.bin文件. import static java.nio.file.StandardOpenOption.*; import java.nio ...

  6. php:PHPExcel导出excel表格

    一.动态生成的内容如何能当成文件来下载呢? 方法:1.将Content-Type设置成application/octet-stream就可以了,即[header('Content-Type: appl ...

  7. Synchronized及其实现原理

    并发编程中synchronized一直是元老级角色,我们称之为重量级锁.主要用在三个地方: 1.修饰普通方法,锁是当前实例对象. 2.修饰类方法,锁是当前类的Class对象. 3.修饰代码块,锁是sy ...

  8. PostgreSQL Replication之第十五章 与Walbouncer 一起工作

    与Walbouncer 一起工作 在本书的最后一章,将引导您通向2014年发布的一个工具,称为walbouncer.本书中的大多数技巧说明了如何复制整个数据库实例,如何分片,等等.在最后一章,是关于w ...

  9. codeforces 520 Two Buttons

    http://codeforces.com/problemset/problem/520/B B. Two Buttons time limit per test 2 seconds memory l ...

  10. 输入和输出的总结(c语言)

    c语言中有多种的输入和输出方式,下面就简单总结一下: 一.输入的三种方式 (1)scanf scanf 函数可以在变量中使用,也可以在数组中使用,当然指针上也能用到,是一个很好的输入函数.scanf是 ...