将文档图像分成几部分,使其中的文本不可搜索

将文档图像分成几部分,使其中的文本不可搜索

我想创建一个宏,将其参数转换为图像,目的是使用内置的搜索功能找不到此宏中的文本标准PDF 查看器。

因此,在结果文档中搜索“文本”应该只产生两个匹配项,而不是四个。也就是说,突出显示框中的任何文本都应被忽略。

在此处输入图片描述

用例

我生成一个大的文件索引,并且希望能够仅通过索引条目(而不是文件名)进行搜索。

梅威瑟:

\documentclass{article}
\usepackage{tikz}

\tikzset{Node Style/.style={draw=red, thin, fill=yellow!50, anchor=base, inner sep=1pt,}}
\newcommand{\NonSearchableText}[2][]{%
    \tikz[baseline] \node [Node Style, #1] at (0,0) {#2};%
}%

\begin{document}
    \textbf{searchable text}
    \indent\NonSearchableText{non-searchable-text}

    \textbf{searchable text}
    \indent\NonSearchableText{non-searchable-text}
\end{document}

期望输出

non-searchable-text.png可以通过使用此处的第一个文件来创建第二个文件所包含的图像,从而创建所需的输出。

  1. 文件名:non-searchable-text.tex

    %%% https://tex.stackexchange.com/questions/34054/tex-to-image-over-command-line
    \documentclass[convert={density=300,outext=.png}]{standalone}
    \usepackage{tikz}
    
    \tikzset{Node Style/.style={draw=red, thin, fill=yellow!50, anchor=base, inner sep=1pt,}}
    \newcommand{\NonSearchableText}[2][]{%
        \tikz[baseline] \node [Node Style, #1] at (0,0) {#2};%
    }%
    
    \begin{document}
        \NonSearchableText{non-searchable-text}
    \end{document}
    
  2. 主文件:

    \documentclass{article}
    \usepackage{graphicx}
    \usepackage[export]{adjustbox}
    
    %% https://tex.stackexchange.com/questions/98297/create-command-to-inline-an-image-in-a-question
    \newcommand*{\Image}[1]{\includegraphics[valign=m]{#1}}%
    
    \begin{document}
        \textbf{searchable text}
        \indent\Image{non-searchable-text.png}
    
        \textbf{searchable text}
        \indent\Image{non-searchable-text.png}
    \end{document}
    

答案1

accsupp包可以做到这一点。语法是\BeginAccSupp{method=escape,ActualText=<searchable non-visualized text>}<non-searchable visualized text>\EndAccSupp{}

\documentclass{article}
\usepackage{tikz,accsupp}

\tikzset{Node Style/.style={draw=red, thin, fill=yellow!50, anchor=base, inner sep=1pt,}}
\newcommand{\NonSearchableText}[2][]{%
    \tikz[baseline] \node [Node Style, #1] at (0,0) {%
  \BeginAccSupp{method=escape,ActualText=}#2.\EndAccSupp{}};%
}%

\begin{document}
    \textbf{searchable text}
    \indent\NonSearchableText{non-searchable-text}

    \textbf{searchable text}
    \indent\NonSearchableText{non-searchable-text}
\end{document}

视觉输出与以前一样

在此处输入图片描述

该文件的可搜索文本包括以下内容:

searchable text
searchable text

相关内容