我试图筛选Word文档并完成一些快速的语法检查。我目前有使用python-docx将文档拆分为单词的代码,然后根据特定条件对单词/句子进行语法检查。然后,我使用.add_run函数将正确的语法放回到文档中。 我遇到的问题是当我将正确的语法重新粘贴到文档中时,它没有保存字体样式(粗体和斜体),因此当我粘贴单词时,它只是显示为文本,而没有粗体和斜体当我想保留它时。 我的问题是,python中是否有任何方法(使用python-docx或任何其他软件包)保存每个单词的字体详细信息(主要是粗体和斜体),以便我可以相应地使用代码对单词进行粗体或斜体?
我已经尝试过将.style函数用于段落和运行,但是出现的问题是,每个段落的样式不清楚加粗和斜体的内容,并且我不想粘贴整个段落,只是错误的字眼。 我也尝试过为每次运行查看.style,但是它是不可靠的,因为运行通常会在不应该的情况下将一个单词分成2个。 (即使没有任何样式更改,“ Mario”也可能会变成两个不同的运行“ M”和“ ario”。)
我还尝试查看其他软件包,但没有发现任何帮助。
如果输入的内容是“ Stack Overflow是专业和发烧级程序员的问答网站。”(“ question”和“ answer”为粗体和斜体), 预期的输出是用“ question”和“ answer”粗体和斜体字表示的同一句子
实际输出是相同的句子,但其中没有任何粗体或斜体。
答案 0 :(得分:0)
这在一般情况下是一个具有挑战性的问题:
echo Html::button('multiple', ['class' => 'btn btn-info', 'id' => 'multi']);
echo Html::button('single', ['class' => 'btn btn-info', 'id' => 'single']);
因此,您可以轻松完成工作。一般情况下的解决方案可能每个单词都有一个$js = <<<JS
var element=$("#clubs");
$('#multi').on('click',function(e){
//reset select2 values if previously selected
element.val(null).trigger('change');
//get plugin options
let dataSelect = eval(element.data('krajee-select2'));
//get kartik-select2 options
let krajeeOptions = element.data('s2-options');
//add your options
dataSelect.multiple=true;
//apply select2 options and load select2 again
$.when(element.select2(dataSelect)).done(initS2Loading("clubs", krajeeOptions));
});
$('#single').on('click',function(e){
element.val(null).trigger('change');
let dataSelect = eval(element.data('krajee-select2'));
let krajeeOptions = element.data('s2-options');
dataSelect.multiple=false;
$.when(element.select2(dataSelect)).done(initS2Loading("clubs", krajeeOptions));
});
JS;
$this->registerJs($js, \yii\web\View::POS_READY);
对象,每个单词都有一个a sequence of five r|uns could ab|so|lut|ely be split like this"
元组序列,通过适当的处理可以为您提供所需的信息。您可能会假设单词的第一个字符的格式可以安全地应用于整个单词。在这种情况下,您可能只有一系列Word
对,其中(run, offset, length)
项是其中出现(word, run)
的第一个字符的项。
首先,我将研究run
和word
以获得最常见的格式,然后从那里开始。