基于iTextSharp的PDF文档操作必发365bifa0000

by admin on 2019年1月4日

  公司是跨境电商,需要和各样物流打交道,需要把东西送交物流,让她们发到世界各地。其中需要物流集团提供一个运单号,来追踪货物到达哪个地方?!

前几天(十月12日)深夜,由乐乎房产、江西省地产商会一起举办的炎黄房地产全行业领袖新年峰会在南丰朗豪旅社召开,地产大佬与权威专家齐聚,告诉您二〇一八年要不要买房!

  近日在和DHL物流集团(应该是个大商厦)对接,取运单号的章程是调用对方提供的API,简单说,就是大家传一些发货地址和客户信息,要发的货色等,对方回来一个运单号和物流面单(就是我们天猫快递上的面单)。过程吧,如故相比较顺利的,经过一名目繁多关系,最后如故促成了效用

峰会现场

  上面仍旧说说并未实现的职能,要是都实现了,也不用写这篇博客了。不足之处在于DHL提供的面单,没有提供要拣哪些货的面单。本来一个完好的面单,包括2局部:物流公司索要贴在卷入上的面单(物流面单)和我们和好发货部门要发什么东西的面单(拣货面单),两有些构成在联合,发货部门才能正常的做到那个包裹的发货

房地产到头了么,专家:仍有提高空间!

  好吧,终于要引入正题了,DHL集团将物流面单以pdf文件流的样式再次来到,就是我们可以保存成Pdf文件,这样就便于处理的多,我们友好的拣货面单,假使也能够保存至Pdf文件,那样就可以将这2个Pdf文件一块打印出来,这终究一个折中的解决方案。

在经验了强劲的调控及行业洗牌后,有人怀疑:地产行业的确彻底了!厦大高校房地产切磋所所长刘洪玉代表,2016年中国住宅投资占GDP比例为11%左右,但以此比例与U.S.、德意志联邦共和国比起来还有空间。“美利坚同盟国、德意志房地产行业占GDP比重相当平稳,是我们今保山平的一倍,这象征房地产行业的前进空间依旧存在。”

  首先,要将拣货数据(含图片)保存至Pdf文档。技术点如下

刘洪玉代表,房屋改造、租赁市场、资产管理等都将是房地产发展的矛头。但这提升的前提,便是坚韧不拔不懈“房住不炒”的一定。

    1, 将DataTable导出至Pdf

浙大大学房地产研讨所所长 刘洪玉

    2, DataTable中带有图表,也要能导出

那么,中国房价是不是会在调控中上涨,刘洪玉代表,房价的宽窄可能会减缓,在内阁对房价高涨速度过快带来的高风险认识提升后,新一代对住房的认识在改动,房子正在回归居住的性质。除了我们观点,台湾省地产商会会长、星河湾企业董事长黄文仔等业界大佬也做出了温馨独到的判断,告诉您二〇一九年要不要买房。上边来探视地产大佬谈楼市:

    3, Pdf类库,字体的引入(居然需要引用字体的相对路径,想不通)

黄文仔:2018新德里房价会安居乐业

  下面分别授课

迈阿密楼市直接公认是平静的,价格是理性的。对此,黄文仔分析认为,这一方面是政坛调控房价抓得及时,政坛兑现得干净;另一方面也和2000年左右华盛顿供地多,大盘多、供应量大、消化时间长有关。“新德里房价是平安的,市场是悟性的。”黄文仔说!他觉得,2019年的商海不会像二零一七年同一高,可是价格上会平稳,因为国家对房地产行业的调控原则也是“平稳”。

    1,
这点就是一贯开立iText夏普中的PdfDataTable对象,间接照射即可。代码如下:

青海省地产商会会长、星河湾公司董事长 黄文仔

private static pdfText.pdf.PdfPTable CreatePdfPTableToPickupLabel(List<TradeDetailModel> listDetail, iTextSharp.text.Font font)
{
    pdfText.pdf.PdfPTable pdtTable = new pdfText.pdf.PdfPTable(5);
    pdtTable.WidthPercentage = 95;      //占宽度百分比:95%(这句很关键,作用是撑满整个面单)

    int[] colWidth = { 2, 4, 2, 2, 2 }; //设置列宽比例
    pdtTable.SetWidths(colWidth);

    //此处,先插入首行,即标题
    pdtTable.AddCell(new iTextSharp.text.Phrase("图片", font));
    pdtTable.AddCell(new iTextSharp.text.Phrase("基本信息", font));
    pdtTable.AddCell(new iTextSharp.text.Phrase("单价", font));
    pdtTable.AddCell(new iTextSharp.text.Phrase("数量", font));
    pdtTable.AddCell(new iTextSharp.text.Phrase("备注", font));

    //再插入真实拣货数据
    int rowCount = listDetail.Count;
    for (int i = 0; i < rowCount; i++)
    {
        TradeDetailModel modelDetail = listDetail[i];

        iTextSharp.text.Image image = PdfUtil.CreatePdfImage(modelDetail.ProductImageBytes);
        pdtTable.AddCell(image);
        pdtTable.AddCell(new iTextSharp.text.Phrase(modelDetail.ProductBase, font));
        pdtTable.AddCell(new iTextSharp.text.Phrase(modelDetail.Price.ToString() + Environment.NewLine + modelDetail.ProductID, font));
        pdtTable.AddCell(new iTextSharp.text.Phrase(modelDetail.Number.ToString() + Environment.NewLine + modelDetail.ProductSpec, font));
        pdtTable.AddCell(new iTextSharp.text.Phrase(modelDetail.Remark, font));
    }

    return pdtTable;
}

“即使如此,二〇一九年的成交量也不会小。”黄文仔认为,二零一九年会是大浪淘沙的一年,有品牌有竞争力的集团会更强劲,当然很多铺面也会脱离市场。“往日有10个商店在争蛋糕,将来恐怕会剩下3至5个。”

    2,
这一点要先生成iTextSharp中Image对象才足以,然后再随生成PdfDataTable中,将Image对象插入单元格(注意:图片尺寸需要定义好)。代码如下:

盲目抢地,集团将失血

在谈到政坛指出的“房子是用来住的,不是用来炒的”方针时,黄文仔明确表示,房肯定是用来住的不是用来炒的,“我历来很反感炒房!”

甘肃省地产商会会长、星河湾公司董事长 黄文仔

黄文仔说,星河湾一最先做房地产,就很反感别人炒楼。“星河湾的房子也很少有人炒,一方面是星河湾房屋价格相对相比较高,更着重的是星河湾的房屋好,很多个人买了也不舍得卖。”谈及政党倡导的“租购同权”,黄文仔指出,政党在卖地之初就把土地的特性定下来,这块地是租售的,要不然公司期间血拼拿地,最终要用卖房子的净收入来补贴租赁房的资本。黄文仔提示,开发商高价抢地,我们都志在必得,时间一长,那个店铺就会渐渐失血。

湖南省地产商会会长、星河湾公司董事长 黄文仔

李思廉:不要炒房,不要拿高价地

海南省地产商会主席、富力地产董事长李思廉在会上也对高价地意味着了担忧。“政坛从前年始于已传递出信号,买贵地,不自然让你卖的贵。”

江西省地产商会主持人、富力地产董事长 李思廉

李思廉说,这不是独家案例,传达的一种信息,就是政坛万分不爱好我们“炒”房子,分外不希罕房价涨起来。至于中档怎么保值、增值,李思廉提示咱们要小心一些,整个二〇一八年的宅院资金肯定还会上升。

郭泽伟:房子回归居住性质

房屋的性能有诸多,居住属性、金融属性、社会性质、心思属性,会上尚东公司董事局主席郭泽伟还提出了准公共物品属性。准公共物品属性,意味着将来的房价、租金,都会像公共事业一样遭到政党的严谨监管。房地产急忙腾飞的背景下,郭泽伟坦言,“房子卖得太快了”。郭泽伟称,十年前曾有香港(香江)开发商指出,房产项目的开发建设应怀有30%的压抑物业,但内陆开发商并从未听从这一个提出。“假使十年前坚守了这一个指出,现在倒着走也足以”,现在大力发展租赁,开发商成本扩张,反而不好做。

吉林省地产商会履行会长、尚东公司董事局主持人 郭泽伟

何建梁 :赶紧买房,买郊区的房!

末尾,2018新风向不断的情况下,颐和地产董事长何建梁给出了彰着的答案:赶紧买房,买郊区的房,买三四线的房,房价是不会跌的。此外,何建梁还给发展商们提议了指出:“不要抢高价地了,抢了赚不了钱,房价会越炒越高”。

 陕西省地产商会执行会长、颐和地产董事长 何建梁

在湖北,如何变成一个好女婿!

前几天小编为咱们带来的是惠阳又一个一流大盘地铁口物业——德威花园城(毛坯·98000起),小区门口就是地铁1号线二环路站点,出行相当便宜,开发商是兰州家乡龙头房企、德威公司巨资打造。项目超低容积率、超高绿化率、高层别墅享受。小区拔取的是真的的万科物业,给你生活保驾护航。项目占地近40万方,总建筑面积将跨越百万平米,将建成5000余户商品房,自身跟周边的配套都是齐全的,无论是投资或者要好住都十分划算。(八月份加推12栋)

德威花园城卢主管:130——8884——26436,将在付出商备案价基础上分享附加——96折团购打折!

先生有那一个面,身份也有很多种是外甥,是大伯,是朋友,也是私有如何成功扮演多重角色,让生活游刃有余成为真正好女婿德威花园城助你一臂之力!

孝 — 呵护老人的健康

儿时家长惦记大家长大了,我们陪伴老人德威花园城坐拥四大园林,凤凰山公园、仙女湖公园、逢春公园、叶挺将军回忆园,亿万负氧离子呵护一家老小健康,陪老人看看风景聊聊天。温暖的陪伴是对老人家最好的回报!

凤凰山花园

叶挺将军记忆园

家长的肢体情况,儿女应随时关心,带父母到广大的卫生站定期体检,周边配套6大医院。惠阳妇幼保健院、秋长医院、弘德医院、淡水医院、中医医院、大连大学附属惠亚医院。为亲属的健康保驾护航不一致的医院给你一样的快慰,父母的笑脸,是一个女婿的勋章!

(惠阳妇幼保健院三期完工效果图)

(惠阳妇幼保健院一期效果图)

亲 — 守护孩子的成才

儿女的成人,是我们人生的课题德威花园城靠谱安心。国际幼儿园、36班公立小学。周边三海里内优质的7所学院是父母们最亲近得力的引路者!

子女们在念书上的题目亟需得到关爱。同样心神状态也是不可忽略,假日带着子女在休闲广场、萌宠乐园里发现自然的微妙。在蹦蹦跳跳地游玩中发觉小儿的色彩,带着男女在自身小区的主旨小孩子乐园嬉笑不停,到迷藏乐园释放孩子个性,孩子的笑颜,是一个老公的标配!

爱 — 陪伴朋友的平常  

爱人主内,万科物业主外。与爱人在德威花园城日光草坪漫步陪伴爱人感受着清风拂过脸庞,记忆相爱的日子!

万科物业24刻钟贴心管理更有保障,更加安心。你可以挤出更多难得的空余时间陪伴朋友,有家有爱的光阴,时光静好,爱人的笑颜,是一个女婿的高傲!

悦 — 把控自己的前程

在经济高速提升的社会广大的见识和美观的圈层有助于男人更好地握住时机。采取德威花园城是一个成功人员宽广眼界的证实!

品种据守惠湾首站新城政务区旁,惠大连道和徐州1号线城市大动脉贯穿价值高地所在,前景无可限量!

10大百强房企抢滩的漂亮圈层,未来将是由10万天才组建的高端住区,脸上的笑颜,是一个先生的荣光。时代迈进,初心不变德威花园城,责任助力为惠湾好爱人遮风挡雨,荣光加冕!

深圳-德威花园城自驾线路图

费城宝安:机荷高速-深汕高速-淡水出口-人民路-北环路-惠南大道-德威·花园城;蒙特利尔南山:南坪高速-水官高速-深汕高速-淡水出口-人民路-北环路-惠中山道-德威·花园城;卡萨布兰卡汉腾汽车:北环大道-清平高效-水官高速-深汕高速-淡水出口-人民路-北环路-惠石家庄道-德威·花园城;深圳罗湖:沿海南路_丹平很快-水官高速_深汕高速-淡水出口
_人民路-北环路-惠南大道-德威•花园城;费城龙岗(低速):坪山通道-白石路-秋宝路_迎宾大道-惠汉密尔顿道-德威•花园城;深圳龙岗(高速):惠盐高速-深汕高速-淡水出口-人民路-北环路-惠中山道-德威•花园城!

迎接对深莞惠感兴趣,有置业意向、投资意向的伴儿来电咨询!

德威花园城卢主管130——8884——2643,将在付出商备案价基础上分享附加——团购96折打折,专车接送包食宿!

提供的劳动:第一时间发表户型、进度、效果图、样板房开放、开盘、业内最新动态等音信;专业楼评、片区PK、新房二手房相比较、价格揣摸、户型点评等;不定期进行看楼活动;您可以在空间看到下边装有关乎的各个音讯和楼评!

/// <summary>
/// 创建Pdf所需图像
/// </summary>
/// <param name="imageBytes"></param>
/// <param name="widthS"></param>
/// <param name="heightS"></param>
/// <returns></returns>
private static iTextSharp.text.Image CreatePdfImage(byte[] imageBytes, float widthS = 60f, float heightS = 60f)
{
    iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(imageBytes);

    //图片大小要求统一80x80,需根据实际图片        
    float perW = (float)Math.Round(widthS / image.Width, 2);
    float perH = (float)Math.Round(heightS / image.Height, 2);
    image.ScalePercent(perW * 100, perH * 100);

    //设置Dpi值,能够清晰些
    image.SetDpi(124, 124);

    return image;
}  

    3, 创立字体

/// <summary>
/// 创建Pdf所需字体
/// </summary>
/// <returns></returns>
public static iTextSharp.text.Font CreatePdfFont(float fontSize = 16F)
{
    //黑体
    string fontPath = @"C:\Windows\Fonts\simhei.ttf";

    iTextSharp.text.pdf.BaseFont baseFont = iTextSharp.text.pdf.BaseFont.CreateFont(fontPath,
        iTextSharp.text.pdf.BaseFont.IDENTITY_H,
        iTextSharp.text.pdf.BaseFont.NOT_EMBEDDED);
    iTextSharp.text.Font font = new iTextSharp.text.Font(baseFont, fontSize);

    return font;
}

    下面是调用的代码,仅供参考。注:再次来到的Pdf文件的相对路径,用于后续打印

/// <summary>
/// 生成拣货标签pdf文件
/// </summary>
/// <param name="modelTrade"></param>
/// <param name="dhlLabelFolderName"></param>
/// <returns></returns>
public static string CreatePickupLabel(TradeModel modelTrade,string dhlLabelFolderName)
{
    //参考地址
    //https://www.cnblogs.com/yangy1989/p/5300304.html
    //http://blog.csdn.net/lideyuans/article/details/51536676 (设置图片百分比)

    //组装,待生成的pdf文件完整路径
    string logisticsNo = modelTrade.R;
    string pdfFileName = dhlLabelFolderName + logisticsNo + "_Label.pdf";

    FileStream fs = new FileStream(pdfFileName, FileMode.Create);
    pdfText.Rectangle rect = new pdfText.Rectangle(0f, 0f, 1000f, 1000f);
    pdfText.Document document = new pdfText.Document(rect, 5f, 5f, 5f, 5f);

    //创建字体
    iTextSharp.text.Font font = PdfUtil.CreatePdfFont(34F);

    pdfText.pdf.PdfWriter pdfWriter = pdfText.pdf.PdfWriter.GetInstance(document, fs);
    document.Open();

    //增加拣货单品列表
    pdfText.pdf.PdfPTable pdfpTable = PdfUtil.CreatePdfPTableToPickupLabel(modelTrade.Details, font);
    document.Add(pdfpTable);

    //增加品名备注            
    pdfText.Paragraph pgraph1 = new pdfText.Paragraph(modelTrade.ItemsDescription, font);
    document.Add(pgraph1);

    //增加:发货期限
    font.Color = pdfText.BaseColor.RED;
    pdfText.Paragraph pgraph2 = new pdfText.Paragraph(modelTrade.ShipLimitTimeText, font);
    document.Add(pgraph2);

    document.Close();
    fs.Close();

    return pdfFileName;
}

  

  再将这2个文件,通过C#代码连续打印出来。帮助连续打印多少个Pdf文件

//直接调用cmd命令,实现直接打印
foreach (string printFile in listPrintFile)
{
    Process proc = new Process();
    proc.StartInfo.CreateNoWindow = false;
    proc.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
    proc.StartInfo.UseShellExecute = true;
    proc.StartInfo.FileName = printFile;
    proc.StartInfo.Verb = "print";
    proc.Start();
    proc.Close();
}

  

  好了,最后的最后,看看效果图吧。前2联是DHL重回的Pdf文件,第3联是自己本地转移的Pdf文件,合并成一个总体的发货面单

必发365bifa0000 1

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图