美文网首页
PDF矢量图形转像素版本

PDF矢量图形转像素版本

作者: yumxuanyi | 来源:发表于2020-05-22 16:45 被阅读0次

@版权声明:本文为版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出,
本文链接https://www.jianshu.com/p/e7c221b45864
如有问题, 可邮件(yumxuanyi@qq.com)咨询。


关键字:PDF转图片、itextSharp、O2S.Components.PDFRender4NET.dll

  1. 第一步:将PDF文件转换为图片流
    O2S.Components.PDFRender4NET.dll
    (第三方DLL,可以实现PDF转图片,官方试用版有红色水印)
    (网上下载的盗版可能会出现转换不了的情况,表现为空白图片,可私聊我)
 /// pdfPath 表示pdf文件的路径
 /// definition 表示像素分辨率。1英寸 = 72(user unit)  
 /// 默认1(user unit) 为 1个像素点。
 ///Definitioin  其实是枚举值表示1 - 10的数字而已 值越大图像越大
 private MemeryStream PrintPDFToTiffStream(string pdfPath, int definition)
{
    MemoryStream ms = null;
    using(FileStream fs = new FileStream(pdfPath,FileMode.Open,FileAccess.Read,FileShare.None))
    {
            PDFFile pdfFile = PDFFile.Open(fs);
            ms = pdfFile.GetPageImagesAsMultipageTiff(72 * (int)definition);
    }
     return ms;
}
  1. 第二步 : 创建新的PDF文件

    itextsharp.dll (免费的,好使!)

    //注意下面方法是将原PDF覆盖了哦
   public void StartPrint(string pdfFilePath)
   {
       MemoryStream ms =   PrintPDFToTiffStream(pdfFilePath,3);
       if(ms == null)
       {
           return;
       }
       using(Document document = new iTextSharp.text.Docuemnt())
       {
          using(FileStream stream = new FileStream(pdfFilePath,FileMode.Create,FileAccess.Write,FileShare.None))
           {                 
              document.SetMargins(0,0,0,0);
              PdfWriter pdfWriter = PdfWriter.GetInstance(docment,stream);
              document.Open()
              {
                  RandomAccessFileOrArray ra  = new  RandomAccessFileOrArray(ms.ToArray());
                   for(int i =1;i<= TiffImage.GetNumberOfPages(ra);i++)
                   {
                           iTextSharp.Image image = TiffImage.GetTiffImage(ra,true,i);
                          document.SetPageSize(this.PdfPages[i].PageSize);
                       image.ScaleToFit(document.PageSize);
                       image.Alignment = iTextSharp.text.Image.ALIGN_MIDDLE;
                        document.NewPage();
                        document.Add(image);                     
                   }
                   document.close();
              }
           }
        }
   }

相关文章

  • PDF矢量图形转像素版本

    @版权声明:本文为版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出,本文链接ht...

  • Core Graphics 五: 位图和遮罩

    计算机图形分为两类,矢量图形和位图图形位图图形就是像素点阵,是由像素点按照特定阵列显示出来,当像素密度足够大时,位...

  • ps 像素转矢量

    选区选取颜色 蚂蚁线情况下 建立工作路径 调节图层 纯色 doney( ˙ᴗ˙ )耶~

  • iOS绘制与渲染--矢量图

    矢量图简介 在数字世界中,图像资源可分为光栅和矢量两种基本类型。光栅图形本质上是一组矩阵的像素强度。而矢量图形是形...

  • 第四天 矢量形状与路径

    (一) 矢量形状与位图 矢量图:由点,线,形,以数学矢量方式来记录的图形特点:放大不失真位图:是由像素来构成的图像...

  • SVG 入门

    一、栅格图形和矢量图形栅格图形:也称位图,图像由一组二维像素网格表示。Canvas 2d API 就是一款栅格图形...

  • 《photoshop自学手册》-3

    3-1、计算机基础图像有二类:位图图像和矢量图形 位图的特征:也称栅格图像由像素组成,极致放大图形,在图形越来越模...

  • SVG在项目中使用

    官方文档-添加多密度矢量图形 Android 4.4(API 级别 20)及更低版本不支持矢量图 如果在低版本上使...

  • webgl基本概念

    光栅化 是将向量图形格式表示的图像转换成位图以用于显示器或者打印机输出的过程; 栅格即像素,栅格化即将矢量图形转化...

  • 内容干货:玩转CAD格式转换4大步骤,高效完成格式转换

    关注小编分享CAD转PDF,PDF转CAD,CAD版本转换,dxf转PDF转换等问题 怎么操作呢?如何进行转换,打...

网友评论

      本文标题:PDF矢量图形转像素版本

      本文链接:https://www.haomeiwen.com/subject/knaqahtx.html