首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

将html导出为pdf横向模式

ASP.NET Core 应用程序中,将 HTML 导出为 PDF 并设置为横向模式,可以使用一些第三方库,如 DinkToPdf 或 PuppeteerSharp。以下是使用 DinkToPdf 库的示例,展示了如何将 HTML 导出为横向模式的 PDF。

1. 安装 DinkToPdf

首先,安装 DinkToPdf 库。你可以使用 NuGet 包管理器来安装:

代码语言:javascript
复制
dotnet add package DinkToPdf
dotnet add package DinkToPdf.Document

2. 配置 DinkToPdf

Startup.cs 文件中配置 DinkToPdf:

代码语言:javascript
复制
public void ConfigureServices(IServiceCollection services)
{
    services.AddControllersWithViews();

    // 注册 DinkToPdf 服务
    services.AddSingleton(typeof(DinkToPdf.Contracts.IConverter), new SynchronizedConverter(new PdfTools()));
}

3. 创建 PDF 导出服务

创建一个服务来处理 HTML 到 PDF 的转换:

代码语言:javascript
复制
using DinkToPdf;
using DinkToPdf.Contracts;
using System.IO;

public class PdfService
{
    private readonly IConverter _converter;

    public PdfService(IConverter converter)
    {
        _converter = converter;
    }

    public byte[] ConvertHtmlToPdf(string htmlContent)
    {
        var doc = new HtmlToPdfDocument()
        {
            GlobalSettings = {
                Orientation = Orientation.Landscape, // 设置为横向模式
                PaperSize = PaperKind.A4, // 设置纸张大小
            },
            Objects = {
                new ObjectSettings() {
                    HtmlContent = htmlContent,
                    WebSettings = { DefaultEncoding = "utf-8" }
                }
            }
        };

        return _converter.Convert(doc);
    }
}

4. 使用 PDF 服务

在控制器中使用这个服务来生成 PDF:

代码语言:javascript
复制
using Microsoft.AspNetCore.Mvc;

public class HomeController : Controller
{
    private readonly PdfService _pdfService;

    public HomeController(PdfService pdfService)
    {
        _pdfService = pdfService;
    }

    public IActionResult ExportToPdf()
    {
        string htmlContent = "<html><body><h1>Hello, PDF!</h1></body></html>";
        byte[] pdfBytes = _pdfService.ConvertHtmlToPdf(htmlContent);

        return File(pdfBytes, "application/pdf", "example.pdf");
    }
}

5. 注册 PDF 服务

确保在 Startup.cs 中注册 PdfService

代码语言:javascript
复制
public void ConfigureServices(IServiceCollection services)
{
    services.AddControllersWithViews();

    // 注册 DinkToPdf 服务
    services.AddSingleton(typeof(DinkToPdf.Contracts.IConverter), new SynchronizedConverter(new PdfTools()));

    // 注册 PdfService
    services.AddTransient<PdfService>();
}

6. 测试

启动你的应用程序,并访问 /Home/ExportToPdf。你应该会看到一个生成的 PDF 文件,并且它是横向模式的。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • IE下用JavaScriptHTML导出Word、Pdf

    最近升级公司内部系统发文章的功能,涉及到文章内容导出html、word、pdf,系统多用于IE环境下,并且公司电脑都预装了office,所以导出暂时采用客户端的方式。        ...-- toolbar --> 导出HTML 导出WORD 导出PDF        可以复制下来在浏览器内看下效果,我们的目标是content内的内容分别导出html、word、pdf文件中,content内的内容可能非常复杂,样式非常多,还有可能标签不标准,不对称...设置完之后,直接在浏览器运行还可能出现没有权限的问题,那就需要将html部署在服务器上,让后当前服务器的访问地址设置可信站点。        ...,这里我只用到了前两个,第一个参数是保存文件名称,第二个参数是保存文件格式,office 2007或2010支持当前word另存为PDF格式,第二个参数是VB或C#环境下枚举类WdSaveFormat

    1.9K00

    html页面导出pdf(jsPDF、iText、wkhtmltopdf)

    快捷键⌘+p;Windows快捷键ctrl+p),就可以把页面另存为pdf文件,但对于要经常把页面导出pdf的用户来说并不友好,一个合格程序员的标准就是:做出来的软件猪都要会用,否则你就是猪。...调研了几种html导出pdf的实现方式,这里把要点记录下来分享下。...调研对象 优点 缺点 分页 图片 表格 链接 中文 特殊字符、样式 导出样例 备注 jsPDF 1、整个过程在客户端执行(不需要服务器参与),调用简单 1、生成的pdf图片形式,且内容失真 支持 支持...代码样例 html导出PDF 这里是要导出pdf中的内容 </...【 转载请注明出处——胡玉洋《html页面导出pdf(jsPDF、iText、wkhtmltopdf)》】

    6.7K10

    html导出pdf的四种方式

    html页面导出pdf文件并打印,可以直接在windows下使用Ctrl + P,苹果下⌘ + P。 如果需要用代码实现,可以考虑jsPDF、iText、wkhtmltopdf等方式。...以下是三种方式代码对比: 方式 优点 缺点 分页 图片 表格 链接 中文 特殊字符、样式 导出样例 备注 jsPDF 1、整个过程在客户端执行(不需要服务器参与),调用简单 1、生成的pdf图片形式,...有人相信,随着宇宙的老化并走向衰亡,卡德尔的力量和光芒也变得更强——极寒幽魂更加年轻,更加强大。他对冰霜的控制能够冻结一切事物,他的投影放出的光芒异常夺目。...//未生成pdfhtml页面高度 var leftHeight = contentHeight; //pdf页面偏移...是一个可以把html转为pdf的插件,有windows、linux等平台的版本,最大的特点就是使用简单,语言无关性。

    4.8K61
    领券