Arka plan görüntüsü üzerinde çizim
Mevcut bir PDF'nin (sadece resimlerden oluşan) sayfalarını almak ve her sayfada birkaç kutu çizmek istiyorum. (Harici bir OCR programı tarafından algılanan kelimelerin sınırlayıcı kutuları.)
Şimdiye kadar denediklerim:
elde edilen PDF'nin sayfalarını orijinal PDF ile aynı yapma seçeneği ile birlikte
\includepdf(pdfpagespaketten) kullanabilirsiniz[fitpaper=true].TikZ'yi dikdörtgenler / çokgenler çizmek için kullanabilir, koordinatlar kullanılarak
current page.north westve bazı aritmetikler ( bu cevaptan elde ettiğim ), birden fazla problem olmasına rağmen:Ayrı bir sayfada sona eriyorlar,
Bu ayrı sayfa varsayılan (letter / A4) TeX boyutlarına sahiptir, dahil edilen PDF'dekilere değil (bu açıkça ayarlanabilir olsa da)
Şimdiye kadar sahip olduğum şeyler ( example-image-aPDF dosyam yerine kullanarak ):
\documentclass{article}
\pagestyle{empty}
\usepackage{pdfpages}
\usepackage{tikz}
\usetikzlibrary{positioning,calc}
\paperwidth=319.999bp
\paperheight=239.999bp
\pagewidth=319.999bp
\pageheight=239.999bp
\begin{document}
\includepdf[fitpaper=true]{example-image-a}%
\begin{tikzpicture}[remember picture,overlay]
\draw [line width=1mm,opacity=.25] (current page.center) circle (3cm);
\draw[red, thick] ($(current page.north west)+(102 bp,-72 bp)$) -- ($(current page.north west)+(132 bp,-72 bp)$) -- ($(current page.north west)+(132 bp,-90 bp)$) -- ($(current page.north west)+(102 bp,-90 bp)$) -- cycle;
\end{tikzpicture}%
\end{document}
Sonuçlar iki sayfada ( \includepdfdaha sonrasını koyarsam diğer sırada ):
Yanıtlar
Kullanılması eso-pic'nin \AddToShipoutPictureFG*birini bunu başarabilirsiniz (I tanımsız kontrol dizisi hataları var \pagewidthve \pageheightonları yorumladı):
\documentclass{article}
\pagestyle{empty}
\usepackage{eso-pic}
\usepackage{pdfpages}
\usepackage{tikz}
\usetikzlibrary{positioning,calc}
\paperwidth=319.999bp
\paperheight=239.999bp
%\pagewidth=319.999bp
%\pageheight=239.999bp
\begin{document}
\AddToShipoutPictureFG*{%
\put(0,0){\begin{tikzpicture}[remember picture,overlay]
\draw [line width=1mm,opacity=.25] (current page.center) circle (3cm);
\draw[red, thick] ($(current page.north west)+(102 bp,-72 bp)$) -- ($(current page.north west)+(132 bp,-72 bp)$) -- ($(current page.north west)+(132 bp,-90 bp)$) -- ($(current page.north west)+(102 bp,-90 bp)$) -- cycle;
\end{tikzpicture}%
}}%
\includepdf[fitpaper=true]{example-image-a}%
\end{document}
Kullanım seçeneği picturecommandarasında \includepdfve koyun tikzpictureorada -stuff:
\documentclass{article}
\usepackage{pdfpages}
\usepackage{tikz}
\usetikzlibrary{positioning,calc}
\begin{document}
\includepdf[
fitpaper=true,
picturecommand={%
\begin{tikzpicture}[remember picture,overlay]
\draw [line width=1mm,opacity=.25] (current page.center) circle (3cm);
\draw[red, thick]
($(current page.north west)+(102 bp,-72 bp)$) --
($(current page.north west)+(132 bp,-72 bp)$) --
($(current page.north west)+(132 bp,-90 bp)$) --
($(current page.north west)+(102 bp,-90 bp)$) -- cycle;
\end{tikzpicture}}
]{example-image-a}
\end{document}
O Not picturecommandkendisi kullanır \AddToShipoutPicturegelen eso-picpaketin, böylece bu tam da senin çizim eşyalarını koymak için doğru yerdir.
Göre , bu yöntem:
\documentclass[a4paper]{article}
\usepackage{pdfpages}
\usepackage{tikz}
\begin{document}
\includepdf[
fitpaper=true,
picturecommand={%
\begin{tikzpicture}[remember picture,overlay,
x={(current page.south east)},y={(current page.north west)}
]
% Help CoSy
\draw[help lines,xstep=.1,ystep=.1] (0,0) grid (1,1);
\foreach \x in {0,1,...,9} { \node [anchor=south] at (\x/10,0) {0.\x}; }
\foreach \y in {1,...,9} { \node [anchor=west] at (0,\y/10) {0.\y}; }
% Stuff
\draw[red, thick, rounded corners] (0.1,0.9) rectangle (0.25,0.75);
\draw [cyan, very thick] (0.5,0.5) circle[radius=2cm];
\draw[yellow, line width=4mm, ->] (0.7,0.1) -- (0.9,0.3);
\draw [blue, very thick] (current page.center) circle[radius=3cm];
\end{tikzpicture}}
]{example-image-a.pdf}
\end{document}