【发布时间】:2014-04-03 12:58:31
【问题描述】:
在我正在处理的项目中,我正在处理大量文本。 我编写的代码从两种不同的语言中获取文本,然后句子对齐所有文本,然后我将所有内容写入 HTML 文件。
这是示例输出:
<html>
<head>
<meta charset="utf-8"/>
</head>
<body>
<table>
<tr>
<td>
<p>
ALICE'S ADVENTURES IN WONDERLAND
</p>
</td>
<td>
<p>
Alice no País das Maravilhas
</p>
</td>
</tr>
<tr>
<td>
<p>
Lewis Carroll
</p>
</td>
<td>
<p>
Lewis Carroll
</p>
</td>
</tr>
现在我想把它转换成电子书,但我必须将文本分成各自的页面,但我想确保语言仍然一致。有没有办法让我知道我何时写了一页文本,以便我可以切换并开始用另一种语言写文本。我一直在尝试以编程方式执行此操作,但我无法弄清楚。
以下是我用来制作 html 文件的代码:
public String makePage(ArrayList<ArrayList<String>> content)
{
this.openHtml()
.openHead()
.closeHead()
.openBody()
.openTable();
for(int i=0;i<content.get(0).size(); i++)
{
this.openTR()
.openTD()
.openP()
.addContent(content.get(0).get(i))
.closeP()
.closeTD()
.openTD()
.openP()
.addContent(content.get(1).get(i))
.closeP()
.closeTD()
.closeTR();
}
this.closeTable()
.closeBody()
.closeHtml();
return this.page;
}
以下是我用来编写文件的代码:
public void writeFile(String stringToWrite, String nameOfFile)
{
this.bw = IOFactory.buildIOBufferedWriter(nameOfFile);
try
{
this.bw.getBufferedWriter().write(stringToWrite);
this.bw.getBufferedWriter().newLine();
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
try
{
this.bw.getBufferedWriter().flush();
this.bw.getBufferedWriter().close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
【问题讨论】:
-
@ManuelSelva 我正在使用我正在生成的 html 并将所有内容放入一个 word 文件中。所以微软 word 中的一页。
-
好的,请更新您的问题。
-
适合页面的数量因页边距和字体大小等格式而有很大差异
-
@Starscream1984 我的意思是,如果我保持所有这些事情不变,我怎么知道何时更改语言。我可以在每写 10 个“tr”后简单地更改语言,但随后我会得到诸如葡萄牙语和英语混合的页面之类的东西。
-
查看我的答案,了解随着故事的进展在每个页面上排列两种语言的方式