根据man页面pbpaste,
-Prefer {txt | rtf | ps}
tells pbpaste what type of data to look for in the pasteboard
first. As stated above, pbpaste normally looks first for plain
text data; however, by specifying -Prefer ps you can tell
pbpaste to look first for Encapsulated PostScript. If you spec-
ify -Prefer rtf, pbpaste looks first for Rich Text format. In
any case, pbpaste looks for the other formats if the preferred
one is not found. The …Run Code Online (Sandbox Code Playgroud) 我正在寻找一个简单的C++库来标记和解析RTF(富文本格式)文件.我打算用Qt的QTextEdit编辑它们.
格式化越多越好 - 但实际上我只打算使用Bold和Italics.
在perl中我会使用RTF :: Tokenizer.
如果模块也有一些用于写入的接口,那将是很好的,但我能够用模板和一些正则表达式来强制执行...... :)
谢谢.
我正在尝试"重置"我的RichTextBox格式(WinForms,而不是WPF).我以前用过
richTextBox.Text = richTextBox.Text;
Run Code Online (Sandbox Code Playgroud)
然而,这似乎突然让我失望了.现在无论我设置什么richTextBox.Text,它都保留了一些rtf格式.
我试过了
richTextBox.Rtf = richTextBox.Text;
Run Code Online (Sandbox Code Playgroud)
但是,抱怨格式不正确.必须有一个更好的方法来做到这一点.(当然,选择整个事物,然后重置背面颜色,前颜色和字体工作,但这会导致闪烁,因为选择整个事物然后取消选择,加上它更慢并且需要更多代码.)任何人都有任何的想法?
编辑:我已经得到了这个工作:
string tempTxt = richTextBox.Text;
richTextBox.Clear();
richTextBox.Text = tempTxt;
Run Code Online (Sandbox Code Playgroud)
但必须有更好的方法,对吗?
编辑2:要清楚,我希望在保留文本的同时删除所有格式.看起来第一次编辑中的代码将会发布,除非其他人有更高效/更好的编码方式.
编辑3:
richTextBox.Text = richTextBox.Text.ToString();
Run Code Online (Sandbox Code Playgroud)
似乎没有用,因为它仍然无法清除所有格式.我不喜欢上面第一个编辑中的方法的原因是,当文本框清除它然后重新输入文本时,它会使文本框"闪烁".看起来应该只是一个richTextBox.ResetFormatting()方法,或者某种方式来访问相同的功能,因为Clear()方法清楚(没有双关语)除了简单地清除所有文本之外还会进行某种格式化重置.
总结一下:
是否有一种方法(如果是这样,是什么)重置RichTextBox中文本的格式而不清除上面示例中的文本(因为这会产生不希望的闪烁)?
我们有一些代码可以从RTF模板生成RTF文档.它基本上是在RTF文件中进行字符串搜索和替换特殊标记.这可以通过网页访问.
通常,处理时间非常快.
但是,我们需要在模板中嵌入图像.我们一直使用Word的"插入/图片/来自文件..."功能将这些作为JPEG图像嵌入.但我们发现生成的RTF文件大小在很大程度上取决于图像.
例如,我插入了一个20k JPEG徽标(基本上是带有一些文本的纯色背景).RTF文件的大小从大约390k(没有图像)增加到510k(带图像).
然后我们插入了一个包含截图的JPEG,即图像包含文本,多种颜色等.JPEG约为150k.使用此图像,RTF文件的大小从390k增加到3.5MB.
因此,Word用于将图像存储到RTF中的编码不会线性执行.我猜它取决于JPEG图像中的内容.
我需要将RTF模板的大小保持在最低限度,以尽量减少文件处理时间.
提前致谢.
我需要在RTF文件中创建一个表.但是我不熟悉RΤF.以下是这些RTF文件应替换的文本文件示例:
GENERAL JOURNAL
Page 1
Date Description Post Ref Debit Credit
------------------------------------------------------------------------------
2011
Dec 1 Utilities Expense 512 250.00
Cash 111 250.00
Paid electric bill for November,
Check No. 1234
2 Cash 111 35.00
Accounts Receivable / Customer Name 115/? 30.00
Interest Income 412 5.00
Receipt of payment on account
from Customer, Check No. 5678
. . .
Run Code Online (Sandbox Code Playgroud)
该表应该有边框,但我不知道如何做到这一点.有些单元格底部必须有特殊边框,如下所示:
Company Name
Schedule of Accounts Receivable
December 31, 2011
Name Balance
------------------------------------------------------------------------------
Adams, John 354.24
Jefferson, Thomas 58.35
Washington, George 754.58 …Run Code Online (Sandbox Code Playgroud) 我有一个RTF文件,我希望在用户输入替换标签后在网页中显示.
我希望能够显示RTF文件,而不必在显示之前将其转换为某些内容.
每次我尝试它现在它给我弹出打开/保存框,即使我告诉它显示内联:
header("Content-type: application/msword");
header("Content-Disposition: inline; filename=mark.rtf");
header("Content-length: " . strlen($output));
echo $output;
Run Code Online (Sandbox Code Playgroud) 题
如何将字符串"Européen"转换为RTF格式的字符串"Europ \'e9en"?
[TestMethod]
public void Convert_A_Word_To_Rtf()
{
// Arrange
string word = "Européen";
string expected = "Europ\'e9en";
string actual = string.Empty;
// Act
// actual = ... // How?
// Assert
Assert.AreEqual(expected, actual);
}
Run Code Online (Sandbox Code Playgroud)
到目前为止我发现了什么
RichTextBox的
RichTextBox可用于某些事情.例:
RichTextBox richTextBox = new RichTextBox();
richTextBox.Text = "Européen";
string rtfFormattedString = richTextBox.Rtf;
Run Code Online (Sandbox Code Playgroud)
但是rtfFormattedString原来是整个RTF格式的文档,而不仅仅是字符串"Europ \'e9en".
堆栈溢出
谷歌
我还在网上找到了一堆其他资源,但没有解决我的问题.
回答
不得不添加Trim()删除前面的空格result.除此之外,Brad Christie的解决方案似乎也有效.
我现在将使用这个解决方案,即使我有一个糟糕的直觉,因为我们必须使用SubString并修剪RichTextBox以获得RTF格式的字符串.
测试用例:
[TestMethod]
public void Test_To_Verify_Brad_Christies_Stackoverflow_Answer()
{
Assert.AreEqual(@"Europ\'e9en", "Européen".ConvertToRtf());
Assert.AreEqual(@"d\'e9finitif", "définitif".ConvertToRtf());
Assert.AreEqual(@"\'e0", …Run Code Online (Sandbox Code Playgroud) 我正在寻找一种方法将HTML文本转换为RTF字符串.是否有任何图书馆可以完成这项工作.我在项目中动态获取html内容,需要以RTF格式呈现.我正在使用HTML解析器将HTML文本转换为普通字符串,然后尝试使用PyRTF转换为RTF格式.有没有更好的方法可以做到这一点.谢谢你提前.
如何在UNIX/OSX下使用命令行工具将RTF(例如从stdin)转换为Markdown.
我正在寻找类似的东西pandoc.但是,pandoc它本身不允许RTF作为输入格式.:-(所以,我会很高兴使用类似的工具pandoc或指向外部RTF阅读器的指针pandoc.
我有以下代码将rtf文本转换为html:
private string RtfToHtml(string rtf)
{
IRtfDocument rtfDocument = RtfInterpreterTool.BuildDoc(rtf);
RtfHtmlConverter htmlConverter = new RtfHtmlConverter(rtfDocument);
return htmlConverter.Convert();
}
Run Code Online (Sandbox Code Playgroud)
如果我的rtf文本包含Html表,例如:
{\*\htmltag96 <table cellspacing="0" border="0" width="600">}\htmlrtf {\pard\plain \f0\fs24 \htmlrtf0
Run Code Online (Sandbox Code Playgroud)
它们将在生成的html文本中删除.我该如何保存这些?
但是,表中的任何文本或详细信息仍然存在,这会导致html文本由于缺少表而无法正确格式化.
rtf ×10
c# ×3
macos ×2
applescript ×1
c++ ×1
converter ×1
document ×1
html ×1
html-parsing ×1
image ×1
java ×1
markdown ×1
parsing ×1
pasteboard ×1
performance ×1
php ×1
python ×1
qt ×1
richtext ×1
richtextbox ×1
unix ×1
winforms ×1