我正在为一些与使用 LibHaru 生成 PDF 相关的项目开发工作。我计划在特定区域中放置一些文本。我用过TextRect()
,但我在文字换行方面遇到了一些麻烦。
- 如果文本的宽度大于矩形的宽度,则矩形变为空白。我该如何摆脱它?
- 我尝试编写自己的文本换行或拆分字符串函数,该函数在特定数量的字符后添加空格,但即使在特定限制后似乎也失败了。有关文本换行功能的任何帮助。
- 如何计算适合矩形特定宽度的文本宽度?
以下是拆分字符串函数的代码片段:
void SplitString(int iLength, string strInput, string& strOutput)
{
int iSubstringsCnt;
int iAddedCnt;
iSubstringsCnt = strInput.length() / iLength;
iAddedCnt = iSubstringsCnt / iLength;
cout<<iSubstringsCnt<<endl;
cout<<iAddedCnt<<endl;
cout<<strInput.length()<<endl;
for (int iCnt = 0; iCnt <= iSubstringsCnt+ iAddedCnt; iCnt++)
{
if (0 == iCnt)
continue;
strInput.insert((iCnt * iLength)+(iCnt-1) , " ");
}
strOutput= strInput;
}
iLength
: 我想分割的长度。iAddedCnt
:在几个字符后添加空格后的字符串计数。