首页

文章

html文件怎样打印

发布网友 发布时间:2022-04-20 01:53

我来回答

10个回答

懂视网 时间:2022-05-12 15:37

这篇文章介绍的内容是QT如何实现调用打印机来打印html中的网页及文件,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

工程里用到 QWebView,

所以要在.pro里加上 QT += webkit webkitwidgets
打印用到了 QPrinter,
所以要在.pro里加上 qtHaveModule(printsupport): QT += printsupport

直接附上源码吧,当然也是根据网上一些前辈的经验代码和实际使用情况改进而来:

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QTableWidget>
#include <QPainter>
#include <QtPrintSupport/QPrinter>
#include <QtPrintSupport/QPrintDialog>
#include <QFileInfo>
#include <windows.h>
#include <QFileDialog>
#include <QtPrintSupport/QPrintPreviewDialog>
#include <QtPrintSupport/QPageSetupDialog>
#include <fstream>
#include <iostream>
#include <sstream>
#include <QWebView>
namespace Ui {
class Widget;
}
class Widget : public QWidget
{
 Q_OBJECT
public: 
 explicit Widget(QWidget *parent = 0);
 ~Widget();
 
private slots:
 void on_pushButton_clicked(); 
 void printPreview(QPrinter *printer);
private:
 Ui::Widget *ui; 
 void doPrint(); 
 void doPrintPreview(); 
 void createPdf(); 
 void setUpPage(); 
 bool printFile(const QString & filePath);

};

实现:

#include "Widget.h"
#include "ui_Widget.h"

Widget::Widget(QWidget *parent) :
 QWidget(parent),
 ui(new Ui::Widget)
{
 ui->setupUi(this); //这里没用QFile文件读html文件,因为会使html网页中文成乱码
 QString strHtmltext; 
 std::string bufStr; 
 std::ifstream readFile;
 readFile.open("D:\qqq.html"); 
 if(readFile.is_open())
 { 
  while(getline(readFile, bufStr))
 {
  strHtmltext += QString(bufStr.data());
 }
 readFile.close();
 }
 ui->webView->setHtml(strHtmltext);

}

Widget::~Widget()
{ delete ui;
}//点击这里触发打印动作!
void Widget::on_pushButton_clicked()
{

 doPrint();
// doPrintPreview();
// printFile("D:/123.txt");
}

void Widget::doPrint()
{ 
 // 创建打印机对象
 QPrinter printer; 
 // 创建打印对话框
 QString printerName = printer.printerName(); 
 if( printerName.size() == 0) 
 return;
 QPrintDialog dlg(&printer, this);#if 0
 //如果编辑器中有选中区域,则打印选中区域
 if (ui->textEdit->textCursor().hasSelection())
 dlg.addEnabledOption(QAbstractPrintDialog::PrintSelection);
#endif
 // 如果在对话框中按下了打印按钮,则执行打印操作
// if (dlg.exec() == QDialog::Accepted)
 //这里使用默认打印机,不用每次选择打印机
 {
// ui->textEdit->print(&printer);
 ui->webView->print(&printer); 
 
 // print the existing document by absoult path
 // printFile("D:/myRSM.doc");
 }
}
// 打印预览void Widget::doPrintPreview()
{
 QPrinter printer; 
 // 创建打印预览对话框
 QPrintPreviewDialog preview(&printer, this); 
 // 当要生成预览页面时,发射paintRequested()信号
 connect(&preview, SIGNAL(paintRequested(QPrinter*)),this,SLOT(printPreview(QPrinter*)));
 preview.exec();
}

void Widget::printPreview(QPrinter *printer)
{
// ui->textEdit->print(printer);
 ui->webView->print(printer);
}

// 生成PDF文件
void Widget::createPdf()
{
 QString fileName = QFileDialog::getSaveFileName(this, tr("导出PDF文件"), QString(), "*.pdf"); 
 if (!fileName.isEmpty()) { 
 // 如果文件后缀为空,则默认使用.pdf
 if (QFileInfo(fileName).suffix().isEmpty())
  fileName.append(".pdf");
 QPrinter printer; 
 // 指定
输出格式为pdf printer.setOutputFormat(QPrinter::PdfFormat); printer.setOutputFileName(fileName); // ui->textEdit->print(&printer); ui->webView->print(&printer); } } // 页面设置void Widget::setUpPage() { QPrinter printer; QPageSetupDialog pageSetUpdlg(&printer, this); if (pageSetUpdlg.exec() == QDialog::Accepted) { printer.setOrientation(QPrinter::Landscape); } else { printer.setOrientation(QPrinter::Portrait); } } bool Widget::printFile(const QString & filePath) { // create a printer QPrinter printer; QString printerName = printer.printerName(); // no default printer or no file return false if( printerName.size() == 0 || filePath.size() == 0) return false; QFileInfo fi(filePath); if(!fi.exists()) return false; int ret = 0; //执行DOS命令调系统打印 ret = (int)ShellExecuteW(NULL, QString("print").toStdWString().c_str(), filePath.toStdWString().c_str(), NULL, NULL, SW_HIDE); // if return number bigger than 31 indicate succ if (ret > SE_ERR_NOASSOC) return true; return false; }


相关推荐:

HTML网页打印

使用JavaScript实现页面打印

热心网友 时间:2022-05-12 12:45

1、首先在电脑中找到HTML格式的网页文件,双击打开该文件。

2、然后在打开的网页文件右上角点击菜单按钮。

3、在打开的选项菜单中选择“工具”中的“打印”按钮。

4、即可进入打印页面,在其中可以设置打印的页码和份数,选择好打印机点击“打印”按钮即可。

热心网友 时间:2022-05-12 14:03

1、首先,我们打开我们的电脑,然后我们双击电脑桌面上的浏览器;

2、进入浏览器之后,我们打开一个网页文件,然后我们右击网页空白处;

3、弹出的界面,我们点击打印;

4、弹出的界面,我们需要选择我们连接的打印机,然后我们点击打印就可以打印文件了。

热心网友 时间:2022-05-12 15:38

需要准备的材料分别有:电脑、chrome浏览器、打印机。

1、首先,打开想要打印的html网页,例如:zhidao.baidu.com。

2、在网页中,鼠标右键空白处,点击打印按钮。

3、此时会弹出打印面板,点击“打印”按钮即可完成打印。

热心网友 时间:2022-05-12 17:29

浏览器打开HTML文件后,快捷键Ctrl+P就会弹出打印设置框,设置完后即可打印了

热心网友 时间:2022-05-12 19:37

<input type="button" value="打印" onclick="window.print();"/>
把这上面这段放到html内容中就可以了。追问这个具体怎么实施!请教!

追答我擦!!!

1.新建一个记事本.txt
2.把上面那两行放在记事本中保存
3.把这个记事本的后缀名.txt改成.html
4.再用IE打开这个文件,点打印按钮,这个时候就会弹出一个对话框要你选打印机,你选好后,打印鸡就会打印出 “我擦!!!”

热心网友 时间:2022-05-12 22:02

打开HTML文件,按Ctrl+P即可~

热心网友 时间:2022-05-13 00:43

打印这个html文件是么?
用ie打开,文件-》打印,或者Ctrl+P。

热心网友 时间:2022-05-13 03:41

用chrome浏览器打开然后右键打印先保存成pdf文件就可以打印了。

热心网友 时间:2022-05-13 06:56

一楼是对的。
华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 使用puppeteer实现将htmll转成pdf 内卷时代下的前端技术-使用JavaScript在浏览器中生成PDF文档 【译】将HTML转为PDF的几种实现方案 变形金刚08动画怎么样 变形金刚08动画的问题 变形金刚08动画日语版剧情介绍 高分!换显卡nvidia控制面板被我卸了,重新安装显卡驱动后没了nvidia控... 我的nvidia控制面板被卸载了 怎么找回啊 卸载后 这个画面看着很奇怪_百 ... 李卓彬工作简历 林少明工作简历 广东工业职业技术学院怎么样 郑德涛任职简历 唐新桂个人简历 土地入股的定义 ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 什么是体育理念 万里挑一算彩礼还是见面礼 绿萝扦插多少天后发芽 绿萝扦插多久发芽 扦插绿萝多久发芽 炖牛排骨的做法和配料 网络诈骗定罪标准揭秘 “流水不争先”是什么意思? mc中钻石装备怎么做 为什么我的MC里的钻石块是这样的?我想要那种。是不是版本的问题?如果是... 带“偷儿”的诗句 “君不见巴丘古城如培塿”的出处是哪里 带“奈何”的诗句大全(229句) 里翁行()拼音版、注音及读音 什么是h5,h5的场景制作工具有哪些? 开学第一课h5文档形式 h5页面制作工具有哪些 smap卫星 h5文件怎么打开 SMS软件中h5文件无法打开 我用object2vr生成的h5文件除了火狐和edge其他浏览... 移动端h5文件怎么在chrome打开进行调试 h5怎么在本地打开? H5文件怎么用R语言打开? 如何打开pacbio的h5文件 wpsH5做的文件能不能用word打开? 不坐班基本在家办公(SOHO),有哪些注意事项,多... 开了贸易公司,办公室基本不去,在家办公,违法吗 普华永道正式宣布:下月起全员在家办公,这是职场革... 你认为在家办公的利弊在哪里? 在家办公还是在公司办公你们觉得哪种方式好? 我应该不应该租办公室 创业了,一定要租办公室场地吗 对于自由职业者来说租办公室还是选择咖啡馆? 公司不提供办公场所,让员工回家办公是否合理? gsh5文件如何打开 patran h5文件是什么 3H5是什么文件 fluent不保存为.h5文件 swf文件需要用什么播放器打开? 怎样才能把hype生成h5文件全部发送出去并保证网页... 心电监护仪的操作流程是怎么样的? 通常使用心电监护仪时用几个电极?各个电极放在什... 心电监护仪的第一、二、三导联分别用哪些电极测量? 心电监护仪能监测哪些内容 什么情况用心电监护仪? 舒服的近义词是什么 舒服的反义词、同义词 舒服的反义词和近义词标准答案 舒服的近义词是什么反义词是什么 舒服的近反义词 舒服的反义词是什么近义词是什么 舒服的反义词和近义词 舒服的近义词和反义词 舒服的反义词是什么 舒服的近反词是什么
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com