zoukankan      html  css  js  c++  java
  • 关于一些pdf撞的南墙(.net)

     1.spire pdf 生成的pdf也挺方便的。而且优点是冰蓝科技 ice-blue会给你免费的key可以去掉水印, 我们的pdf文件需要发送到customs识别,

    但是在我这遇到的问题是,customes回馈的信息是“你们提供的pdf格式是错误的,也就是并不是真正意义上的pdf,虽然表面看起来没啥差别。”

    所以只能弃用。

    2.找寻了蛮久,发现Microsoft office组件。很激动很开心的拿去试,在控制台程序测试的很6.customes那边也是识别的,超级开心激动。然而:

    部署的时候傻眼了,先是无法找到com工厂注册的类之类的 ,搜寻结果就按照人家的一步步操作,包括安装office组件, 包括设置各种uesr权限,一点卵用没有,后来才发现还有office版本问题,什么鬼注册表之类的。

    毕竟wps不收费,所以一开始电脑上是wps.装了office之后,彻底乱套了。貌似wps会修改掉你的注册表,所以一路全是渣渣问题,再说了,你要给服务器部署的话也是要安装office而且要去配置的。就被打败了,这样的应该不是最佳方案。

    3.又找了很久,发现了aspose。用起来还是很不错,也不需要其他乱七八糟的,只需要个nuget packages. 而且custome回馈也是识别的。 但是有水印啊啊啊,网络找的key都是要么需要升级,要么让你订阅之前的产品。我还在研究中。。。。

    迫切希望有大神可以给出好的建议和方案。

    4.在同事共同讨论的结果下,发现了Itextsharp.继续研究,希望可以。。。真的太无助了。

    遇到的问题及解决方案:都是针对itextSharp

    中文不显示系列:
              

      //中文字体显示问题
      BaseFont baseFont = BaseFont.CreateFont(@"C:WindowsFontssimsun.ttc,0", BaseFont.IDENTITY_H,BaseFont.NOT_EMBEDDED);
      PdfPCell cell=new PdfPCell(new Phrase(dt.Rows[i][j].ToString(),new Font(baseFont)));
    
    

      

     //设置行宽
     int[] widths = new int[] { 5, 22, 20, 10, 12, 14 };//三列列宽不同若果是浮点数需要加f
     table.SetWidths(widths);
    

      一定要注意列的值。

     //合并行
                        if (i == dt.Rows.Count - 1)
                        {
                            if (j == 0)
                            {
                                cell.Colspan = 2;
                                j++;
                            }
                            else if (j==2)
                            {
                                cell.Colspan = 3;
                                j += 2;
                            }
    
                        }
                        table.AddCell(cell);
                      
    
    //加粗 字体大,居中
     Paragraph paragraph1=new Paragraph(new Chunk(" 销 售 合 同",new Font(baseFont,12, Font.BOLD)));
     paragraph1.Alignment = Rectangle.ALIGN_CENTER;
            
    

      

      其他的就可以参考一些文档,目前这个是用的最好的,虽然资料比较少,他有很多小细节优点,边距可以自己设置,内容超过列宽时会自动换行等等。反正最后操作pdf终于找到方案。itextsharp满强大的。

     
    改变自己,成长自己
  • 相关阅读:
    mybatis中crud操作范例
    Guava----Function
    Spring mvc Controller接口
    简单的验证码识别(opecv)
    Mat转换为QImage
    将多张图片无缝拼接方法
    模式识别---图像二值化
    双边过滤算法
    C++对于大型图片的加载缩放尝试
    ijg库解码超大型jpeg图片
  • 原文地址:https://www.cnblogs.com/xxh-2014/p/11224879.html
Copyright © 2011-2022 走看看