IECapt、CutyCapt  生成网页快照

http://iecapt.sourceforge.net/

http://cutycapt.sourceforge.net/

1.以管理员身份 运行cmd.exe切换到 IECapt.exe  所在目录
例如:
输入:D:
输入:cd  D:\AppData\
输入截图命令:
输入:CutyCapt  --url=https://tieba.baidu.com/p/5217647622 --out=D:/1.jpeg --silent
输入:iecapt  --url=https://tieba.baidu.com/p/5217647622 --out=D:/1.jpeg --silent 
看下D:盘目录下是否存在

 

一下面是  c#代码:

#region CutyCapt
//Open a command prompt and ask for help:// % CutyCapt --help
// -----------------------------------------------------------------------------
// Usage: CutyCapt --url=http://www.example.org/ --out=localfile.png
// -----------------------------------------------------------------------------
//  --help Print this help page and exit
//  --url=< url > The URL to capture (http:...|file:...|...)
//  --out=<path>                   The target file (.png|pdf|ps|svg|jpeg|...)
//  --out-format=<f>               Like extension in --out, overrides heuristic
//  --min-width=<int>              Minimal width for the image (default: 800)
//  --min-height=<int>             Minimal height for the image (default: 600)
//  --max-wait=<ms>                Don't wait more than (default: 90000, inf: 0)
//  --delay=<ms>                   After successful load, wait (default: 0)
//  --user-style-path=<path>       Location of user style sheet file, if any
//  --user-style-string=<css>      User style rules specified as text
//  --header=<name>:<value>        request header; repeatable; some can't be set
//  --method=<get| post | put > Specifies the request method(default: get)
//  --body - string =< string > Unencoded request body(default: none)
//  --body - base64 =< base64 > Base64 - encoded request body(default: none)
//  --app - name =< name > appName used in User - Agent;
//   default is none
//  --app - version =< version > appVers used in User - Agent;
//   default is none
//  --user - agent =< string > Override the User-Agent header Qt would set
//  --javascript =< on | off > JavaScript execution(default: on)
//  --java =< on | off > Java execution(default: unknown)
//  --plugins =< on | off > Plugin execution(default: unknown)
//  --private-browsing=<on|off>    Private browsing(default: unknown)
//  --auto-load-images=<on|off>    Automatic image loading(default: on)
//  --js-can-open-windows=<on|off> Script can open windows? (default: unknown)
//  --js-can-access-clipboard=<on|off> Script clipboard privs(default: unknown)
//  --print-backgrounds=<on|off>   Backgrounds in PDF/PS output(default: off)
//  --zoom-factor=<float>          Page zoom factor(default: no zooming)
//  --zoom-text-only=<on|off>      Whether to zoom only the text(default: off)
//  --http-proxy=<url>             Address for HTTP proxy server(default: none)
// -----------------------------------------------------------------------------
//  <f> is svg,ps,pdf,itext,html,rtree,png,jpeg,mng,tiff,gif,bmp,ppm,xbm,xpm
// -----------------------------------------------------------------------------
// http://cutycapt.sf.net - (c) 2003-2013 Bjoern Hoehrmann - bjoern@hoehrmann.de
#endregion
#region IECapt
// Open a command prompt and ask for help:
//C:\> IECapt --help
// -----------------------------------------------------------------------------
// Usage: IECapt --url=http://www.example.org/ --out=localfile.png
// -----------------------------------------------------------------------------
//  --help                      Print this help page and exit
//  --url=<url>                 The URL to capture (http:...|file:...|...)
//  --out=<path>                The target file (.png|bmp|jpeg|emf|...)
//  --min-width=<int>           Minimal width for the image (default: 800)
//  --max-wait=<ms>             Don't wait more than (default: 90000, inf: 0)
//  --delay=<ms>                Wait after loading (e.g. for Flash; default: 0)
//  --silent                    Whether to surpress some dialogs
// -----------------------------------------------------------------------------
// http://iecapt.sf.net - (c) 2003-2008 Bjoern Hoehrmann - <bjoern@hoehrmann.de>"/>
#endregionusing System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Web;namespace Capt.Helper
{public class CaptHelper{/// <summary>/// 执行截图操作/// </summary>/// <param name="url">网页链接,example:"https://www.baidu.com/"</param> /// <returns></returns>public static ReturnResult<string> Execute(string url, IECaptOrCutyCapt type = IECaptOrCutyCapt.IECapt){if (string.IsNullOrEmpty(url)){return new ReturnResult<string>() { Msg = "url 为空" };}url = (url.IndexOf("http://", StringComparison.OrdinalIgnoreCase) > -1 ||url.IndexOf("https://", StringComparison.OrdinalIgnoreCase) > -1) ? url : "http://" + url;var path = AppDomain.CurrentDomain.BaseDirectory + "TempFiles\\Image";if (!Directory.Exists(path)){Directory.CreateDirectory(path);}string fileName = Guid.NewGuid().ToString("N") + ".png";string completePath = Path.Combine(path, fileName);var data = Execute(new CaptInfo() { Url = url, Out = completePath, CaptType = type });data.Data = completePath;return data;}/// <summary>/// 执行截图操作/// </summary>/// <param name="url"></param>/// <param name="path">物理路径,</param>/// <returns></returns>public static ReturnResult<string> Execute(string url, string path,IECaptOrCutyCapt type = IECaptOrCutyCapt.IECapt){if (string.IsNullOrEmpty(url)){return new ReturnResult<string>() { Msg = "url 为空" };}url = (url.IndexOf("http://", StringComparison.OrdinalIgnoreCase) > -1 ||url.IndexOf("https://", StringComparison.OrdinalIgnoreCase) > -1) ? url : "http://" + url;if (!Directory.Exists(path))Directory.CreateDirectory(path);string fileName = Guid.NewGuid().ToString("N") + ".png";string completePath = Path.Combine(path, fileName);var data = Execute(new CaptInfo() { Url = url, Out = completePath, CaptType = type });data.Data = completePath;return data;}/// <summary>/// 执行输出快照/// </summary>/// <param name="info">CaptInfo</param>/// <returns></returns>public static ReturnResult<string> Execute(CaptInfo info){string output = string.Empty;Stopwatch sw = Stopwatch.StartNew();string root = string.Empty;if (info.CaptType == IECaptOrCutyCapt.IECapt){root = AppDomain.CurrentDomain.BaseDirectory + @"Lib\\IECapt";if (!File.Exists(root + "\\IECapt.exe"))throw new FileNotFoundException("IECapt.exe file can't be found .");}else{root = AppDomain.CurrentDomain.BaseDirectory + @"Lib\\CutyCapt";if (!File.Exists(root + "\\CutyCapt.exe"))throw new FileNotFoundException("IECapt.exe file can't be found .");}using (var process = new Process()){try{process.StartInfo.WorkingDirectory = root;process.StartInfo.FileName = "cmd.exe";process.StartInfo.UseShellExecute = false;process.StartInfo.RedirectStandardInput = true;process.StartInfo.RedirectStandardOutput = true;process.StartInfo.CreateNoWindow = true;//process.StartInfo.CreateNoWindow = false;process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;process.Start();string value = string.Format(@"{0} --url={1} --out={2} --min-width={3} --max-wait={4} --delay={5} --silent",info.CaptType == IECaptOrCutyCapt.IECapt ? "iecapt" : "cutycapt", //输出方式info.Url,  //输入路径网站info.Out,   //输出
            info.Min_width,info.Max_wait,info.Delay);process.StandardInput.WriteLine(value);process.StandardInput.WriteLine("exit");process.WaitForExit(info.WaitForExitTime > 0 ? info.WaitForExitTime : 6000);output = process.StandardOutput.ReadToEnd();}catch (Exception ex){return new ReturnResult<string>(){Status = CaptStatus.ErrorException,Msg = "快照失败:" + ex.Message};}finally{sw.Stop();if (!process.HasExited){process.Kill();}process.Close();process.Dispose();}if (System.IO.File.Exists(info.Out)){return new ReturnResult<string>(){Status = CaptStatus.Success,QTime = sw.ElapsedMilliseconds,Msg = "快照生产成功:" + output};}else{return new ReturnResult<string>(){Status = CaptStatus.ErrorNotOutFile,Msg = "快照失败,文件不存在"};}}}}
}

View Code

源码地址:https://github.com/Sopcce/IECapt.Net

 

转载于:https://www.cnblogs.com/sopcce/p/IECapt-CutyCapt-generates-web-page-snapshots.html

IECapt、CutyCapt 生成网页快照相关推荐

  1. java iecapt.exe_【C#】NET截屏网页,生成网页快照开发——IECapt、CutyCapt

    软件介绍 IECapt.CutyCapt 生成网页快照 http://iecapt.sourceforge.net/ http://cutycapt.sourceforge.net/ ### 操作代码 ...

  2. JAVA线程根据给定URL生成网页快照

    最近项目中遇到这样一个需求,根据一个动态的URL来生成对应的网页快照.网上找了很多资料,最终采用如下方法解决. 生成原理:将动态URL的页面先生成HTML文件,然后再根据生成的HTML生成快照.生成的 ...

  3. php生成网页快照图片,PHP生成网页快照

    $url = 'http://www.baidu.com/'; //抓取百度 echo snapshot($url); //输出结果为图片地址 echo snapshot($url, './baidu ...

  4. 改变快照内容php,PHP生成网页快照 代码

    $url = 'www.baidu.com'; //抓取百度 echo snapshot($url); //输出结果为图片地址 echo snapshot($url, './baidu.png'); ...

  5. cutycapt php,PHP利用CutyCapt获取网页快照,抓取网页高清图片快照(教程)

    PHP利用CutyCapt获取网页快照,抓取网页高清图片快照(教程): // +------------------------------------------------------------ ...

  6. php 网页快照类,php根据url生成网页快照(CutyCapt.exe)

    /* 网页截图功能,必须安装IE+CutyCapt url:要截图的网页 out:图片保存路径 path:CutyCapt路径 cmd:CutyCapt执行命令 比如:http://你php路径.ph ...

  7. nodejs生成网页快照base64图片

    首先,npm install phantomjs-prebuilt --save-dev 这是在node上能够执行shell脚本的前置条件 若npm太慢可选择cnpm执行 定义接口 const chi ...

  8. .net mvc C#生成网页快照

    目标:调用某一网页,自动抓取整个页面为图片,并保存 public class WebSiteThumbnail{Bitmap m_Bitmap;string m_Url;public WebSiteT ...

  9. 网页快照快速生成、html生成图片接口(api)文档说明

    简要描述: 根据网页html代码,使用webkit内容渲染,生成网页快照图片,接口文档说明如下. DEMO应用地址:https://www.jsanai.com/htmltoimg.html 请求UR ...

最新文章

  1. python平稳性检验_时间序列预测基础教程系列(14)_如何判断时间序列数据是否是平稳的(Python)...
  2. python经典案例-Python3经典100例(①)
  3. canvas requestAnimationFrame 动画
  4. mysql8强制用户开启ssl_MySQL8开启ssl加密
  5. 1、solr包结构介绍,solrCore的安装配置,solr部署到Tomcat,多solrCore配置,配置中文分词器,界面功能介绍,Schema.xml的基本使用,数据导入
  6. 关于Mysql的错误:No query specified
  7. 多图技术贴:深入浅出解析大数据平台架构
  8. linux下java多线程_Linux系统下Java问题排查——cpu使用率过高或多线程锁问题
  9. 模拟时钟在LCD上的显示
  10. js面向对象插件的做法框架new goBuy('.cakeItem',{ add:'.add', reduce:'.reduce' },[1,0.7,0.6]);...
  11. 2、Zookeeper集群搭建、命令行Client操作
  12. IntelliJ IDEA使用技巧(三)——Debug 篇
  13. 360视频:旋转球面投影RSP
  14. Xposed插件 - Android一键脱壳工具
  15. 【bzoj4826】[Hnoi2017]影魔
  16. 布袋除尘器过滤风速多少_袋式除尘器过滤风速一般多大
  17. 评价一个产品好坏的简单准则:NPS
  18. HI3559算法移植之OpenCV图像拼接、配准和图像融合技术(三)
  19. 几十款收费软件现在免费了
  20. Golang之Channel详细介绍

热门文章

  1. 矩阵求导-YX拉伸术
  2. 火云开发课堂 - 《使用Cocos2d-x 开发3D游戏》系列 第九节:卡通渲染
  3. 使用VS Code五年后,我决定换回Pycharm
  4. 制作视频画中画 教你使用剪辑视频的软件同时制作多个视频
  5. Android中Settings.System的使用
  6. (9) iphone 开发 AppSettings , 系统setting与应用程序setting间的数据控制
  7. 华为od机考真题-快速人名查找
  8. UR机器人(1)-安装和设置
  9. Mac 安装 Python 多版本
  10. 看了下面的关于大亚湾核电站的一些报道,我终于明白为什么老弟在惠阳买的房子会这么便宜了