高淳做网站价格/站长工具权重查询

高淳做网站价格,站长工具权重查询,做网站开发注册工商户可以么,深圳最大的公司排名目录 1、运行主界面 2、标签生成界面 3、需要引入的依赖包 4、解决方案目录 5、主要代码 1、新建PdfUtils工具类 2、Form1.cs 窗体主要代码 IT技术分享社区 / Itext Sharp Demo GitCode 今天给大家分享小编基于ItextSharp制作的一款标签生成小工具,可供大家…

目录

1、运行主界面

2、标签生成界面

3、需要引入的依赖包

4、解决方案目录

5、主要代码

1、新建PdfUtils工具类

2、Form1.cs 窗体主要代码


IT技术分享社区 / Itext Sharp Demo · GitCode

今天给大家分享小编基于ItextSharp制作的一款标签生成小工具,可供大家学习或者二次开发满足实际的需求使用。

使用技术:C#+ItextSharp+Winfrom+Net4.0

1、运行主界面

运行主界面根据窗体输入相应的内容,点击生成pdf按钮会生成对应的pdf文件。

2、标签生成界面

生成的标签pdf文件效果,直接运行

3、需要引入的依赖包

开发的时候需要导入以下两个包

iTextSharp 版本为5.5.13.13

QRCoder 版本为1.4.3

4、解决方案目录

5、主要代码

1、新建PdfUtils工具类

class PdfUtils{const string ITextExamplesFolder = "iTextExamples";const string ResourcesFolder = "resources";public static string Author => "haogm";public static string GetBaseDir()        {return Environment.CurrentDirectory; }    /// <summary>/// 创建列 插入文本内容/// </summary>/// <param name="table"></param>/// <param name="content"></param>/// <param name="font"></param>/// <param name="minimumHeight"></param>/// <param name="colspan"></param>/// <param name="rowspan"></param>public static void CreateCell(PdfPTable table, string content, Font font, int minimumHeight = 20, int colspan = 0, int rowspan = 0){var cell = new PdfPCell(new Phrase(content, font));
            cell.UseAscender = true;// 设置可以居中
            cell.MinimumHeight = minimumHeight;// 设置单元格高度
            cell.HorizontalAlignment = PdfPCell.ALIGN_CENTER;// 设置水平居中
            cell.VerticalAlignment = PdfPCell.ALIGN_MIDDLE;// 设置垂直居中if (rowspan != 0){
                cell.Rowspan = rowspan; //行合并}if (colspan != 0){
                cell.Colspan = colspan; //列合并}
            table.AddCell(cell);}/// <summary>/// 创建列 插入图片/// </summary>/// <param name="table"></param>/// <param name="image"></param>/// <param name="minimumHeight"></param>/// <param name="colspan"></param>/// <param name="rowspan"></param>public static void CreateCell(PdfPTable table, Image image, int minimumHeight = 3, int colspan = 0, int rowspan = 0){           var cell = new PdfPCell(image,true);// 是否填充
            cell.Padding = 5.5f; // 设置二维码在单元格中的边距
            cell.UseAscender = true;// 设置可以居中
            cell.MinimumHeight = minimumHeight;// 设置单元格高度
            cell.HorizontalAlignment = Element.ALIGN_CENTER;// 设置水平居中
            cell.VerticalAlignment = Element.ALIGN_MIDDLE;// 设置垂直居中if (rowspan != 0){
                cell.Rowspan = rowspan; //行合并}if (colspan != 0){
                cell.Colspan = colspan; //列合并}
            table.AddCell(cell);}    //生成二维码的路径public static string GetQRFileName(){return Path.Combine(GetOutputFolder(), $"Qr.jpg");}   public static string GetOutputFolder(){var dir = Path.Combine(GetBaseDir(), "bin", "out");if (!Directory.Exists(dir)){
                Directory.CreateDirectory(dir);}return dir;}public static string GetOutputFolderPdf(){var dir = Path.Combine(GetBaseDir(), "bin", "outpdf\\");if (!Directory.Exists(dir)){
                Directory.CreateDirectory(dir);}return dir;}/// <summary>/// 验证pdf文件/// </summary>/// <param name="file"></param>public static void VerifyPdfFileIsReadable(byte[] file){PdfReader reader = null;try{
                reader = new PdfReader(file);var author = reader.Info["Author"] as string;if (string.IsNullOrWhiteSpace(author) || !author.Equals(Author)){throw new InvalidPdfException("This is not a valid PDF file.");}}finally{
                reader?.Close();}}public static void VerifyPdfFileIsReadable(string filePath){VerifyPdfFileIsReadable(File.ReadAllBytes(filePath));}}

2、Form1.cs 窗体主要代码

/// <summary>
        /// 导出生成标签
        /// </summary>
        /// <returns></returns>
        public bool ExportReceipt()
        {
            try
            {                // 生成二维码的内容
                string strCode = "";
                StringBuilder sb = new StringBuilder();
                sb.Append(txtName.Text);
                sb.Append("$");
                sb.Append(txtName.Text);
                sb.Append("$");
                sb.Append(txtAge.Text);
                sb.Append("$");
                sb.Append(txtAddress.Text);
                sb.Append("$");
                sb.Append(txtNation.Text);
                sb.Append("$$");
                sb.Append(txtQQ.Text);
                sb.Append("$");
                strCode = sb.ToString();
                QRCodeGenerator qrGenerator = new QRCoder.QRCodeGenerator();
                QRCodeData qrCodeData = qrGenerator.CreateQrCode(strCode, QRCodeGenerator.ECCLevel.Q);
                QRCode qrcode = new QRCode(qrCodeData);                // GetGraphic 第一个参数设置图形的大小
                Bitmap qrCodeImage = qrcode.GetGraphic(3, Color.Black, Color.White, null, 15, 1, false);                MemoryStream ms = new MemoryStream();
                qrCodeImage.Save(ms, ImageFormat.Jpeg);                // 保存图片 
                var ImgPath = PdfUtils.GetQRFileName();
                qrCodeImage.Save(ImgPath);                // 保存pdf文件
                var pdfFilePath = PdfUtils.GetOutputFolderPdf() + DateTime.Now.ToString("yyyyMMddHHmmss") + ".pdf";
                if (File.Exists(Path.GetFullPath(pdfFilePath)))
                {
                    File.Delete(Path.GetFullPath(pdfFilePath));
                }
                var fileStream = new FileStream(pdfFilePath, FileMode.Create);
                //var pdfDoc = new Document(PageSize.A4);
                var pdfDoc = new Document(new iTextSharp.text.Rectangle(226.4f, 169.8f)); // 80*60 mm
                var pdfWriter = PdfWriter.GetInstance(pdfDoc, fileStream);
                pdfDoc.SetMargins(0.2f, 0.2f, 3.2f, 0.2f);
                pdfDoc.AddAuthor(PdfUtils.Author);
                pdfDoc.Open();                // 中文字体,解决中文不能显示问题
                BaseFont bfChinese = BaseFont.CreateFont("C:\\WINDOWS\\FONTS\\SIMSUN.TTC,0", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
                // 五号
                iTextSharp.text.Font fiveFont = new iTextSharp.text.Font(bfChinese, 8f);   // 五号 10.5f 小三号 15     
                iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(ImgPath);
                // 新建表格 3列.
                PdfPTable table0 = new PdfPTable(3)
                {
                    WidthPercentage = 98,// 宽度100%填充,
                };
                table0.DefaultCell.VerticalAlignment = Element.ALIGN_CENTER;                // 设置列宽
                float[] columnWidths0 = { 0.4f, 0.8f, 0.8f };
                table0.SetWidths(columnWidths0);
                //正文第1行
                PdfUtils.CreateCell(table0, "姓名", fiveFont);                
                PdfUtils.CreateCell(table0, txtName.Text, fiveFont);
                PdfUtils.CreateCell(table0, image, 30, 0, 5);
                PdfUtils.CreateCell(table0, "学历", fiveFont);               
                PdfUtils.CreateCell(table0, txtEducation.Text, fiveFont);                         PdfUtils.CreateCell(table0, "年龄", fiveFont);
                PdfUtils.CreateCell(table0, txtAge.Text, fiveFont);                PdfUtils.CreateCell(table0, "地址", fiveFont);
                PdfUtils.CreateCell(table0, txtAddress.Text, fiveFont);                PdfUtils.CreateCell(table0, "民族", fiveFont);
                PdfUtils.CreateCell(table0, txtNation.Text, fiveFont);                PdfUtils.CreateCell(table0, "QQ号", fiveFont);
                PdfUtils.CreateCell(table0, txtQQ.Text, fiveFont,0,2);
                pdfDoc.Add(table0);
                pdfDoc.Close();
                fileStream.Dispose();                PdfUtils.VerifyPdfFileIsReadable(pdfFilePath);
                //直接打开pdf文件                System.Diagnostics.Process.Start(pdfFilePath); 
                return true;
            }
            catch (Exception ex)
            {
                return false;
            }
        }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/269966.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

开发工具:推荐一款非常好用的SSH客户端WindTerm

目录 1、主要功能 2、安装WindTerm 3、设置与使用 3.1 设置终端字体 3.2 外观设置 3.3 配置会话 3.5 新建会话 4、软件性能 5、总结 今天给大家推荐一款基于C语言开发的支持跨平台SSH客户端WindTerm&#xff0c;感兴趣朋友可以下载试试。 1、主要功能 支持 SSH v2、T…

Java实战:指定大小分组压缩文件夹里面的文件案例

目录 一、前言 二、代码示例 新建FileModel.java 实体 Main.java 代码&#xff1a; 三、展示效果 四、最后 一、前言 今天给大家分享一个J自己写的ava实战的小案例&#xff0c;主要功能是实现指定一个文件夹&#xff0c;然后分组压缩里面的文件。其实这个案例还是有一定用…

mac系统快捷键大全详细介绍

对于使用苹果电脑的操作系统的新人来说&#xff0c;快捷键是个很麻烦的问题&#xff0c;要一个个的找到快捷键也不是很容易的问题&#xff0c;今天这篇文章就解决了到处找快捷键的麻烦。 Mac中主要有四个修饰键&#xff0c;分别是Command&#xff0c;Control&#xff0c;Optio…

Docker实战:Docker安装nginx并配置SSL

目录 1、拉取nginx镜像 2、启动nginx容器 3、创建挂载nginx目录 4、重新启动nginx容器 5、查看目录挂载是否成功 6、在宿主目录创建ssl目录&#xff0c;将ssl证书放在宿主主机 7、修改配置宿主主机nginx增加ssl证书配置 8、重启nginx容器 今天继续给大家分享Docker实战…

W模型和瀑布模型与“V”模式开发模型有何异同?

在做软件开发时&#xff0c;程序员们肯定接触过各式各样的软件开发模型&#xff0c;例如&#xff1a;写了再改模型、瀑布模型、增量模型等。其实&#xff0c;很多开发模型是在瀑布模型基础上衍生出来的。 然而&#xff0c;了解“V”模式开发模型的程序员应该不多。“V”模式开…

语言模型(N-Gram)

问题描述&#xff1a;由于公司业务产品中&#xff0c;需要用户自己填写公司名称&#xff0c;而这个公司名称存在大量的乱填现象&#xff0c;因此需要对其做一些归一化的问题。在这基础上&#xff0c;能延伸出一个预测用户填写的公司名是否有效的模型出来。 目标&#xff1a;问题…

C#:Winfrom 实现DataGridView 自定义分页

目录 安装Dapper依赖 安装SQLite依赖 新建SQLite数据库文件 主要代码示例 运行界面 今天给大家分享Winform实现DataGridView 自定义分页的案例&#xff0c;感兴趣的朋友可以一起来学习一下。 采用技术&#xff1a;C#WinformDapperSQLite。 本次为了避免安装数据库的繁琐&#x…

超维空间S2无人机使用说明书——21、VINS视觉定位仿真

引言&#xff1a;为了实现室内无人机的定位功能&#xff0c;S系列无人机配置了VINS-FUSION定位环境&#xff0c;主要包含了仿真跑数据集和实际操作部分。为了提前熟悉使用原理&#xff0c;可以先使用仿真环境跑数据集进行学习和理解 硬件&#xff1a;1080P显示器、Jetson orin…

正割函数(sec)

1. 定义 正割与余弦互为倒数&#xff0c;余割与正弦互为倒数。即&#xff1a; ⎧⎩⎨⎪⎪⎪⎪secθ1cosθcscθ1sinθ也即在几何上&#xff0c;设 △ABC&#xff0c;∠C90&#xff0c;ACb&#xff0c;BCa&#xff0c;ABc&#xff0c;正割函数&#xff1a;sec∠Ac/b&#xff08;…

网站:推荐几款好用的在线短链生成工具

目录 一、网站工具&#xff1a;ft12 二、网站工具&#xff1a;缩我短网址 三、Sina新浪短网址 四、短网址在线生成- ock.cn 五、网站工具&#xff1a;i排版 短链技术目前对网站推广非常的有用&#xff0c;有了它就可以把非常长的网址缩短。这样分享推广起来非常方便。今天…

学习mysql中使用inner join,left join 等

left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录 inner join(等值连接) 只返回两个表中联结字段相等的行 举例如下&#xff1a; -----------------------------------------…

MySQL:union all与union区别详解

union 是对数据进行并集操作&#xff0c;不包括重复行&#xff0c;同时进行默认排序 Union all 是对数据进行并集操作&#xff0c;包括重复行&#xff0c;不进行排序 举例说明&#xff1a; 创建数据库表&#xff1a; CREATE TABLE t_demo ( id int(32) NOT NULL, name var…

如何理解Mysql的索引及他们的原理--------二叉查找树和平衡二叉树和B树和B+树

1.索引是什么东西&#xff1f; 索引就是一个数据结构&#xff0c;我们把表中的记录用一个适合高效查找的数据结构来表示&#xff0c;目的就是让查询变得更高效。 2.它到底怎么运作的&#xff1f; 这个问题就说来话长了&#xff0c;且听我慢慢道来&#xff1a; 在mysql中使用…

微信输入法来了,一起来体验一下吧

大家期待已久的微信输入法终于来了&#xff0c;不是内置于微信当中&#xff0c;而是一款独立应用的APP&#xff0c;今天小编带大家来体验一下微信输入&#xff0c;到底好不好用&#xff1f; 目录 1、安装 2、功能介绍 2.1、智能推荐公众号、视频号、小程序等 2.2、可直接发…

猿创征文 | Docker实战:Linux环境安装Tomcat安装步骤

目录 1.官网镜像版本查找 2、拉取tomcat镜像 3. 查看镜像是否下载成功