繁体   English   中英

如何使用Java准确地写一页文本?

[英]How do I write exactly one page of text with java?

在我正在从事的项目中,我正在处理大量文本。 我编写的代码使用两种不同语言的文本,然后用句子将所有文本对齐,然后将所有内容都写到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();
        }
    }
}

页面的概念在以ASCII或UTF8编码的文本文件中不存在。

如果使用的是页面概念(例如word)存在的输出格式,则必须知道此输出格式的内部内容才能知道何时编写页面。 正如@ Starscream1984在评论中所说,例如,这取决于诸如边距和字体大小之类的格式。

您最好将文本拆分成可以很好地布局为表中两列的段落。 然后,您可以将其粘贴到单词中,无论页面大小或格式如何,段落以及整个故事都将与整本书的译文保持一致。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM