C# 电子发票生成pdf

C#生成电子发票pdf文件方法

 先生成格线

            PdfContentByte cb = writer.DirectContent;
            #region 发票格线生成
            cb.SetLineWidth(1f);
            cb.MoveTo(202.799, 339.351); cb.LineTo(409.282, 339.351);
            cb.SetColorStroke(new BaseColor(0x9C, 0x52, 0x23));//#9C5223
            cb.Stroke();
            //2
            cb.MoveTo(202.799, 343.927); cb.LineTo(409.282, 343.927);
            cb.SetColorStroke(new BaseColor(0x9C, 0x52, 0x23));
            cb.Stroke();
            //3
            cb.MoveTo(22.6472, 123.554); cb.LineTo(591.308, 123.554);
            cb.SetColorStroke(new BaseColor(0x9C, 0x52, 0x23));
            cb.Stroke();
            //4
            cb.MoveTo(22.397, 248.387); cb.LineTo(591.558, 248.387);
            cb.SetColorStroke(new BaseColor(0x9C, 0x52, 0x23));
            cb.Stroke();
            //5
            cb.MoveTo(22.6472, 100.789); cb.LineTo(591.308, 100.789);
            cb.SetColorStroke(new BaseColor(0x9C, 0x52, 0x23));
            cb.Stroke();
            //6
            cb.MoveTo(45.1627, 309.677); cb.LineTo(45.1328, 248.905);
            cb.SetColorStroke(new BaseColor(0x9C, 0x52, 0x23));
            cb.Stroke();
            //7 货物或应税劳务、服务名称 右线
            cb.MoveTo(175.832, 248.104); cb.LineTo(175.791, 100.664);
            cb.SetColorStroke(new BaseColor(0x9C, 0x52, 0x23));
            cb.Stroke();
            //8 ‘密码区’右
            cb.MoveTo(363.392, 309.927); cb.LineTo(363.483, 248.51);
            cb.SetColorStroke(new BaseColor(0x9C, 0x52, 0x23));
            cb.Stroke();
            //9 ‘密码区’左
            cb.MoveTo(349.382, 309.927); cb.LineTo(349.266, 248.918);
            cb.SetColorStroke(new BaseColor(0x9C, 0x52, 0x23));
            cb.Stroke();
            //10
            cb.MoveTo(479.737, 248.209); cb.LineTo(479.724, 123.179);
            cb.SetColorStroke(new BaseColor(0x9C, 0x52, 0x23));
            cb.Stroke();

            //11 单位右线
            cb.MoveTo(253.918, 248.876); cb.LineTo(253.956, 124.357);
            cb.SetColorStroke(new BaseColor(0x9C, 0x52, 0x23));
            cb.Stroke();

            //12 规格型号 右线
            cb.MoveTo(219.415, 248.219); cb.LineTo(219.431, 123.554);
            cb.SetColorStroke(new BaseColor(0x9C, 0x52, 0x23));
            cb.Stroke();

            //13
            cb.MoveTo(391.775F, 248.929F); cb.LineTo(391.725, 123.982);
            cb.SetColorStroke(new BaseColor(0x9C, 0x52, 0x23));
            cb.Stroke();

            //14 税率右线
            cb.MoveTo(504.199, 248.459); cb.LineTo(504.247, 123.179);
            cb.SetColorStroke(new BaseColor(0x9C, 0x52, 0x23));
            cb.Stroke();
            //15 单价右线条
            cb.MoveTo(319.591, 249.061); cb.LineTo(319.684, 123.982);
            cb.SetColorStroke(new BaseColor(0x9C, 0x52, 0x23));
            cb.Stroke();
            //16
            cb.MoveTo(45.7185, 100.523); cb.LineTo(45.7256, 45.1279);
            cb.SetColorStroke(new BaseColor(0x9C, 0x52, 0x23));
            cb.Stroke();
            //17
            cb.MoveTo(348.33, 100.912); cb.LineTo(348.33, 45);
            cb.SetColorStroke(new BaseColor(0x9C, 0x52, 0x23));
            cb.Stroke();

            //18 备注右线条
            cb.MoveTo(363.306, 101.208); cb.LineTo(363.392, 45);
            cb.SetColorStroke(new BaseColor(0x9C, 0x52, 0x23));
            cb.Stroke();

            //框-左
            cb.MoveTo(22.0046, 44.3121); cb.LineTo(22.0046, 310.488);
            cb.SetColorStroke(new BaseColor(0x9C, 0x52, 0x23));
            cb.Stroke();
            //框-上
            cb.MoveTo(22.0046, 310.488); cb.LineTo(592.416, 310.488);
            cb.SetColorStroke(new BaseColor(0x9C, 0x52, 0x23));
            cb.Stroke();
            //框-右
            cb.MoveTo(592.416, 310.488); cb.LineTo(592.416, 44.3121);
            cb.SetColorStroke(new BaseColor(0x9C, 0x52, 0x23));
            cb.Stroke();
            //框-下
            cb.MoveTo(22.0046, 44.3121); cb.LineTo(592.416, 44.3121);
            cb.SetColorStroke(new BaseColor(0x9C, 0x52, 0x23));
            cb.Stroke();
            #endregion

            BaseFont bf = BaseFont.CreateFont("c:\\simkai.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
            iTextSharp.text.Font ff = new iTextSharp.text.Font(bf, 20, iTextSharp.text.Font.NORMAL, new BaseColor(0x9C, 0x52, 0x23));
            cb.SetColorFill(new BaseColor(0x9C, 0x52, 0x23));
            Phrase pr = new Phrase("江苏增值税电子普通发票", ff);
            ColumnText.ShowTextAligned(cb, 0, pr, 195F, 360F, 0);
            #region 发票样式生成
            cb.BeginText();
            cb.SetFontAndSize(bf, 9);
            cb.SetTextMatrix(31.027F, 320.683F);
            cb.ShowText("机器编号:");
            cb.EndText();

            cb.BeginText();
            cb.SetFontAndSize(bf, 9);
            cb.SetTextMatrix(434.854F, 372.94F);
            cb.ShowText("发票代码:");
            cb.EndText();

            cb.BeginText();
            cb.SetFontAndSize(bf, 9);
            cb.SetTextMatrix(434.742F, 355.425F);
            cb.ShowText("发票号码:");
            cb.EndText();

            cb.BeginText();
            cb.SetFontAndSize(bf, 9);
            cb.SetTextMatrix(434.275F, 338.221F);
            cb.ShowText("开票日期:");
            cb.EndText();

            cb.BeginText();
            cb.SetFontAndSize(bf, 9);
            cb.SetTextMatrix(500.444F, 338.163F);
            cb.ShowText("年");
            cb.EndText();

            cb.BeginText();
            cb.SetFontAndSize(bf, 9);
            cb.SetTextMatrix(521.74F, 338.163F);
            cb.ShowText("月");
            cb.EndText();

            cb.BeginText();
            cb.SetFontAndSize(bf, 9);
            cb.SetTextMatrix(542.173F, 338.163F);
            cb.ShowText("日");
            cb.EndText();

            cb.BeginText();
            cb.SetFontAndSize(bf, 9);
            cb.SetTextMatrix(434.492F, 320.526F);
            cb.ShowText("校 验 码:");
            cb.EndText();

            cb.BeginText();
            cb.SetFontAndSize(bf, 9);
            cb.SetTextMatrix(28.636F, 292.312F);
            cb.ShowText("购");
            cb.EndText();

            cb.BeginText();
            cb.SetFontAndSize(bf, 9);
            cb.SetTextMatrix(28.636F, 276.86F);
            cb.ShowText("买");
            cb.EndText();

            cb.BeginText();
            cb.SetFontAndSize(bf, 9);
            cb.SetTextMatrix(28.636F, 261.043F);
            cb.ShowText("方");
            cb.EndText();

            cb.BeginText();
            cb.SetFontAndSize(bf, 9);
            cb.SetTextMatrix(48.1893F, 299.043F);
            cb.ShowText("名        称:");
            cb.EndText();

            cb.BeginText();
            cb.SetFontAndSize(bf, 9);
            cb.SetTextMatrix(48.4488F, 283.892F);
            cb.ShowText("纳税人识别号:");
            cb.EndText();

            cb.BeginText();
            cb.SetFontAndSize(bf, 9);
            cb.SetTextMatrix(48.3367F, 268.856F);
            cb.ShowText("地 址、电 话:");
            cb.EndText();

            cb.BeginText();
            cb.SetFontAndSize(bf, 9);
            cb.SetTextMatrix(48.2998F, 253.69F);
            cb.ShowText("开户行及账号:");
            cb.EndText();

            cb.BeginText();
            cb.SetFontAndSize(bf, 9);
            cb.SetTextMatrix(351.386F, 295.915F);
            cb.ShowText("密");
            cb.EndText();

            cb.BeginText();
            cb.SetFontAndSize(bf, 9);
            cb.SetTextMatrix(351.386F, 276.59F);
            cb.ShowText("码");
            cb.EndText();

            cb.BeginText();
            cb.SetFontAndSize(bf, 9);
            cb.SetTextMatrix(351.386F, 256.868F);
            cb.ShowText("区");
            cb.EndText();

            cb.BeginText();
            cb.SetFontAndSize(bf, 9);
            cb.SetTextMatrix(43.9065F, 238.16F);
            cb.ShowText("货物或应税劳务、服务名称");
            cb.EndText();

            cb.BeginText();
            cb.SetFontAndSize(bf, 9);
            cb.SetTextMatrix(179.89F, 238.16F);
            cb.ShowText("规格型号");
            cb.EndText();

            cb.BeginText();
            cb.SetFontAndSize(bf, 9);
            cb.SetTextMatrix(226.641F, 238.16F);
            cb.ShowText("单位");
            cb.EndText();

            cb.BeginText();
            cb.SetFontAndSize(bf, 9);
            cb.SetTextMatrix(271F, 238.16F);
            cb.ShowText(" 数量");
            cb.EndText();

            cb.BeginText();
            cb.SetFontAndSize(bf, 9);
            cb.SetTextMatrix(330F, 238.16F);
            cb.ShowText("   单价");
            cb.EndText();

            cb.BeginText();
            cb.SetFontAndSize(bf, 9);
            cb.SetTextMatrix(423.36F, 238.16F);
            cb.ShowText("金 额");
            cb.EndText();

            cb.BeginText();
            cb.SetFontAndSize(bf, 9);
            cb.SetTextMatrix(474.529F, 238.084F);
            cb.ShowText("  税率");
            cb.EndText();

            cb.BeginText();
            cb.SetFontAndSize(bf, 9);
            cb.SetTextMatrix(536.741F, 238.16F);
            cb.ShowText("税 额");
            cb.EndText();

            cb.BeginText();
            cb.SetFontAndSize(bf, 9);
            cb.SetTextMatrix(61.6049F, 127.526F);
            cb.ShowText("合        计");
            cb.EndText();

            cb.BeginText();
            cb.SetFontAndSize(bf, 9);
            cb.SetTextMatrix(61.817F, 108.77F);
            cb.ShowText("价税合计(大写)");
            cb.EndText();

            cb.BeginText();
            cb.SetFontAndSize(bf, 9);
            cb.SetTextMatrix(448.795F, 109.026F);
            cb.ShowText("(小写)");
            cb.EndText();

            cb.BeginText();
            cb.SetFontAndSize(bf, 9);
            cb.SetTextMatrix(29.909F, 82.988F);
            cb.ShowText("销");
            cb.EndText();

            cb.BeginText();
            cb.SetFontAndSize(bf, 9);
            cb.SetTextMatrix(29.909F, 69.055F);
            cb.ShowText("售");
            cb.EndText();

            cb.BeginText();
            cb.SetFontAndSize(bf, 9);
            cb.SetTextMatrix(29.909F, 54.675F);
            cb.ShowText("方");
            cb.EndText();

            cb.BeginText();
            cb.SetFontAndSize(bf, 9);
            cb.SetTextMatrix(48.3F, 89.745F);
            cb.ShowText("名        称:");
            cb.EndText();

            cb.BeginText();
            cb.SetFontAndSize(bf, 9);
            cb.SetTextMatrix(48.3F, 75.357F);
            cb.ShowText("纳税人识别号:");
            cb.EndText();

            cb.BeginText();
            cb.SetFontAndSize(bf, 9);
            cb.SetTextMatrix(48.3F, 61.106F);
            cb.ShowText("地 址、电 话:");
            cb.EndText();

            cb.BeginText();
            cb.SetFontAndSize(bf, 9);
            cb.SetTextMatrix(48.3F, 47.606F);
            cb.ShowText("开户行及账号:");
            cb.EndText();

            cb.BeginText();
            cb.SetFontAndSize(bf, 9);
            cb.SetTextMatrix(351.75F, 82.941F);
            cb.ShowText("备");
            cb.EndText();

            cb.BeginText();
            cb.SetFontAndSize(bf, 9);
            cb.SetTextMatrix(351.75F, 52.743F);
            cb.ShowText("注");
            cb.EndText();

            cb.BeginText();
            cb.SetFontAndSize(bf, 9);
            cb.SetTextMatrix(33.3689F, 28.054F);
            cb.ShowText("收款人:");
            cb.EndText();

            cb.BeginText();
            cb.SetFontAndSize(bf, 9);
            cb.SetTextMatrix(192.321F, 28.054F);
            cb.ShowText("复核:");
            cb.EndText();

            cb.BeginText();
            cb.SetFontAndSize(bf, 9);
            cb.SetTextMatrix(314.46F, 28.054F);
            cb.ShowText("开票人:");
            cb.EndText();

            cb.BeginText();
            cb.SetFontAndSize(bf, 9);
            cb.SetTextMatrix(436.7F, 28.054F);
            cb.ShowText("销售方:(章)");
            cb.EndText();
            #endregion

绘制监制章

监制章图片base64

string ijzjs = "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";

 设置监制章图片

iTextSharp.text.Image itImg = iTextSharp.text.Image.GetInstance(Convert.FromBase64String(ijzjs));
                itImg.SetAbsolutePosition(265, 315);
                itImg.ScaleAbsolute(85, 56);
                cb.AddImage(itImg);

最后填充发票内容完成pdf生成

生成效果

如果不确定填充位置可以使用直尺测量毫米再转换成pixel

毫米转pixel方法

public float MillimeterToPixel(float mm)
        {
            return mm / 10f / 2.54f * 72f;
        }

 编得有点繁琐,应该可以更精简

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值