垂直对齐表格中的表单字段

垂直对齐表格中的表单字段

我想垂直对齐表格行内的表单字段。我面临的问题是同一行内的其他列可以跨越多行。解决方案如下表单字段与表格单元格的对齐因此对我来说不起作用。表单字段应始终位于行的中间,与行高无关。

另外,当我编译代码时,第 2 行的复选框和文本字段已经位于不同的垂直位置?为什么会这样?

\documentclass{article}

\usepackage{longtable}
\usepackage{array}
\usepackage{hyperref}

\begin{document}

\begin{Form}
\begin{longtable}{|>{\raggedright}p{5cm} >{\centering}m{2.5cm} >{\raggedright\arraybackslash}m{5cm}|}

    \hline
        \textbf{Descriptor} & \textbf{Checked} & \textbf{Value} \\
    \hline
    \endfirsthead

    \hline
    \endlastfoot

    % sample data
    Lorem ipsum dolor sit amet, consetetur sadipscing elitr, 
    sed diam nonumy eirmod tempor invidunt ut labore et dolore
    magna aliquyam erat, sed oluptua.
    & \CheckBox[name=ExampleCheck]{} 
    & \TextField[name=ExampleText]{} \\ \hline

    At vero eos et accusam et justo duo dolores et ea rebum. 
    Stet clita kasd gubergren.
    & \CheckBox[name=Example2Check]{}         
    & \TextField[name=Example2Text]{}

\end{longtable}
\end{Form}    

\end{document} 

答案1

在此处输入图片描述

仅使用m- 类型的列并删除不必要的空行。混合mp列类型会产生不一致的结果。

\documentclass{article}
\usepackage{longtable}
\usepackage{array}
\usepackage{hyperref}
\begin{document}

\begin{Form}
\begin{longtable}{|>{\raggedright}m{5cm} >{\centering}m{2.5cm} >{\raggedright\arraybackslash}m{5cm}|}
    \hline
        \textbf{Descriptor} & \textbf{Checked} & \textbf{Value} \\
    \hline
    \endfirsthead
    \hline
    \endlastfoot
    % sample data
    Lorem ipsum dolor sit amet, consetetur sadipscing elitr, 
    sed diam nonumy eirmod tempor invidunt ut labore et dolore
    magna aliquyam erat, sed oluptua.
    & \CheckBox[name=ExampleCheck]{} 
    & \TextField[name=ExampleText]{} \\ \hline
    At vero eos et accusam et justo duo dolores et ea rebum. 
    Stet clita kasd gubergren.
    & \CheckBox[name=Example2Check]{}         
    & \TextField[name=Example2Text]{}
\end{longtable}
\end{Form}    

\end{document} 

相关内容