РЕДАКТИРОВАНИЕ СОДЕРЖИМОГО ЭЛЕКТРОННОГО ДОКУМЕНТА
EDITING THE CONTENT OF AN ELECTRONIC DOCUMENT

ОБЛАСТЬ ТЕХНИКИ
Настоящее изобретение по существу относится к вычислительным устройствам, более конкретно, относится к системам и способам обработки электронных документов.
УРОВЕНЬ ТЕХНИКИ
Редактирование содержимого электронного документа может использоваться для обеспечения избирательного изложения информации, содержащейся в документе, путем формирования редактированной версии документа, подходящей для распространения лицам, которые могут отличаться от целевой аудитории первоначального документа. Например, до распространения или публикации электронного документа автор документа может пожелать удалить из него некоторую частную, секретную, конфиденциальную или иную уязвимую информацию, такую как, например, имена людей или названия компаний, идентификаторы, адреса, номера телефонов и т.п.
КРАТКОЕ ОПИСАНИЕ РИСУНКОВ
Настоящее изобретение проиллюстрировано с помощью примеров, но не путем ограничения, и может быть более полно понято со ссылками на последующее подробное описание, когда оно рассматривается в связи с рисунками, на которых:
на фиг. 1 представлена блок-схема одного варианта осуществления вычислительного устройства, функционирующего в соответствии с одним или более аспектами настоящего изобретения;
на фиг. 2А-2С представлены примеры многослойных электронных документов, в которых целевая строка символов содержит две или более части, относящиеся к разным слоям, в соответствии с одним или более аспектами настоящего изобретения;
на фиг. 3А-3В схематично представлены различные представления электронного документа, обрабатываемого приложением для редактирования содержимого, функционирующим в соответствии с одним или более аспектами настоящего изобретения;
на фиг. 4 схематично представлена обработка различных слоев электронного документа приложением для редактирования содержимого, функционирующим в соответствии с одним или более аспектами настоящего изобретения;
на фиг. 5 схематично представлено комбинирование множества текстов слоев для формирования комбинированного текста электронного документа, обрабатываемого приложением для редактирования содержимого, функционирующим в соответствии с одним или более аспектами настоящего изобретения;
на фиг. 6А-6В схематично представлены обнаруженные при редактировании вхождения указанной строки символов из электронного документа, обрабатываемого приложением для редактирования содержимого, функционирующим в соответствии с одним или более аспектами настоящего изобретения;
на фиг. 7 схематично представлено визуальное отображение электронного документа с содержимым, отредактированным приложением для редактирования содержимого, функционирующим в соответствии с одним или более аспектами настоящего изобретения;
на фиг. 8 представлена блок-схема иллюстративного примера способа редактирования некоторого содержимого из электронных документов в соответствии с одним или более аспектами настоящего изобретения; и
на фиг. 9 представлена более подробная схема иллюстративного примера вычислительного устройства, реализующего способы, описанные в настоящем документе.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
В настоящем документе описаны способы и системы обработки электронных документов вычислительными устройствами для редактирования некоторого содержимого (например, частной, секретной, конфиденциальной или иной уязвимой информации).
В настоящем документе «электронный документ» означает файл, содержащий один или более элементов цифрового содержимого, которые можно визуально отобразить для обеспечения визуального представления электронного документа (например, на дисплее или в виде печатных материалов). В различных иллюстративных примерах электронные документы могут относиться к некоторым форматам файлов, таким как PDF, DOC, ODT и т.п.
В настоящем документе «вычислительное устройство» означает устройство обработки данных, имеющее процессор общего назначения, память и по меньшей мере один коммуникационный интерфейс. Примеры вычислительных устройств, которые могут воплощать описанные в настоящем документе способы, включают в себя, без ограничений, настольные компьютеры, портативные компьютеры, планшетные компьютеры, смартфоны и другие различные мобильные и стационарные вычислительные устройства.
До распространения или публикации электронного документа автор документа может пожелать удалить некоторую частную, секретную, конфиденциальную или иную уязвимую информацию, такую как имена людей или названия компаний, идентификаторы, адреса, номера телефонов и т.п. В иллюстративном примере приложение для редактирования содержимого может получать входные данные с указанием подлежащей редактированию строки символов из электронного документа. В ответ на получение строки символов приложение для редактирования содержимого может обработать электронный документ для обнаружения всех вхождений строк символов, соответствующих указанной пользователем строке символов с учетом некоторой функции поиска (например, точного поиска, нечеткого поиска, синонимического поиска, поиска с учетом морфологии, семантического поиска или поиска с применением определенного пользователем преобразования). Одна или более строк символов, которые соответствуют указанной пользователем строке символов с учетом конкретной функции поиска, в настоящем документе называются «целевыми строками символов».
Однако различные распространенные варианты осуществления приложений для редактирования содержимого могут не обнаружить вхождения целевых строк символов, если такая строка содержит две или более части, относящиеся к разным слоям документа. Например, электронный документ может содержать два или более слоя, включая первый слой, содержащий изображение буквицы, соответствующей первому символу целевой строки символов, и второй слой, содержащий оставшиеся символы целевой строки символов. В настоящем документе «буквица» означает символ в начале фрагмента текста (например, абзаца), который больше остального текста и, возможно, витиевато украшен.
Настоящее изобретение устраняет вышеупомянутые и другие недостатки путем проведения поиска целевых строк символов в комбинированном тексте, сформированном путем комбинирования двух или более слоев документа, как описано более подробно выше в настоящем документе. Таким образом, техническим результатом изобретения является повышение эффективности поиска целевых строк символов в электронных документах, состоящих из двух или более слов. Различные аспекты вышеупомянутых способов и систем подробно описаны ниже с помощью примеров, а не путем ограничения настоящего изобретения.
На фиг. 1 представлена блок-схема одного иллюстративного примера вычислительного устройства 100, функционирующего в соответствии с одним или более аспектами настоящего изобретения. В иллюстративных примерах вычислительное устройство 100 может быть представлено различными вычислительными устройствами, включая планшетный компьютер, смартфон, портативный компьютер или настольный компьютер.
Вычислительное устройство 100 может содержать процессор 110, соединенный с системной шиной 120. К другим устройствам, соединенным с системной шиной 120, могут относиться память 130, дисплей 135, оснащенный устройством ввода в виде сенсорного экрана 170, клавиатурой 140 и одним или более коммуникационными интерфейсами 165. В настоящем документ «соединенный» означает как электрическое соединение, так и связь с помощью одного или более интерфейсных устройств, адаптеров и т.п.
Процессор 110 может быть представлен одним или более процессорными устройствами, включая процессоры общего назначения и/или специализированные процессоры. Память 130 может содержать одно или более устройств энергозависимой памяти (например, микросхемы ОЗУ), одно или более устройств энергонезависимой памяти (например, микросхемы ПЗУ или ЭСППЗУ) и/или одно или более устройств памяти (например, оптические или магнитные диски).
В некоторых вариантах осуществления вычислительное устройство 100 может содержать устройство ввода в виде сенсорного экрана 170, представленное сенсорной областью для ввода информации и/или чувствительное к присутствию поверхности, наложенной на дисплей 135. Пример вычислительного устройства, в котором реализованы аспекты настоящего изобретения, будет более подробно описан ниже со ссылкой на фиг. 9.
В некоторых вариантах осуществления в памяти 130 могут храниться команды приложения 190 для редактирования некоторого содержимого (например, частной, секретной, конфиденциальной или иной уязвимой информации) из электронных документов. В иллюстративном примере приложение для редактирования содержимого 190 может быть реализовано в виде функции, вызываемой через пользовательский интерфейс другого приложения (например, приложения для редактирования электронных документов). Альтернативно приложение для редактирования содержимого 190 может быть реализовано в виде самостоятельного приложения.
В иллюстративном примере приложение для редактирования содержимого 190 может получать входные данные, указывающие на некоторую подлежащую редактированию строку символов из электронного документа. Указанная пользователем строка символов может содержать один или более символов, представляющих одну или более морфем (например, слов) естественного языка, одно или более сокращений, одну или более произвольно составленных буквенно-цифровых последовательностей и т.п. В различных иллюстративных примерах указанная пользователем строка символов может представлять собой частную, секретную, конфиденциальную или иную уязвимую информацию, такую как, например, имена людей или названия компаний, идентификаторы (например, номера социального страхования, номера кредитных карт и т.п.), адреса, номера телефонов и т.п.
В ответ на получение указанной пользователем строки символов приложение 190 может обработать электронный документ для обнаружения всех вхождений целевых строк символов, соответствующих с учетом указанной функции поиска указанной пользователем подлежащей редактированию строке символов из документа. Для ясности и краткости настоящего описания в приведенных ниже описании и примерах предполагается использование точного поиска, и, следовательно, целевая строка символов совпадает с указанной пользователем и подлежащей редактированию строкой символов из электронного документа. Однако в описанных системах и способах также могут использоваться другие типы поиска текста, включая, без ограничений, нечеткий поиск, синонимический поиск, поиск с учетом морфологии, семантический поиск или поиск с использованием определенного пользователем преобразования, как более подробно описано ниже в настоящем документе. Одна или более строк символов, которые соответствуют указанной пользователем строке символов с учетом конкретной функции поиска, в настоящем документе называются «целевыми строками символов».
Приложение 190 дополнительно может удалять из электронного документа все обнаруженные вхождения целевых строк символов. В некоторых вариантах осуществления приложение 190 может дополнительно заменять каждое удаленное вхождение целевой строки символов на некоторую замещающую строку, содержащую последовательность пробелов или других предварительно определенных или настраиваемых символов. В некоторых вариантах осуществления приложение 190 дополнительно может графически обозначать положение каждого отредактированного вхождения целевой строки символов в электронных документах, например, отмечая черным цветом первоначальное положение указанной строки символов.
В некоторых вариантах осуществления приложение для редактирования содержимого 190 может быть выполнено с возможностью обработки электронных документов некоторых форматов (например, PDF, DOC, ODT и т.п.). Электронный документ может содержать объекты, связанные с различными типами данных, включая текст (например, последовательность символов), изображения, аннотации (например, замечания редактора и/или комментарии), метаданные (например, автор документа, время создания, время последнего доступа и т.п.) и/или встроенные файлы. С объектом могут быть связаны один или более признаков объекта для определения положения объекта в группе объектов и/или визуального представления электронного документа, видимости объекта и/или прозрачности.
Поскольку подлежащее редактированию содержимое может состоять из одного или более объектов, связанных с одним или более из вышеуказанных типов данных, приложение для редактирования содержимого 190 может для редактирования целевой строки символов из электронного документа обрабатывать каждый из объектов, содержащихся в документе, и обнаруживать все вхождения целевой строки символов, соответствующие с учетом указанной функции поиска указанной пользователем подлежащей редактированию строке документа. Каждый объект или группу объектов (также называемую «слоем») электронного документа можно обрабатывать с учетом типа данных, связанных с объектом или группой объектов.
В иллюстративном примере текстовый объект может содержать одну или более строк символов в одной или более кодировках (например, ASCII, UTF-8 и т.п.). Приложение для редактирования содержимого 190 может выполнять поиск в текстовом объекте или группе объектов на вхождения целевой строки символов с учетом одной или более текстовых кодировок, используемых в некотором формате документа. В некоторых вариантах осуществления перед выполнением поиска по текстам приложение 190 может выполнять предварительную обработку текстового объекта или группы объектов путем автоматической проверки правописания с использованием словаря, проверки правописания с привлечением оператора и/или путем автоматической проверки кодировки.
В другом иллюстративном примере объект может содержать одно или более растровых изображений (например, изображений JPEG). Растровое изображение может быть представлено в виде структуры данных, содержащей множество групп битов, кодирующих пиксели визуального представления объекта. В некоторых вариантах осуществления растровое изображение необязательно может быть сжато для использования присущей изображению пространственной избыточности. В приложении для редактирования содержимого 190 к изображению может быть применен метод оптического распознавания символов (OCR) с последующим поиском в тексте, сформированном при оптическом распознавании символов, вхождений целевой строки символов. В некоторых вариантах осуществления приложение 190 перед осуществлением поиска в текстах может выполнять предварительную обработку текста путем выполнения автоматической проверки правописания с использованием словаря и/или проверки правописания с привлечением оператора.
В другом иллюстративном примере объект может содержать одно или более векторных изображений. Векторное изображение может быть представлено множеством геометрических примитивов (например, точек, линий, кривых, фигур и/или многоугольников), определенных некоторыми математическими выражениями. Приложение для редактирования содержимого 190 может выполнять растеризацию векторного изображения или группы векторных изображений, а затем обрабатывать полученное растровое изображение, как описано выше в настоящем документе. В некоторых вариантах осуществления приложение 190 перед растеризацией векторного изображения может выполнять предварительную обработку изображения путем удаления одного или более элементов изображения, не имеющих значения для текстового содержимого (например, различные рамки, визуальные разделители и т.п.).
Некоторые форматы электронных документов могут поддерживать группировку объектов в два или более слоев. Каждый слой может содержать метаданные слоя, определяющие положение слоя в визуальном представлении электронного документа. В некоторых вариантах осуществления метаданные слоя дополнительно могут определять видимость и/или прозрачность объектов слоя.
Электронный документ может содержать один или более видимых и/или невидимых слоев. В иллюстративном примере электронный документ, сформированный путем применения метода OCR к изображению печатной страницы, может включать в себя видимый слой, содержащий изображение страницы, и невидимый слой, содержащий текст, сформированный при оптическом распознавании символов.
В некоторых вариантах осуществления приложение для редактирования содержимого 190 может быть выполнено с возможностью обработки различных комбинаций слоев для обнаружения вхождений целевых строк символов, которые содержат две или более части, относящиеся к разным слоям. Такие вхождения могут быть сформированы только путем комбинирования двух или более слоев и, следовательно, не могут быть обнаружены, если каждый из слоев обрабатывается независимо от других слоев.
На фиг. 2А-2С представлены примеры многослойных электронных документов, в которых целевая строка символов содержит две или более части, относящиеся к разным слоям. В примере на фиг. 2А электронный документ 200 содержит два слоя - 210A и 210В. Слой 210A содержит первую подгруппу 220А символов целевой строки символов 230 (например, символы, занимающие нечетные положения в целевой строке символов 230), а слой 210 В содержит вторую подгруппу 220В символов целевой строки символов 230 (например, символы, занимающие четные положения в целевой строке символов 230). Каждый из слоев 210А-210В содержит метаданные слоя (не показаны на фиг. 2А), которые описывают положение соответствующего слоя в визуальном представлении электронного документа 200, так что последовательности символов 220А и 220В перемежаются друг с другом в визуальном представлении, и, следовательно, их визуальная комбинация формирует целевую строку символов («целевая строка символов») 230.
В примере на фиг. 2 В электронный документ 200 содержит два слоя - 210А и 210В. Слой 210А содержит изображение буквицы 240, соответствующей первому символу целевой строки символов 230. Слой 210В содержит последовательность символов 220В, содержащую оставшиеся символы целевой строки символов 230. Каждый из слоев 210А-210В содержит метаданные слоя (не показаны на фиг. 2В), которые описывают положение соответствующего слоя в визуальном представлении электронного документа 200, так что буквица 240 и последовательность символов 220 В перемежаются друг с другом в визуальном представлении, и, следовательно, их визуальная комбинация формирует целевую строку символов 230.
В примере на фиг. 2С электронный документ 200 содержит два слоя - 210А и 210В. Слой 210А содержит последовательность символов 220А, содержащую символы целевой строки символов 230. Слой 210В содержит диакритические знаки 250А, 250В, связанные с некоторыми символами целевой строки символов 230. Каждый из слоев 210А-210В содержит метаданные слоя, которые описывают положение соответствующего слоя в визуальном представлении электронного документа 200, так что последовательность символов 220А и диакритические знаки 250 перемежаются друг с другом в визуальном представлении, и, следовательно, их визуальная комбинация формирует целевую строку символов 230.
Приложение для редактирования содержимого, функционирующее в соответствии с одним или более аспектами настоящего изобретения, может обрабатывать различные комбинации слоев электронного документа для обнаружения вхождений целевой строки символов, содержащей две или более части, относящиеся к разным слоям.
На фиг. 3А и 3В схематично показаны различные представления электронного документа, обрабатываемого приложением для редактирования содержимого, функционирующим в соответствии с одним или более аспектами настоящего изобретения. На фиг. 3А схематично показано визуальное представление электронного документа 300, содержащего логотип 310, абзац текста 315 и примечания редактора 320. Как схематически показано на фиг. 3В, приложение для редактирования содержимого может обнаруживать в электронном документе множество объектов одного или более типов (векторное изображение 335, растровое изображение 340, текст 345 и аннотация 350), которые можно сгруппировать в два или более слоя. Затем приложение для редактирования содержимого может обработать каждый из обнаруженных слоев для формирования текстов слоев, соответствующих слоям.
На фиг. 4 и 5 схематично представлена обработка различных слоев электронного документа приложением для редактирования содержимого, функционирующим в соответствии с одним или более аспектами настоящего изобретения. Как показано на фиг. 4, обработка каждого слоя может определяться типом слоя. В иллюстративном примере текст 355, соответствующий текстовому слою 345, содержащему один или более текстовых объектов, может быть сформирован путем комбинирования одной или более строк символов, содержащихся в слое. Затем в некоторых вариантах осуществления текст может подвергаться дополнительной обработке путем выполнения автоматической проверки правописания с использованием словаря, проверки правописания с привлечением оператора и/или автоматической проверки кодировки.
В другом иллюстративном примере текст 360, соответствующий растровому слою 340, содержащему одно или более растровых изображений, может быть получен путем выполнения оптического распознавания символов на растровых изображениях, содержащихся в слое 340.
В другом иллюстративном примере текст 365, соответствующий векторным слоям 335 и 350, содержащим одно или более векторных изображений, может быть сформирован путем растеризации векторных изображений, содержащихся в слоях 335 и 350, с последующим выполнением оптического распознавания символов на полученных растровых изображениях. В некоторых вариантах осуществления перед растеризацией векторного изображения приложение для редактирования содержимого может выполнять предварительную обработку изображения путем удаления одного или более элементов изображения, не имеющих значения для текстового содержимого (например, различные рамки, визуальные разделители и т.п.).
В ответ на формирование текстов слоев 355, 360 и 365, соответствующих каждому из слоев электронного документа, приложение для редактирования содержимого может комбинировать сформированные тексты слоев для формирования комбинированного текста 370 электронного документа, как схематически представлено на фиг. 5. Приложение для редактирования содержимого может выполнять поиск по комбинированному тексту 370 для обнаружения одного или более вхождений целевых строк символов «Аn», подлежащих редактированию из электронного документа.
Приложение для редактирования содержимого может обнаруживать все вхождения строк символов, соответствующих указанной пользователем строке символов с учетом некоторой функции поиска (например, точного поиска, нечеткого поиска, синонимического поиска, поиска с учетом морфологии, семантического поиска или поиска с применением определенного пользователем преобразования).
В настоящем документе «точный поиск» означает обнаружение точного вхождения указанной пользователем строки с использованием поиска с учетом регистра или поиска без учета регистра. В настоящем документе «нечеткий поиск» означает обнаружение одной или более строк, которые аналогичны по некоторым показателям указанной пользователем строке (например, нечеткий поиск может обнаруживать указанную пользователем строку, введенную с ошибкой). В настоящем документе «синонимический поиск» означает обнаружение одной или более строк символов, представляющих языковые конструкции, синонимичные относительно указанной пользователем строки. В настоящем документе «поиск с учетом морфологии» означает обнаружение различных морфологических форм одной или более лексем, содержащихся в указанной пользователем строке (например, форм единственного и множественного числа существительного, содержащегося в указанной пользователем строке символов; различных форм глагола, содержащегося в указанной пользователем строке символов, и т.п.). В настоящем документе «семантический поиск» означает обнаружение одной или более строк символов, представляющих языковые конструкции, семантически аналогичные строке, указанной пользователем. В настоящем документе «поиск с применением определенного пользователем преобразования» означает обнаружение одной или более строк символов, которые аналогичны указанной пользователем строке с учетом определенного пользователем преобразования. Примером определенного пользователем преобразования может служить словарь переводов лексем (например, словарь для перевода с одного языка на другой).
Одна или более строк символов, которые соответствуют указанной пользователем строке символов с учетом конкретной функции поиска, в настоящем документе называются «целевыми строками символов».
В ответ на обнаружение одного или более вхождений одной или более целевых строк символов в комбинированном тексте электронного документа приложение для редактирования содержимого может переносить результаты поиска в первоначальные слои путем обнаружения текстовых или графических объектов, которые представляют обнаруженные вхождения целевой строки символов. На фиг. 6А-6В схематично представлено редактирование обнаруженных вхождений указанной строки символов из электронного документа, обрабатываемого приложением для редактирования содержимого, функционирующим в соответствии с одним или более аспектами настоящего изобретения. Как показано на фиг. 6А, вхождение целевой строки символов «Аn» представлено комбинацией слоев 345 и 340 и слоем 335.
В некоторых вариантах осуществления приложение для редактирования содержимого может визуально отображать электронный документ (например, на дисплее), визуально обнаруживать подлежащее редактированию содержимое (например, путем выделения) и предлагать пользователю подтвердить редактирование содержимого. Затем приложение для редактирования содержимого может удалить из электронного документа все обнаруженные вхождения указанной строки символов. В некоторых вариантах осуществления приложение 190 может дополнительно заменять каждое удаленное вхождение указанной строки символов на некоторую замещающую строку, содержащую последовательность пробелов или других предварительно определенных или настраиваемых символов. В некоторых вариантах осуществления приложение для редактирования содержимого может дополнительно графически обозначать положение каждого отредактированного вхождения указанной строки символов в электронных документах, например, отмечая черным цветом первоначальное положение указанной строки символов, как схематически представлено на фиг. 6В и фиг. 7.
В некоторых вариантах осуществления приложение для редактирования содержимого дополнительно может анализировать один или более элементов метаданных для обнаружения и редактирования возможных вхождений целевой строки символов в метаданных электронного документа. Приложение для редактирования содержимого дополнительно может обрабатывать один или более невидимых слоев электронного документа для обнаружения и редактирования возможных вхождений целевой строки символов.
На фиг. 8 показана блок-схема одного иллюстративного примера способа 800 редактирования некоторого содержимого из электронных документов (например, содержимого, представляющего собой частную, секретную, конфиденциальную или иную уязвимую информацию) в соответствии с одним или более аспектами настоящего изобретения. Способ 800 и/или каждая из его отдельных функций, программ, подпрограмм или операций могут быть выполнены одним или более процессорами компьютерного устройства (например, компьютерного устройства 100, изображенного на фиг. 1), выполняющего способ. В некоторых вариантах осуществления способ 800 может быть выполнен с помощью одного потока обработки. Альтернативно способ 800 может быть выполнен с помощью двух или более потоков обработки, причем каждый поток выполняет одну или более отдельных функций, программ, подпрограмм или операций способа. В иллюстративном примере потоки обработки, в которых реализован способ 800, могут быть синхронизированы (например, с использованием сигнализации, критических секций и/или других механизмов синхронизации потоков). Альтернативно потоки обработки, в которых реализован способ 800, могут быть выполнены асинхронно относительно друг друга.
На этапе 810 вычислительное устройство, выполняющее способ, может обнаружить в электронном документе два или более слоя. В иллюстративном примере вычислительное устройство может анализировать метаданные документа для обнаружения множества слоев, содержащихся в электронном документе.
В некоторых вариантах осуществления вычислительное устройство может комбинировать все обнаруженные в документе текстовые и нетекстовые слои, чтобы разделить электронный документ на два слоя: текстовый слой и слой изображений. Два полученных слоя могут содержать видимую информацию документа (текстовую информацию и изображения). Различные объекты, которые не относятся ни к одному из слоев (например, комментарии, метаданные и/или встроенные файлы), могут быть удалены из полученного электронного документа в ответ на получение команды пользовательского интерфейса.
На этапе 820 вычислительное устройство может обрабатывать каждый из обнаруженных слоев для формирования текста слоя, представляющего один или более объектов, содержащихся в слое. В иллюстративном примере текст, соответствующий текстовому слою, содержащему один или более текстовых объектов, может быть сформирован путем комбинирования одной или более строк символов, содержащихся в слое. Затем в некоторых вариантах осуществления текстовый слой может подвергаться дополнительной обработке путем выполнения автоматической проверки правописания с использованием словаря, проверки правописания с привлечением оператора и/или автоматической проверки кодировки. В другом иллюстративном примере текст, соответствующий растровому или векторному слою, содержащему одно или более графических изображений, может быть сформирован путем выполнения оптического распознавания символов на графических изображениях, содержащихся в слое, как более подробно описано выше в настоящем документе.
На этапе 830 вычислительное устройство может комбинировать сформированные тексты слоев для формирования комбинированного текста электронного документа, в котором будет выполнен поиск вхождений целевой строки символов.
На этапе 840 вычислительное устройство может обнаружить в комбинированном тексте электронного документа одно или более вхождений целевой строки символов.
На этапе 850 вычислительное устройство может удалить из электронного документа обнаруженные вхождения целевой строки символов, как более подробно описано выше в настоящем документе. В некоторых вариантах осуществления вычислительное устройство может дополнительно заменять каждое удаленное вхождение указанной строки символов на некоторую замещающую строку, содержащую последовательность пробелов или других предварительно определенных или настраиваемых символов. Вычислительное устройство может дополнительно графически обозначать положение каждого отредактированного вхождения указанной строки символов в электронных документах, например, отмечая черным цветом первоначальное положение указанной строки символов. В ответ на завершение операций, описанных в настоящем документе выше в отношении этапа 850, способ может прерываться.
На фиг. 9 представлена более подробная схема примера вычислительного устройства 500, в котором может выполняться набор команд, в результате которых вычислительное устройство выполняет любой один или более способов, описанных в настоящем документе. Вычислительное устройство 500 может включать в себя те же компоненты, что и вычислительное устройство 100, изображенное на фиг. 1, а также некоторые дополнительные или различные компоненты, некоторые из которых могут быть вспомогательными и необязательными для обеспечения аспектов настоящего изобретения. Вычислительное устройство может быть соединено с другим вычислительным устройством с помощью локальной сети (LAN), внутренней сети, внешней сети или сети Интернет. Вычислительное устройство может функционировать в качестве серверного или клиентского вычислительного устройства в сетевом окружении «клиент-сервер» или в качестве равноправного вычислительного устройства в одноранговом (или распределенном) сетевом окружении. Вычислительное устройство может быть представлено в виде персонального компьютера (ПК), планшетного ПК, компьютерной приставки к телевизору (STB), карманного персонального компьютера (КПК), мобильного телефона или любого вычислительного устройства, способного выполнять (последовательно или иным способом) набор команд, указывающих на операции, которые необходимо выполнить этому вычислительному устройству. Дополнительно, хотя проиллюстрировано только одно вычислительное устройство, также считается, что термин «вычислительное устройство» должен включать в себя любой набор вычислительных устройств, которые по отдельности или совместно выполняют набор (или множество наборов) команд для выполнения любой одной или более методологий, описанных в настоящем документе.
Пример вычислительного устройства 500 включает в себя процессор 502, основную память 504 (например, постоянную память (ПЗУ) или динамическую оперативную память с произвольным доступом (DRAM)) и устройство хранения данных 518, которые связываются друг с другом по шине 530.
Процессор 502 может представлять собой одно или более процессорных устройств общего назначения, такие как микропроцессор, центральное процессорное устройство и т.п. Более конкретно, процессор 502 может представлять собой микропроцессор с полным набором команд (CISC), микропроцессор с ограниченным набором команд (RISC), микропроцессор со сверхдлинным командным словом (VLIW), процессор, реализующий другие наборы команд, или процессоры, реализующие комбинацию наборов команд. Процессор 502 также может представлять собой одно или более процессорных устройств специального назначения, таких как специализированная интегральная схема (ASIC), программируемая пользователем вентильная матрица (ППВМ), цифровой сигнальный процессор (DSP), сетевой процессор и т.п. Процессор 502 выполнен с возможностью выполнять команды 526 для выполнения операций и функций, описанных в настоящем документе.
Вычислительное устройство 500 может дополнительно включать в себя устройство сетевого интерфейса 522, блок отображения видео 510, устройство ввода символов 512 (например, клавиатуру) и устройство ввода с сенсорным экраном 514.
Устройство хранения данных 518 может включать в себя машиночитаемый носитель данных 524, на котором хранится один или более наборов команд 526, воплощающих любую одну или более методологий или функций, описанных в настоящем документе. Команды 526 также могут полностью или по меньшей мере частично находиться в основной памяти 504 и/или в процессоре 502 во время их выполнения вычислительным устройством 500, причем основная память 504 и процессор 502 также образуют машиночитаемый носитель. Команды 526 дополнительно могут передаваться или приниматься по сети 516 по устройству сетевого интерфейса 522.
В некоторых вариантах осуществления команды 526 могут включать в себя команды для способа редактирования некоторого содержимого из электронных документов, который может соответствовать способу 800 и может выполняться приложением 190, изображенным на фиг. 1. Хотя в примере на фиг. 4 машиночитаемый носитель 524 показан в виде одного носителя, также считается, что термин «машиночитаемый носитель» должен включать в себя один носитель или множество носителей (например, централизованная или распределенная база данных и/или связанная кэш-память и сервера), на которых хранится один или более наборов команд. Также считается, что термин «машиночитаемый носитель» включает в себя любой носитель, способный хранить, кодировать или содержать набор команд, предназначенных для выполнения машиной и приводящих к выполнению машиной любой одной или более методологий настоящего изобретения. Соответственно, считается, что термин «машиночитаемый носитель» включает в себя, без ограничений, твердотельные устройства памяти, оптический носитель и магнитный носитель.
Способы, компоненты и элементы, описанные в настоящем документе, могут быть реализованы с помощью отдельных аппаратных компонентов или могут быть встроены в функциональность других аппаратных компонентов, таких как устройства ASIC, ППBM, DSP или аналогичные устройства. Кроме того, способы, компоненты и элементы могут быть реализованы в программно-аппаратных модулях или в функциональной схеме в аппаратных устройствах. Дополнительно способы, компоненты и элементы также могут быть реализованы в любой комбинации аппаратных устройств и программных компонентов или только в программном обеспечении.
В вышеизложенном описании приведено множество деталей. Однако любому среднему специалисту в данной области техники, пользующемуся преимуществами настоящего изобретения, будет очевидно, что настоящее изобретение можно применять на практике без этих конкретных деталей. В некоторых случаях известные структуры и устройства показаны в форме блок-схем без указания деталей во избежание затруднения понимания настоящего изобретения.
Некоторые фрагменты подробного описания представлены в виде алгоритмов и символических представлений операций с битами данных в компьютерной памяти. Эти алгоритмические описания и представления являются средствами, которые специалисты в области обработки данных используют, чтобы максимально эффективно передать суть своей работы другим специалистам в данной области. В данном случае и по существу под алгоритмом понимается самостоятельная последовательность операций, приводящая к желаемому результату. Под операциями понимаются такие операции, которые требуют выполнения физических манипуляций с физическими величинами. Как правило, хотя и не обязательно, эти величины принимают форму электрических или магнитных сигналов, которые можно хранить, передавать, комбинировать, сравнивать и которыми можно иным образом манипулировать. Практика показала, что иногда, в основном по причине широкого использования, удобно называть эти сигналы битами, значениями, элементами, символами, буквами, терминами, числами и т.п.
Однако следует помнить, что все эти и аналогичные термины ассоциируются с соответствующими физическими величинами и являются лишь удобными обозначениями, применяемыми к этим величинам. Если конкретно не указано иное, как очевидно из приведенного ниже описания, следует понимать, что на протяжении описания использование терминов, таких как «определение», «вычисление», «расчет», «получение», «обнаружение», «модификация» и т.п., относится к действиям или процессам вычислительного устройства или аналогичного электронного вычислительного устройства, которое манипулирует и преобразует данные, представленные в виде физических (например, электронных) величин в регистрах и памяти вычислительного устройства, в другие данные, аналогичным образом представленные в виде физических величин в памяти или регистрах вычислительной системы или других таких устройствах хранения, передачи или отображения информации.
Настоящее изобретение также относится к устройству для выполнения описанных в настоящем документе операций. Это устройство может быть специально создано для требуемых целей, или оно может представлять собой компьютер общего назначения, избирательно активированный или перенастроенный с помощью компьютерной программы, которая хранится в компьютере. Такая компьютерная программа может храниться на машиночитаемом носителе, таком как, без ограничений, диски любого типа, включая гибкие диски, оптические диски, компакт-диски (CD-ROM) и магнитооптические диски, постоянные запоминающие устройства (ПЗУ), оперативные запоминающие устройства (ОЗУ), программируемые ПЗУ, ЭСППЗУ, магнитные или оптические карты или любой тип носителей, подходящих для хранения электронных команд.
Следует понимать, что приведенное выше описание считается иллюстративным, а не ограничивающим. Другие различные варианты осуществления будут очевидны специалистам в данной области техники после прочтения и понимания представленного выше описания. Таким образом, объем изобретения следует определять в отношении приложенных пунктов формулы изобретения, а также по всему объему эквивалентов, на которые распространяются такие пункты формулы изобретения.