当前位置:编程学习 > C#/ASP.NET >>

Aspose.words和Aspose.pdf问题

项目中需要生成word和pdf,现已经有了word文档,用aspose.words生成的,但是在用aspose.pdf转pdf的时候,老是不能够成功,而且中文也是乱码,有哪位使用过,确实用aspose.pdf生成过pdf,望不吝赐教!!! --------------------编程问答--------------------
using System;
using System.Collections.Generic;
using System.Drawing.Imaging;
using System.IO;
using System.Text;
using iTextSharp.text;
using iTextSharp.text.pdf;

namespace Pbreak.PDf

{

    class MyPdf
    {

        #region Fields

        /// <summary>
        /// pdf文档
        /// </summary>
        private Document _pdfDocument;

        /// <summary>
        /// 基本字体
        /// </summary>
        private BaseFont _bfSun =
            BaseFont.CreateFont(@"c:\Windows\fonts\SIMSUN.TTC,1", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);

        #endregion

        #region Constructors

        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="fileName"></param>
        public MyPdf(string fileName,ListView lvi)
        {
            Font font = new Font(_bfSun,21,1);
            _pdfDocument = new Document(PageSize.A4,10,10,25,25);
            PdfWriter writer = PdfWriter.GetInstance(_pdfDocument,new FileStream(fileName,FileMode.Create));

            //添加页脚
            HeaderFooter footer = new HeaderFooter(new Phrase(Program._resourceManager.GetString("page")), true);
            footer.Alignment = 1;
            footer.Border = Rectangle.ALIGN_CENTER;
            _pdfDocument.Footer = footer;

            _pdfDocument.Open();

            //添加标题
            Paragraph Header = new Paragraph(new Paragraph(Program._resourceManager.GetString("weldTable"), font));
            Header.Alignment = 1;
            _pdfDocument.Add(Header);

            //添加数据表格
            _pdfDocument.NewPage();
            _pdfDocument.Add(AddTable(lvi));

            //添加图片
            _pdfDocument.NewPage();
            if(PrintHeads.ImageAddress != null && PrintHeads.ImageAddress.Length != 0)
            {
                foreach(string str in PrintHeads.ImageAddress)
                {
                    iTextSharp.text.Image image =
                        iTextSharp.text.Image.GetInstance(str);
                    image.Alignment = iTextSharp.text.Image.MIDDLE_ALIGN;
                    _pdfDocument.Add(image);
                }
            }

            _pdfDocument.Close();
        }

        #endregion

        #region Methods

        /// <summary>
        /// 添加数据表格
         /// </summary>
        /// <returns></returns>
        private Table AddTable(ListView lvi)
        {
            Font font = new Font(_bfSun,12,1);
            Table myTable = new Table(4);
            myTable.BorderWidth = 0;
            myTable.BorderColor = new Color(0, 0, 255);
            myTable.Cellpadding = 1;
            myTable.TableFitsPage = true;

            for(int columNum = 0; columNum != lvi.Columns.Count; columNum++)
            {
                Cell myCell = new Cell(new Phrase(lvi.Columns[columNum].Text, font));
                myCell.BackgroundColor = iTextSharp.text.Color.LIGHT_GRAY;
                myTable.AddCell(myCell);
                myTable.EndHeaders();
            }

            for(int rowNum = 0; rowNum != lvi.Items.Count; rowNum++)
            {
                for(int columNum = 0; columNum != lvi.Columns.Count; columNum++)
                {
                    myTable.AddCell(new Phrase(lvi.Items[rowNum].SubItems[columNum].Text,font));
                }
            }
            return myTable;
        }

        #endregion
}

}

iTextSharp
参考 --------------------编程问答-------------------- 菜鸟 路过....... --------------------编程问答-------------------- 字体不对吧,itextshap不支持中文 --------------------编程问答-------------------- 改用這個試試

http://www.sautinsoft.com/products/doc-html-xls-ppt-rtf/index.php --------------------编程问答-------------------- 学习了,我也想知道。
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,