如何将窗体数据转换为PDF

时间:2014-04-12 12:42:23

标签: c# windows pdf-generation

我正在从事薪资项目,我想做的是 当用户看到他们的工资单并单击下载时,完整的表单数据将转换为PDf文件并存储在预定位置。

plz建议符合我要求的代码..

2 个答案:

答案 0 :(得分:0)

之前我遇到过这个问题,而我找到解决问题的最好方法是用户Microsoft Word Interops。您可以在word文档中放置任何内容,然后将其另存为PDF,幸运的是,Microsoft Word允许您将文档导出为PDF。

最简单的方法是将数据保存为纯文本,但不要忘记对它们进行格式化,然后运行此方法将纯文本转换为PDF格式。

public PDFWriter(String Path, String FileName) {
        Microsoft.Office.Interop.Word.Application word = new Microsoft.Office.Interop.Word.Application();
        try
        {
            word.Visible = false;
            word.Documents.Open(Path);
            word.ActiveDocument.SaveAs2(FileName + ".pdf", Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatPDF);
            this.Path = FileName + ".pdf";

        }

        catch (Exception e)
        {
            word.Quit();
            throw new Exception(e.Message);
        }

        finally
        {
            word.Quit();
        }
    }

答案 1 :(得分:0)

下载pdfSharp.dll pdfSharp
并将其添加为参考。

将您的表单捕获为图像然后

private void ImageToPdf()
    {
        PdfSharp.Pdf.PdfDocument doc = new PdfSharp.Pdf.PdfDocument();
        PdfSharp.Pdf.PdfPage oPage = new PdfSharp.Pdf.PdfPage();
        String destinaton = "your destination";

        doc.Pages.Add(oPage);

        XGraphics xgr;
        XImage img;

        img = XImage.FromGdiPlusImage(form image);

        xgr = PdfSharp.Drawing.XGraphics.FromPdfPage(oPage);
        xgr.DrawImage(img, 0, 0);


        doc.Save(destinaton);
        doc.Close();

    }

瓦尔特