手机浏览器上的付费文件怎么下载?

手机浏览器上的付费文件怎么下载?,第1张

展开快讯
登录
首页
专栏
问答
沙龙
团队主页
TVP
返回腾讯云官网
付费文档不能复制怎么办?教你一套神 *** 作,3秒轻松下载
网上找资料最让人头疼的就是资料收费,那么如何才能在收费网站上,免费下载文档或者PDF呢?今天就来教你一套神 *** 作,3秒轻松下载。
一、电脑端
1、平时我们在电脑上查阅资料,假如你在某丁上看到了一个非常适合自己参考的素材,右击鼠标发现没有复制这个选项,如果点击下载,又会d出付费窗口。
2、这些我们都可以忽略掉,在屏幕上方找到这个页面的网址,在这串网址中的docin后面输入数字365,然后直接点击回车。
3、接着将跳转到文档解析工具页面,现在需要输入口令才行,点击下方蓝色字体口令获取就能看到口令啦,输入口令后点击下载就可以啦。
二、手机端
如果我们使用的是手机,遇到付费的文档,也是有办法提取出来的,只要准备一款迅捷PDF转换器即可,下面就以苹果手机为例。
1、进入到Safari浏览器中,打开一篇付费文稿,点击屏幕下方的分享按钮,将从底部出现d窗,找到蓝色字体选项,将发送形式给为PDF。
2、这时我们已经将当前页面内容,转变为PDF文稿了,点击储存到文件这个选项,然后选择一个文件夹,点击储存,PDF文稿就会保存在这里了。
3、回到手机桌面,打开PDF转换器,在首页中选择PDF转TXT功能,进入后点击浏览,在手机中找到之前保存的PDF文件路径。
4、直接点击PDF文稿,就可以进入文件转换中,稍等5秒左右就能完成转换,当转换完成后我们可以直接预览,也可以在文件库查找,文稿就能随意复制

覆盖了无法恢复的,不过先用软件扫描看看是否损坏,你可以用 全能文件恢复。这是目前最佳的中文数据恢复工具,数据丢失是无法避免的,但是数据丢失了也别怕,可以通过数据恢复软件来找回的。在此建议用专业性的数据恢复工具,这是在确保数据未遭破坏的前提下,能完整有效的找回数据的有力保障。

登录
首页
学习
实践
活动
专区
工具
TVP
返回腾讯云官网
全栈程序员站长
551K 篇文章
关注
写字板(Windows程序设计)
2022-09-06 09:52:05阅读 1730
大家好,又见面了,我是你们的朋友全栈君。
前言
c# 正编译生成debug,exe等文件,同样也可以通过exe反编译生成相对应的文件,一劳永逸,任君选择(`・ω・´) (我们老师为了给我们看要求效果给了我们一个半成品exe,cv工程师上线了,真为所欲为)
问题描述
验证简易相册程序的实现(不需要写入报告)
设计一个类似Windows写字板的程序,使其具有以下功能:
提供基本的写字板功能,如文件的打开,保存,支持txt、rtf;
实现多格式的文本的编辑、修饰等,均有相应的菜单来控制,常用的菜单项配备相应的工具栏按钮(可参照Windows自带的写字板)
按需添加其他的代码,如窗口的布局等;
实现自定义的查找对话框,有能力的同学可进一步实现替换/全文替换等功能
状态栏中显示学生学号、姓名等信息,在窗口的标题中显示当前正在编辑的文件名
(可选)其他你觉得实用的功能:如支持word等
(可选)将其改造成MDI程序:父窗口中包含新建、窗口、帮助等菜单;在运行时,子窗口的菜单会与其合并,合理设置各菜单项的MergeIndex/MergeAction属性,使其符合我们的使用习惯;编程允许用户调整各自窗口间的布局关系(平铺、层叠等)等
先看效果
解决方法
richtextbox
用richtextbox是一个类似写字板的一个控件,能满足rtf,txt等格式,如果要满足doc文档,去百度MicrosoftOfficeInteropWorddll,下载并引用,打开保存代码如下(其中saveName为文件名)
/// <summary>
/// 打开文档 *** 作
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void 打开OToolStripMenuItem_Click(object sender, EventArgs e)
{
openFileDialog1InitialDirectory = "C:\\";
openFileDialog1Filter = "rtf 文件|rtf|txt 文件|txt|doc files|doc";
if (openFileDialog1ShowDialog() != DialogResultOK)
return;
saveName = openFileDialog1FileName;
if (openFileDialog1FilterIndex == 1)
richTextBox1LoadFile(saveName);
else if (openFileDialog1FilterIndex == 2)
richTextBox1LoadFile(saveName, RichTextBoxStreamTypePlainText);
else
OpenWord(saveName);
Text = saveName;
}
public void 父窗体打开Open(WritingBoard writingBoard)
{
writingBoardopenFileDialog1InitialDirectory = "C:\\";
writingBoardopenFileDialog1Filter = "rtf 文件|rtf|txt 文件|txt|doc files|doc";
if (writingBoardopenFileDialog1ShowDialog() != DialogResultOK)
return;
saveName = writingBoardopenFileDialog1FileName;
if (writingBoardopenFileDialog1FilterIndex == 1)
writingBoardrichTextBox1LoadFile(saveName);
else if (writingBoardopenFileDialog1FilterIndex == 2)
writingBoardrichTextBox1LoadFile(saveName, RichTextBoxStreamTypePlainText);
else
OpenWord(saveName);
writingBoardText = saveName;
return;
}
public void OpenWord(string fileName)
{
ApplicationClass applicationClass = new ApplicationClass();
Document document = null;
object obj = MissingValue;
object FileName = fileName;
object ReadOnly = false;
object Visible = true;
try
{
document = applicationClassDocumentsOpen(ref FileName, ref obj, ref ReadOnly, ref obj, ref obj, ref obj, ref obj, ref obj, ref obj, ref obj, ref obj, ref Visible, ref obj, ref obj, ref obj, ref obj);
documentActiveWindowSelectionWholeStory();
documentActiveWindowSelectionCopy();
richTextBox1Paste();
}
finally
{
documentClose(ref obj, ref obj, ref obj);
applicationClassQuit(ref obj, ref obj, ref obj);
}
}
/// <summary>
/// 保存 *** 作
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void 保存SToolStripMenuItem_Click(object sender, EventArgs e)
{
if (saveName != "")
{
richTextBox1SaveFile(saveName, RichTextBoxStreamTypeRichText);
}
else
{
saveFileDialog1Filter = "rtf files|rtf";
if (saveFileDialog1ShowDialog() == DialogResultOK)
{
saveName = saveFileDialog1FileName;
richTextBox1SaveFile(saveName, RichTextBoxStreamTypeRichText);
}
}
}
/// <summary>
/// 另存为 *** 作
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void 另存为AToolStripMenuItem_Click(object sender, EventArgs e)
{
saveFileDialog1FileName = saveNameSubstring(saveNameLastIndexOf('\\') + 1);
saveFileDialog1Filter = "rtf files|rtf|txt files|txt|doc files|doc";
saveFileDialog1AddExtension = true;
if (saveFileDialog1ShowDialog() != DialogResultOK)
return;
saveName = saveFileDialog1FileName;
if (saveFileDialog1FilterIndex == 1)
richTextBox1SaveFile(saveName, RichTextBoxStreamTypeRichText);
else if (saveFileDialog1FilterIndex == 2)
richTextBox1SaveFile(saveName, RichTextBoxStreamTypePlainText);
else
SaveAsWord(saveName);
}
public void SaveAsWord(string fileName)
{
ApplicationClass applicationClass = new ApplicationClass();
Document document = null;
object obj = MissingValue;
object FileName = fileName;
try
{
document = applicationClassDocumentsAdd(ref obj, ref obj, ref obj, ref obj);
documentActiveWindowSelectionWholeStory();
richTextBox1SelectAll();
ClipboardSetData(DataFormatsRtf, richTextBox1SelectedRtf);
documentActiveWindowSelectionPaste();
documentSaveAs(ref FileName, ref obj, ref obj, ref obj, ref obj, ref obj, ref obj, ref obj, ref obj, ref obj, ref obj, ref obj, ref obj, ref obj, ref obj, ref obj);
}
finally
{
documentClose(ref obj, ref obj, ref obj);
applicationClassQuit(ref obj, ref obj, ref obj);
}
}
/// <summary>
/// 新建 *** 作
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void 新建NToolStripMenuItem_Click(object sender, EventArgs e)
{
richTextBox1Clear();
saveName = "";
}
复制
写字板 *** 作设置
其他一系列doc加粗,倾斜,下划线,左中右对齐,字体型号颜色,查找(大小写,全字,正逆),其实本质上来说都是对richtextbox的一些属性的修改,注意多用DropDownOpening,DropDownItemClicked等 *** 作代替Click,使代码更加精简高效
  这是一个MDI调整子窗体使用DropDownItemClicked的例子,高效优雅 = v =
private void 窗口WToolStripMenuItem_DropDownItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
string layout=eClickedItemText;
switch(layout)
{
case "水平平铺": LayoutMdi(MdiLayoutTileHorizontal);break;
case "垂直平铺": LayoutMdi(MdiLayoutTileVertical); break;
case "层叠": LayoutMdi(MdiLayoutCascade); break;
}
}
复制
MDI的使用,是为了让一个父窗体拥有许多个子窗体,进行更加简单有效的 *** 作
在父窗体new子窗体就行,记得一系列基本 *** 作,你也可以通过生成函数和属性进行快速高效设置
private void 新建ToolStripMenuItem_Click(object sender, EventArgs e)
{
WritingBoard writingBoard = new WritingBoard();
writingBoardTopLevel = false;
writingBoardMdiParent = this;
writingBoardShow();
}
private void 打开ToolStripMenuItem_Click(object sender, EventArgs e)
{
WritingBoard writingBoard = new WritingBoard();
writingBoardTopLevel = false;
writingBoardMdiParent = this;
writingBoard父窗体打开Open(writingBoard);
writingBoardShow();
}
private void 退出ToolStripMenuItem_Click(object sender, EventArgs e)
{
foreach (WritingBoard writingBoard in MdiChildren) writingBoardClose();
ApplicationExit();
}
private void 窗口WToolStripMenuItem_DropDownItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
string layout=eClickedItemText;
switch(layout)
{
case "水平平铺": LayoutMdi(MdiLayoutTileHorizontal);break;
case "垂直平铺": LayoutMdi(MdiLayoutTileVertical); break;
case "层叠": LayoutMdi(MdiLayoutCascade); break;
}
}
复制
源码附上
传送门,我设置了分支,这样我就可以把不同内容相同属性的代码放在一起了,同时也可以拥有不同的md可以阅读,对于git 的整理也是不错的(`・ω・´)
发布者:全栈程序员栈长,转载请注明出处:>可以试试这个方法:package cnitcastbosutils;
import javaioIOException;
import javanetURLEncoder;
import sunmiscBASE64Encoder;
public class FileUtils {
/
下载文件时,针对不同浏览器,进行附件名的编码

@param filename
下载文件名
@param agent
客户端浏览器
@return 编码后的下载附件名
@throws IOException
/
public static String encodeDownloadFilename(String filename, String agent)
throws IOException {
if (agentcontains("Firefox")) { // 火狐浏览器
filename = "=UTF-8B"
+ new BASE64Encoder()encode(filenamegetBytes("utf-8"))
+ "=";
filename = filenamereplaceAll("\r\n", "");
} else { // IE及其他浏览器
filename = URLEncoderencode(filename, "utf-8");
filename = filenamereplace("+"," ");
}
return filename;
}
}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/13215119.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-21
下一篇 2023-06-21

发表评论

登录后才能评论

评论列表(0条)

保存