• 生成pdf文件的好东西,itextsharp


    官网:
    http://sourceforge.net/projects/itextsharp/
    http://hardrock.cnblogs.com/
    http://www.rubypdf.com/

    现在的版本是3.18版,记得在引用里导入itextsharp.下面的代码是把图象合并到一个多页pdf的例子.

          private void process(string[] files, string newpdf)
            
    {
                 iTextSharp.text.Document document 
    = new iTextSharp.text.Document(iTextSharp.text.PageSize.A4, 25252525);

                
    try
                
    {
                    iTextSharp.text.pdf.PdfWriter.GetInstance(document, 
    new FileStream(newpdf, FileMode.Create, FileAccess.ReadWrite));

                    document.Open();
                    iTextSharp.text.Image image;
                    
    for (int i = 0; i < files.Length; i++)
                    
    {
                        image 
    = iTextSharp.text.Image.GetInstance(files[i]);
                     
                        
    if (image.Height > iTextSharp.text.PageSize.A4.Height - 25)
                        
    {
                            image.ScaleToFit(iTextSharp.text.PageSize.A4.Width 
    - 25, iTextSharp.text.PageSize.A4.Height - 25);
                        }

                        
    else if (image.Width > iTextSharp.text.PageSize.A4.Width - 25)
                        
    {
                            image.ScaleToFit(iTextSharp.text.PageSize.A4.Width 
    - 25, iTextSharp.text.PageSize.A4.Height - 25);
                        }

                        image.Alignment 
    = iTextSharp.text.Image.ALIGN_MIDDLE;
                        
    //image.SetDpi(72, 72);

                        document.NewPage();
                        document.Add(image);
                     
                        
    //Phrase phrase3 = new Phrase("dreign@163.com\n", FontFactory.GetFont(FontFactory.TIMES, 9, iTextSharp.text.Font.NORMAL, new iTextSharp.text.Color(192, 192, 192)));
                        
    //document.Add(phrase3);
                    }

                }

                
    catch (Exception ioe)
                
    {
                    MessageBox.Show(ioe.Message);
                }

                document.Close();
            }
  • 相关阅读:
    LCD时序中设计到的VSPW/VBPD/VFPD/HSPW/HBPD/HFPD总结【转】
    【读书笔记::深入理解linux内核】内存寻址【转】
    解决阿里云无法正常使用samba的问题【转】
    谈谈Linux内核驱动的coding style【转】
    linux下使用indent整理代码(代码格式化)【转】
    gcc编译选项【转】
    DirectFB简介以及移植[一]【转】
    Android Framebuffer介绍及使用【转】
    Windows Live Writer离线博客工具使用教程(适用于博客园、CSDN、51CTO等等博客)【转】
    jenkins 入门教程(上)【转】
  • 原文地址:https://www.cnblogs.com/dreign/p/624648.html
Copyright © 2020-2023  润新知