我做了大量研究,尝试根据给定的文本缩放水印。问题是,如果我输入较长的字符串,文本就会超出页面范围。
我尝试过各种包,包括:xwatermark、draftcopy、draftwatermark。
所有这些软件包似乎都没有一种简单的方法可以根据指定的文本动态缩放。我的想法是将文本保存到一个框中,并编写一个条件语句,如果长度超出页面,则重新缩放或“挤压”框。这带来了挑战,因为我希望我的水印呈 45 度角。
有没有人有办法解决吗?
以下是一些示例代码:
\documentclass{article}
\usepackage{color}%
\usepackage{tikz}%
\usepackage[printwatermark]{xwatermark}%
\newsavebox\watermarkbox%
\savebox\watermarkbox{\tikz[color=red, opacity=0.3]\node[rotate=45,scale=15] at (current page.center) {This is a longer watermark.};}%
\newwatermark*[allpages]{\usebox\watermarkbox}%
\usepackage{lipsum}
\usetikzlibrary{calc}%
\title{Title of Document}
\author{Name of Author}
\begin{document}
\maketitle
\lipsum
\end{document}
答案1
adjustbox
具有这样的功能。
\documentclass{article}
\usepackage{color}%
\usepackage{tikz}%
\usepackage[printwatermark]{xwatermark}%
\usepackage{adjustbox}%
\newsavebox\watermarkbox%
\savebox\watermarkbox{\tikz[color=red, opacity=0.3]\node[rotate=45,scale=15] at (current page.center) {This is a longer watermark.};}%
\newwatermark*[allpages]{\maxsizebox{\paperwidth}{\paperheight}{\usebox\watermarkbox}}%
\usepackage{lipsum}
\usetikzlibrary{calc}%
\title{Title of Document}
\author{Name of Author}
\begin{document}
\maketitle
\lipsum
\end{document}