首页 > 其他分享 >CSharp: QuestPDF 2023.12.4 in doenet 8.0

CSharp: QuestPDF 2023.12.4 in doenet 8.0

时间:2024-02-02 18:24:17浏览次数:28  
标签:doenet 2023.12 System var CSharp QuestPDF using page

 

/*
 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();


        }
    }
}

  

 

标签:doenet,2023.12,System,var,CSharp,QuestPDF,using,page
From: https://www.cnblogs.com/geovindu/p/18003641

相关文章

  • 2023.12.9 总结
    T1题意:一枚棋子每一步只能走到与它原位置不同行与不同列的位置,现在将其放在一个\(R\)行\(C\)列的棋盘中,此棋子走\(N\)步,经过的点构成一个排列,问有多少种不同排列?\((R,C,N\le200)\)初步思路此题是\(DP\)。设\(f_{i,j,u}\)为走了\(i\)步,在\(j,u\)位置的走法,每一......
  • KubeSphere 社区双周报 | 2023.12.21-2024.01.04
    KubeSphere社区双周报主要整理展示新增的贡献者名单和证书、新增的讲师证书以及两周内提交过commit的贡献者,并对近期重要的PR进行解析,同时还包含了线上/线下活动和布道推广等一系列社区动态。本次双周报涵盖时间为:2023.12.21-2024.01.04。贡献者名单新晋KubeSpherecon......
  • 2023.12.31——每日总结
    学习所花时间(包括上课):9h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习;我了解到的知识点:1.ERP明日计划:学习......
  • 2023.12.31模拟赛总结
    前言:这次还行,今年的最后一场比赛,300pts,rank4T1赛时摆烂了,没有牢记“正难则反”,打了暴力,还挂了正解从后往前考虑,考虑在这个点对后面的点的影响,发现就是p乘上了一个系数,直接从后往前算的时候乘上即可,最后再考虑初始的wT2发现取权值连续的一段数一定是最优的,随便维护一下即可T3......
  • 2023.12.31做题纪要
    TJOI2015弦论身为彩笔的我觉得这道题还不错???对于新学的我来说挺考验对\(SAM\)的理解??要用一个类似洛谷\(SAM\)板子题的数组来记录每个节点的\(right(endpos)\)集合的大小。最后维护一下就行了。主要难在证明。晴天#include<bits/stdc++.h>constintMAXN=3*(5......
  • 2023.12 《卓有成效的管理者》-彼得▪德鲁克
    目录主要内容第1章有效是可以学会的第2章认识你的时间第3章我能做出什么贡献第3章主要内容第1章有效是可以学会的第2章认识你的时间第3章我能做出什么贡献第3章......
  • 2023.12.30模拟赛总结
    前言:这次比赛打的不是很好,100pts,rank8T1赛时想到了正解,但是因为一些题面的原因和代码细节没调出来首先可以写出暴力dp:\(f[i][j]\)表示到第i位,选了i且选了j个哨岗的最大范围枚举k为上一个,直接暴力转移是\(O(n^3)\)的,过不去然后,我们发现可以分类讨论,如果\([l_i,r_i]\)和\([l_k......
  • 2023.12.30做题纪要
    SAM模板评价:逆天纸糊串,学不会一点。#include<bits/stdc++.h>constintMAXN=3e6+100;intN;charch[MAXN];longlonganswer;classSuffix_Automaton{private:inttot,last,root;intchild[MAXN][26],link[MAXN],length[MAXN];longlongcnt......
  • 【2023.12.30】PVE的PCIE直通改VGPU授权
    之前使用直通有个坏处,就是其他的CT和虚拟机用不了GPU,只能使用核显在这里参考的链接是https://gitlab.com/polloloco/vgpu-proxmoxaptupdateaptdist-upgradeaptinstall-ygitbuild-essentialdkmspve-headersmdevctlgitclonehttps://gitlab.com/polloloco/vgpu-prox......
  • 2023.12.30 日记
    早上跑400m,低血糖。跑完我在操场上呕吐,四肢麻木地瘫在草地。我无力了。脸部传来瘙痒。痒觉移动到了耳梢。它在耳朵旁转了几圈,大抵由于那个洞深不可测,便放弃了,继续在我身上爬行。我感受到飞蝇在我的睫毛上晃动。我伸起手扇它,它没飞走。我也没有伸起手。四肢从冰冷麻木转向......