WX辣乎JY 2017-02-13 13:15 采纳率: 0%
浏览 3369

aspose.pdf 怎么只能转4页PDF?求指点

 /// <summary>
        /// 将pdf文档转换为图片的方法(该方法基于第三方DLL),你可以像这样调用该方法:
        /// ConvertPDF2Image("F:\\PdfFile.doc", "F:\\", "ImageFile", 1, 20, ImageFormat.Png, 256);
        /// </summary>
        /// <param name="pdfInputPath">Word文件路径</param>
        /// <param name="imageOutputPath">图片输出路径,如果为空,默认值为Word所在路径</param>
        /// <param name="imageName">图片的名字,不需要带扩展名,如果为空,默认值为Word的名称</param>
        /// <param name="startPageNum">从PDF文档的第几页开始转换,如果为0,默认值为1</param>
        /// <param name="endPageNum">从PDF文档的第几页开始停止转换,如果为0,默认值为Word总页数</param>
        /// <param name="imageFormat">设置所需图片格式,如果为null,默认格式为PNG</param>
        /// <param name="resolution">设置图片的像素,数字越大越清晰,如果为0,默认值为128,建议最大值不要超过1024</param>
        public static void ConvertPdfToImage(string wordInputPath, string imageOutputPath,
            string imageName, int startPageNum, int endPageNum, ImageFormat imageFormat, int resolution)
        {
            try
            {
                // open word file

                Aspose.Pdf.Document doc = new Aspose.Pdf.Document(wordInputPath);

                // validate parameter
                if (doc == null) { throw new Exception("Pdf文件无效或者Pdf文件被加密!"); }
                if (imageOutputPath.Trim().Length == 0) { imageOutputPath = Path.GetDirectoryName(wordInputPath); }
                if (!Directory.Exists(imageOutputPath)) { Directory.CreateDirectory(imageOutputPath); }
                if (imageName.Trim().Length == 0) { imageName = Path.GetFileNameWithoutExtension(wordInputPath); }
                if (startPageNum <= 0) { startPageNum = 1; }
                if (endPageNum > doc.Pages.Count || endPageNum <= 0) { endPageNum = doc.Pages.Count; }
                if (startPageNum > endPageNum) { int tempPageNum = startPageNum; startPageNum = endPageNum; endPageNum = startPageNum; }
                if (imageFormat == null) { imageFormat = ImageFormat.Png; }
                if (resolution <= 0) { resolution = 128; }

                //PdfSaveOptions pdfSaveOptions = new PdfSaveOptions();
                //pdfSaveOptions.SaveFormat= GetSaveFormat(imageFormat);

                ImageSaveOptions imageSaveOptions = new ImageSaveOptions(GetSaveFormat(imageFormat));

                imageSaveOptions.Resolution = resolution;

                // start to convert each page
                for (int i = startPageNum; i <= endPageNum; i++)
                {
                    imageSaveOptions.PageIndex = i - 1;

                    MemoryStream stream = new MemoryStream();
                    Aspose.Pdf.SaveOptions pdfSaveOptions = new Aspose.Pdf.PdfSaveOptions();
                    //Aspose.Pdf.Devices.Resolution reso = new Aspose.Pdf.Devices.Resolution(resolution);
                    Aspose.Pdf.Devices.PngDevice pngDevice = new Aspose.Pdf.Devices.PngDevice(990, 1400);

                    string strNumber;
                    if (i < 10)
                    {
                        strNumber = "0" + i.ToString();
                    }
                    else
                    {
                        strNumber = i.ToString();
                    }
                    pngDevice.Process(doc.Pages[i], Path.Combine(imageOutputPath, imageName) + "_" + strNumber + "." + imageFormat.ToString());
                    stream.Dispose();
                    //doc.Save(Path.Combine(imageOutputPath, imageName) + "_" + strNumber + "." + imageFormat.ToString(), pdfSaveOptions);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

Aspose.Pdf.Document doc = new Aspose.Pdf.Document(wordInputPath);调试的时候,发现刚进来到这里,doc.page.count是pdf的页数没毛病,但是doc.pages就只有4页。想不通。。其他代码都还没执行,第一行就这样,这是因为我的aspose是免费版的缘故吗?如果不是那可能是什么原因呢?刚刚接触Aspose和.net,所以来问问,大神help~~~

  • 写回答

5条回答 默认 最新

  • devmiao 2017-02-13 15:47
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 有卷积神经网络识别害虫的项目吗
  • ¥15 数据库数据成问号了,前台查询正常,数据库查询是?号
  • ¥15 算法使用了tf-idf,用手肘图确定k值确定不了,第四轮廓系数又太小才有0.006088746097507285,如何解决?(相关搜索:数据处理)
  • ¥15 彩灯控制电路,会的加我QQ1482956179
  • ¥200 相机拍直接转存到电脑上 立拍立穿无线局域网传
  • ¥15 (关键词-电路设计)
  • ¥15 如何解决MIPS计算是否溢出
  • ¥15 vue中我代理了iframe,iframe却走的是路由,没有显示该显示的网站,这个该如何处理
  • ¥15 操作系统相关算法中while();的含义
  • ¥15 CNVcaller安装后无法找到文件