如何使用c#将RTF转换为PDF

问题描述 投票:0回答:1

我在使用 PDFSharp 版本 1.50 将 .RTF 文件格式转换为 .PDF 时遇到一些问题,我的输出结果是一个空白页,我非常感谢您的帮助和示例代码。

这是我的班级代码


    使用系统;
    使用 System.Collections.Generic;
    使用系统数据;
    使用系统诊断;
    使用系统.IO;
    使用 System.Linq;
    使用 System.Text.RegularExpressions;
    使用系统.Web;
    使用 System.Web.UI;
    使用 System.Web.UI.Adapters;
    使用 System.Web.UI.HtmlControls;
    使用 System.Web.UI.WebControls;
    使用 TheArtOfDev.HtmlRenderer.PdfSharp;
    使用 PdfSharp;
    使用 PdfSharp.Drawing;
    使用 PdfSharp.Pdf;
    使用 PdfSharp.Pdf.IO;
    使用 MigraDoc.DocumentObjectModel;
    使用 MigraDoc.Rendering;
    使用系统线程;
    使用 System.Threading.Tasks;

    受保护无效 ConvertRtf2Pdf()
    {
        //- 源 RTF 文件名和路径
        var MySourceRTFile = HttpContext.Current.Server.MapPath("~/templates/sample.rtf");
        //- 目标 PDF 文件名和路径
        var _sFileName = "SAMPLE_" + DateTime.Now.ToString("yyyyMMdd") +
             DateTime.Now.ToString("HH:mm:ss").Trim().Replace(":", "") + ".pdf";
        var MyTragetPDFile = HttpContext.Current.Server.MapPath("~/export/" + FileName);
        //- 读取源 RTF 文件
        字符串 docfi = System.IO.File.ReadAllText(MySourceRTFile);
        //- 开始创建 PDF 文档
        PdfDocument pdfDoc = new PdfDocument();
        PdfPage pdfPage = pdfDoc.AddPage();
        XGraphics 图形 = XGraphics.FromPdfPage(pdfPage);
        XFont font = new XFont("Time New Roman", 0, XFontStyle.Regular);
        graph.DrawString(docfi, 字体, XBrushes.Black, new XRect(0, 0, 0, 0),
                        XStringFormats.Default);
        //- 最后结果
        pdfDoc.Save(MyTragetPDFile);
        pdfDoc.Dispose();
    }

我错过了什么,PDF 输出完全空白

谢谢 铝

c# asp.net webforms
1个回答
0
投票

也许文字就在那里,但是是白色的或透明的或其他什么。或者两个文档的大小不同,说明文字确实不存在。

您可以在官方 GitHub 存储库上找到 PDFSharp 版本 1.50.4845-beta4 的更多信息和下载链接:https://github.com/empira/PDFsharp

© www.soinside.com 2019 - 2024. All rights reserved.