CSharp: QuestPDF 2023.12.4 in donet 8.0

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
/*
 ide: vs 2022 17.5
 .net 8.0
 QuestPDF 23.12.4
 from:  https://github.com/QuestPDF/QuestPDF/discussions/560
  
 */
 
 
namespace ConsoleAppFontPdfDemo
{
 
 
    using QuestPDF;
    using QuestPDF.Fluent;
    using QuestPDF.Infrastructure;
    using QuestPDF.Previewer;
    using QuestPDF.Helpers;
    using Microsoft.Win32.SafeHandles;
    using System.ComponentModel;
    using System.IO;
    using System.Security;
    using System.Diagnostics;
 
    internal class Program
    {
        static void Main(string[] args)
        {
 
            //這兩行必須寫
            QuestPDF.Settings.License = LicenseType.Community;
            Settings.CheckIfAllTextGlyphsAreAvailable = false;
 
            Console.WriteLine("Hello,CSharp World! Geovin Du,geovindu,涂聚文!");
 
            string baseurl = Environment.CurrentDirectory.ToString() + "\\";
            var fontCourierNewPath = baseurl+@"font\MCuteHK-Light.TTF"
 
            //自定義字體
            QuestPDF.Drawing.FontManager.RegisterFontWithCustomName("MCuteHK-Light", File.OpenRead(fontCourierNewPath));
            var titleStyle = TextStyle.Default.FontSize(36).SemiBold().FontColor(Colors.Blue.Medium);
            //生成的文件
            var pdffile = "geovindu" + DateTime.Now.ToString("yyyyMMHHmmss") + ".pdf";
 
            // code in your main method
            Document.Create(container =>
            {
                container.Page(page =>
                {
                    page.Size(PageSizes.A4);
                    page.Margin(2, Unit.Centimetre);
                    page.PageColor(Colors.White);
                    page.DefaultTextStyle(x => x.FontSize(20).FontFamily("MCuteHK-Light"));
 
                    page.Header()
                        .Text("Hello PDF!塗聚文,你好,歡迎你!")
                        .Style(titleStyle);
 
                    page.Content()
                        .PaddingVertical(1, Unit.Centimetre)
                        .Column(x =>
                        {
                            x.Spacing(20);
 
                            x.Item().Text("語言成了邀功盡責的功臣,還需要行爲每日值班嗎?\r\n\r\n勵學篇\r\n宋·趙恒\r\n\r\n富家不用買良田,書中自有千鐘粟。\r\n安居不用架高堂,書中自有黃金屋。\r\n出門莫恨無人隨,書中車馬多如簇。\r\n娶妻莫恨無良媒,書中自有顏如玉。\r\n男兒欲遂平生志,五經勤向窗前讀。\r\n");
                            x.Item().Image(Placeholders.Image(200, 100));
                        });
 
                    page.Footer()
                        .AlignCenter()
                        .Text(x =>
                        {
                            x.Span("第 ");
                            x.CurrentPageNumber();
                            x.Span("頁/共");
                            x.TotalPages();
                            x.Span("頁");
                        });
                });
            })
            .GeneratePdf(pdffile);
 
            //預覽文件
            var process = new Process
            {
                StartInfo = new ProcessStartInfo(pdffile)
                {
                    UseShellExecute = true
                }
            };
 
            process.Start();
            process.WaitForExit();
 
 
        }
    }
}

  

 

posted @   ®Geovin Du Dream Park™  阅读(21)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
历史上的今天:
2022-02-02 java: javamail 1.6.2 Create Receive Email using jdk 19
2018-02-02 jQuery:SP.NET Autocomplete Textbox Using jQuery, JSON and AJAX
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示