• 大小: 8.96MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-10-09
  • 语言: 其他
  • 标签: pdf  png  pdfToPng  

资源简介

大多公文以pdf文件的方式进行传播、转发,很是方便,但有部分平台不支持直接发布PDF文件,如公众号,必须转换成图片文件,为此我写了一个小工具,现在源码奉上。

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Windows.Forms;
using Spire.Pdf;

namespace PdfToImage
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender EventArgs e)
        {
            OpenFileDialog openDialog = new OpenFileDialog();
            openDialog.Filter = “PDF文件(*.pdf)|*.pdf;“;
            if (openDialog.ShowDialog() == DialogResult.OK)
            {
                textBox1.Text = openDialog.FileName;
            }
            
        }

        private void button2_Click(object sender EventArgs e)
        {   //Create a pdf document.
            PdfDocument pdfFile = new PdfDocument();
            // Load the PDF Document
            pdfFile.LoadFromFile(textBox1.Text);
            String FileName = System.IO.Path.GetFileNameWithoutExtension(textBox1.Text);
            FileName = FileName + DateTime.Now.ToString().Replace(“ “ ““).Replace(“:“ ““).Replace(“-“ ““).Replace(“/“ ““);
            // Image collection to hold
            IList images = new List();
            // Loop thru each pages
            /*
            foreach (PdfPagebase page in pdfFile.Pages)
            {
                // Check that page contains any images
                 if (page.ExtractImages() != null)

                {
                    foreach (Image image in page.ExtractImages())
                     {
                        images.Add(image);
                    }
                }
              
            }*/
            for (int i = 0; i < pdfFile.Pages.Count; i++)
            { System.Drawing.Image bmp = pdfFile.SaveAsImage(i);
                images.Add(bmp);
            }
            //close the document
            pdfFile.Close();
            //save image
            int index = 0;
            var finalWidth  = images.Max(img => img.Width);
            var finalHeight = images.Sum(img => img.Height);

            var finalImg = new Bitmap(finalWidth finalHeight);
            Graphics g = Graphics.FromImage(finalImg);
            //g.Clear(SystemColors.AppWorkspace);

            g.Clear(Color.White);

            var width  = finalWidth;
            var height = finalHeight;
            var nIndex = 0;
            int PageOnOneFile =(int)Pages.Value;

            foreach (Image Img in images)
            {
                if (nIndex == 0)
                {
                    g.DrawImage(Img new Point(0 0));
                    nIndex++;
                    width  = Img.Width;
                    height = Img.Height;
                }
                else
                {
                    g.DrawImage(Img new Point(0 height));
                    height += Img.Height;
                }
                
            }
            g.Dispose();
       

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-05-30 13:03  PdfToImage\
     目录           0  2019-05-30 13:03  PdfToImage\.vs\
     目录           0  2019-05-30 13:03  PdfToImage\.vs\PdfToImage\
     目录           0  2019-05-30 13:04  PdfToImage\.vs\PdfToImage\v15\
     文件       45568  2019-06-05 15:56  PdfToImage\.vs\PdfToImage\v15\.suo
     目录           0  2019-05-30 13:04  PdfToImage\.vs\PdfToImage\v15\Server\
     目录           0  2019-05-30 13:04  PdfToImage\.vs\PdfToImage\v15\Server\sqlite3\
     文件           0  2019-05-30 13:04  PdfToImage\.vs\PdfToImage\v15\Server\sqlite3\db.lock
     文件      753664  2019-06-05 14:45  PdfToImage\.vs\PdfToImage\v15\Server\sqlite3\storage.ide
     文件       32768  2019-06-05 13:50  PdfToImage\.vs\PdfToImage\v15\Server\sqlite3\storage.ide-shm
     文件     4132392  2019-06-05 15:56  PdfToImage\.vs\PdfToImage\v15\Server\sqlite3\storage.ide-wal
     目录           0  2019-06-05 15:53  PdfToImage\PdfToImage\
     文件         189  2019-05-30 13:03  PdfToImage\PdfToImage\App.config
     文件        8149  2019-06-05 15:46  PdfToImage\PdfToImage\Form1.Designer.cs
     文件        6992  2019-06-05 15:53  PdfToImage\PdfToImage\Form1.cs
     文件        5817  2019-06-05 15:46  PdfToImage\PdfToImage\Form1.resx
     文件        4079  2019-05-30 15:08  PdfToImage\PdfToImage\PdfToImage.csproj
     文件         522  2019-05-30 13:03  PdfToImage\PdfToImage\Program.cs
     目录           0  2019-05-30 13:03  PdfToImage\PdfToImage\Properties\
     文件        1336  2019-05-30 13:03  PdfToImage\PdfToImage\Properties\AssemblyInfo.cs
     文件        2833  2019-05-30 13:03  PdfToImage\PdfToImage\Properties\Resources.Designer.cs
     文件        5612  2019-05-30 13:03  PdfToImage\PdfToImage\Properties\Resources.resx
     文件        1097  2019-05-30 13:03  PdfToImage\PdfToImage\Properties\Settings.Designer.cs
     文件         249  2019-05-30 13:03  PdfToImage\PdfToImage\Properties\Settings.settings
     目录           0  2019-05-30 13:03  PdfToImage\PdfToImage\bin\
     目录           0  2019-05-30 14:33  PdfToImage\PdfToImage\bin\Debug\
     文件     8032448  2018-07-26 11:07  PdfToImage\PdfToImage\bin\Debug\Microsoft.mshtml.dll
     文件       13824  2019-06-05 15:53  PdfToImage\PdfToImage\bin\Debug\PdfToImage.exe
     文件         189  2019-05-30 13:03  PdfToImage\PdfToImage\bin\Debug\PdfToImage.exe.config
     文件       28160  2019-06-05 15:53  PdfToImage\PdfToImage\bin\Debug\PdfToImage.pdb
     文件       55296  2018-07-19 15:40  PdfToImage\PdfToImage\bin\Debug\Spire.License.dll
............此处省略20个文件信息

评论

共有 条评论