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(115);
                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(50);
                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(50);
                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;
            }
        }
    }
}
时间: 2024-11-06 10:00:47

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

Java iText使用PDF模板生成PDF文档

我们系统需要生成一个可以打印的PDF文档,老板给了我一个Word文档,按照这个Word文档的格式生成PDF文档. 第一步:下载AdobeAcrobat DC,必须使用这个来制作from域. 第二步:使用AdobeAcrobat DC将Word导成PDF文档. 第三步:由于还要加水印的效果,所以还是使用AdobeAcrobat DC来添加水印,非常方便: 添加水印的方法:使用AdobeAcrobat DC打开PDF文档,"工具"->"编辑PDF"->&qu

使用PHP生成PDF文档

原文:使用PHP生成PDF文档 实际工作中,我们要使用PHP动态的创建PDF文档,目前有许多开源的PHP创建PDF的类库,今天我给大家来介绍一款优秀的PDF库,它就是TCPDF,TCPDF是一个用于快速生成PDF文件的PHP5函数包.TCPDF基于FPDF进行扩展和改进,增强了实用功能. 使用PHP生成PDF文档 实际工作中,我们要使用PHP动态的创建PDF文档,目前有许多开源的PHP创建PDF的类库,今天我给大家来介绍一款优秀的PDF库,它就是TCPDF,TCPDF是一个用于快速生成PDF文件

利用Java动态生成 PDF 文档

利用Java动态生成 PDF 文档,则需要开源的API.首先我们先想象需求,在企业应用中,客户会提出一些复杂的需求,比如会针对具体的业务,构建比较典型的具备文档性质的内容,一般会导出PDF进行存档.那么目前最佳的解决方案,你可能会想到 iText ,对没错... iText+(Velocity / Freemarker)可以实现.不过据我熟悉,iText本身提供的HTML解析器还是不够强大,许多HTML标签和属性无法识别,更悲催的是简单的CSS它不认识,排版调整样式会让你头大的.不要失望,接下来

利用PDFLib生成PDF文档

本文代码生成的PDF文档效果图 一.PDF介绍 PDF是Portable Document Format的缩写,PDF文件格式是国际通用的电子文档交换事实标准,被许多国家采用作为电子文档交换.PDF文件可以在各种平台下阅读.编辑.发布.该文件格式支持字体.图像.甚至任何附件的嵌入.您可以通过免费的Adobe Acrobat Reader来阅读.编辑PDF文档. 二.PDFLib介绍 PDFLib是用于创建PDF文档的开发库,提供了简单易用的API,隐藏了创建PDF的复杂细节且不需要第3方软件的支

使用PDFLib生成PDF文档教程

一.PDF介绍PDF是Portable Document Format的缩写,PDF文件格式是国际通用的电子文档交换事实标准,被许多国家采用作为电子文档交换.PDF文件可以在各种平台下阅读.编辑.发布.该文件格式支持字体.图像.甚至任何附件的嵌入.您可以通过免费的Adobe Acrobat Reader来阅读.编辑PDF文档. 二.PDFLib介绍PDFLib是用于创建PDF文档的开发库,提供了简单易用的API,隐藏了创建PDF的复杂细节且不需要第3方软件的支持.PDFLib库对于个人是免费的,

C#生成PDF文档,读取TXT文件内容

using System.IO;using iTextSharp.text;using iTextSharp.text.pdf; //需要在项目里引用ICSharpCode.SharpZipLib.dll和itextsharp.dllpublic string TxtFilePath;public string SavePdfPath;//保存PDF的路径 #region 读取TXT内容        private string ReadXieyi(string FilePath)      

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

置顶2017年11月06日 14:41:04 阅读数:2311 这几天,任务中有一个难点是把一个打印页面自动给生成PDF文档,并且上传至服务器,然而公司框架只有手动上传文档,打印时可以保存为PDF在本地吧,所以感到很头疼,刚开始没有方向,所以只有surf the Internet了,网上看了很多资料,渐渐的从一点方向也不懂,到慢慢开始了解怎么着手去做,废话就不说了, 我看网上大概介绍了三种方式:Jasper Report . iText . flying sauser jasper report

Python Reportlab 生成PDF文档

1. 生成一个PDF文档 Code 1 from reportlab.platypus import Paragraph, SimpleDocTemplate 2 from reportlab.lib.styles import getSampleStyleSheet 3 from reportlab.lib.pagesizes import A4,inch 4 5 file_name = "PDF_test.pdf" 6 # pagesize为文档页面尺寸 7 # topMargin

Java生成PDF文档(表格、列表、添加图片等)

需要的两个包及下载地址: (1)iText.jar:http://download.csdn.net/source/296416 (2)iTextAsian.jar(用来进行中文的转换):http://download.csdn.net/source/172399 代码如下: 1 import java.awt.Color; 2 import java.io.FileOutputStream; 3 import com.lowagie.text.Cell; 4 import com.lowagi