PDF文档翻译助手

本文介绍了一种解决PDF文档翻译难题的方法,通过C#编写应用程序去除文本中不当的换行符,改善翻译软件的输入质量,从而提高翻译准确性。文章详细展示了使用正则表达式进行文本预处理的过程,并介绍了如何调用百度翻译API实现多段落文本的自动翻译。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

工作中有大量的英文文档要翻译,都是PDF格式的。试了下网易等公司的PDF翻译功能,出来的东西实在没法用。

简单测试一下发现,翻译效果差的原因是这堆PDF文档每一行后面都跟了一个换行符。去掉这些换行符,翻译软件们就认识这几行是一句话,翻译出来就像样了。

因此要做的事情很简单,C#写个小APP,把黏贴进来的PDF文本用正则表达式把不是句号后面的换行符都替换成空格。因为句号后面的换行符一般是另起一个自然段。核心代码就下面三行。

            string needTrans = inputText.Text;
            Regex reg = new Regex(@"(?<!\.)\r\n");
            string tmp= tongyongfanyi( reg.Replace(needTrans, " "));

然后就是从app端调用百度翻译API。这个上https://api.fanyi.baidu.com/doc/11照着范例来就好。拿到的结果是JSON的,以前没处理过。装Newtonsoft.Json包。

public class baiduTrans
{
    public string src { get; set; }
    public string dst { get; set; }
}
public class baiduResponse
{
    public string from { get; set; }
    public string to { get; set; }
    public IList<baiduTrans> trans_result { get; set; }
}
#以上为定义部分,下面是翻译函数中的调用部分
string tmp= tongyongfanyi( reg.Replace(needTrans, " "));#tmp为百度返回的翻译结果字符串
baiduResponse br= JsonConvert.DeserializeObject<baiduResponse>(tmp);
string res="";
foreach (baiduTrans bt in br.trans_result)
{
     res += bt.dst+"\r\n";
}
outputText.Text = res;#输出最终所有自然段翻译结果

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值