有什么做户外活动的网站吗,wordpress获取指定id分类名称,软件开发工程师的发展前景,自媒体网站建设论文背景#xff1a;看书的时候经常遇到英文pdf#xff0c;没有合适的翻译软件可以快速翻译全书。这里提供一个解决方案。 Step 1
打开英文pdfCTRLA全选文字CTRLC复制打开记事本CTRLV复制保存为data.txt
Step 2
写一个C脚本
// ToolPdf2Html.cpp : 此文件包含 main看书的时候经常遇到英文pdf没有合适的翻译软件可以快速翻译全书。这里提供一个解决方案。 Step 1
打开英文pdfCTRLA全选文字CTRLC复制打开记事本CTRLV复制保存为data.txt
Step 2
写一个C脚本
// ToolPdf2Html.cpp : 此文件包含 main 函数。程序执行将在此处开始并结束。
//#include iostream
#include cstring
#include vector
#include unordered_map
#include fstream
#include iostream
#include sstream
#include windows.h//pdf-txt-html (edge translate)
static void ReadFileContentsByte(std::string filename, std::vectorchar data)
{std::fstream fin;fin.open(filename, std::ios::in | std::ios::binary);if (!fin.is_open()){return;}//const int LENGTH 1000;fin.seekg(0, std::ios::end);long int size fin.tellg();fin.seekg(0, std::ios::beg);data.resize(size, 0);char temp;long i 0;while ((temp fin.get()) ! EOF){//str.push_back((char)temp);if (i size) {std::cout i / size std::endl;exit(0);}data[i] temp;i;//std::cout (byte)temp;}fin.close();
}static void ReadFileContentsLines(std::string filename, std::vectorstd::string data)
{std::fstream fin;fin.open(filename, std::ios::in | std::ios::binary);if (!fin.is_open()){return;}std::string line;while (std::getline(fin, line)){data.push_back(line);}fin.close();
}static void WriteFileContentsByte(std::string filename, std::string data)
{std::fstream fout;fout.open(filename, std::ios::out);if (!fout.is_open()){std::cout no open file filename std::endl;return;}fout data;fout.close();
}static std::string Number2Stri(int value)
{std::string str;std::stringstream ss;ss value;ss str;return str;
}int main(int argc, char *argv[])
{std::cout Hello World!\n;std::string filepath data.txt;if (argc 1) {filepath argv[1];}std::cout filepath filepath.c_str() std::endl;std::vectorstd::string data;ReadFileContentsLines(filepath, data);std::cout data.size data.size() std::endl;//每100行分割成一个htmlstd::string htmlHead !DOCTYPE html\nhtml\nhead\nmeta charset \utf-8\\ntitleThe C Programming Language/title\n/head\nbody\n;std::string htmlEnd /body /html;std::string htmlPrevious br/br/a href\a.hmtl\上一个/a;std::string htmlNext a href\a.hmtl\下一个/a;int len data.size();std::string output htmlHead;WIN32_FIND_DATA findData;HANDLE hFind FindFirstFile(Loutput\\*, findData);if (hFind INVALID_HANDLE_VALUE) {std::cout 文件夹不存在 std::endl;if (CreateDirectory(Loutput, NULL)) {std::cout 文件夹创建成功 std::endl;}else {std::cout 文件夹创建失败错误代码 GetLastError() std::endl;}}else {FindClose(hFind);std::cout 文件夹存在 std::endl;}const int singleLen 50;for (int i 0; i len; i) {//std::cout i : data[i] std::endl;if (i ! 0 i % singleLen 0) { { //saveint index i / singleLen;//test//if (index 10) {// break;//}if (index 1) {}else {output br/br/a href\index Number2Stri((i - 1) / singleLen) .html\Previous/a ;}output Number2Stri(i / singleLen);if ((index 1) * singleLen len) {}else {output a href\index Number2Stri(index 1) .html\Next/a;}output htmlEnd;std::string filep output/index Number2Stri(index) .html;std::cout write to filep.c_str() std::endl;// std::cout output to output.c_str() std::endl;WriteFileContentsByte(filep, output);output htmlHead;}}output data[i] br/;}std::cout finish. std::endl;
}
脚本会读入data.txt按行处理每50行生成一个html命令行运行脚本
ToolPdf2Html.exe data.txt在output文件夹下生成一堆html
Step 3
用微软的Edge浏览器打开html浏览器自动翻译英文 通过上一页和下一页翻页