如何使用C#从Word / Excel文件生成Pdf文件?

时间:2011-03-22 08:44:30

标签: c# asp.net

我想从Word文档(.doc,.docx)或Excel文档(.xls,.xlsx)生成PDF文件。  我尝试使用ITextSharp但是我无法将word文档的图像/表格等渲染到pdf中。

3 个答案:

答案 0 :(得分:2)

这是example of opening the word file using interops in VS2010 C#

我在another website发现了这一点,希望它有所帮助。似乎是基于可用于办公室保存为PDF的插件。

  

'另存为PDF'插件   对于Office 2007,请查看此链接

     

http://news.com.com/Microsoft+delivers+Save+as+PDF+add-on/2100-1012_3-6114752.html

     

2007 Microsoft Office加载项:   Microsoft另存为PDF - 下载链接

     

http://www.microsoft.com/downloads/details.aspx?familyid=F1FC413C-6D89-4F15-991B-63B07BA5F2E5&displaylang=en

     

一旦你下载了这个Addin,我想   你应该能够转换为PDF   在.NET中使用Word对象。

     

否则,您有第三方   用.net编写的组件   对你而言,但评价   版本产生水印   转换文件,请查看以下内容   链接,如果您准备购买   它然后你可以在你的   vb.net/c#.net将doc转换为的代码   PDF

     

http://www.aspose.com/Wiki/default.aspx/Aspose.Pdf/WordToPDF.html

答案 1 :(得分:1)

使用Office Interop在Word / Excel中打开文档,并发布为PDF(如果您有2007)或使用CutePDF Writer或类似内容进行打印。

答案 2 :(得分:1)

您可以使用Spire.Xls和Spire.Doc来执行此操作。

以下是示例代码。

    //xls to pdf        
    Workbook workbook = new Workbook();
    workbook.LoadFromFile("sample.xlsx", ExcelVersion.Version2007);
    PdfConverter pdfConverter = new PdfConverter(workbook);

    PdfDocument pdfDocument = new PdfDocument();
    pdfDocument.PageSettings.Orientation = PdfPageOrientation.Landscape;
    pdfDocument.PageSettings.Width = 970;
    pdfDocument.PageSettings.Height = 850;

    PdfConverterSettings settings = new PdfConverterSettings();
    settings.TemplateDocument = pdfDocument;
    pdfDocument = pdfConverter.Convert(settings);
    pdfDocument.SaveToFile("test.pdf");

    //doc to pdf
    Document doc = new Document();
    doc.LoadFromFile("sample.docx", FileFormat.Docx);
    doc.SaveToFile("test.pdf", FileFormat.PDF);