
Ich habe alle Antworten ausprobiert, die ich zu diesem Thema finden konnte, und habe nichts zum Laufen gebracht.
Dieses MWE funktioniert einwandfrei, aber nur in pdflatex, da \pdfximage
es in lualatex nicht funktioniert.
\documentclass[12pt]{article}%
\usepackage{graphicx}
\begin{document}
\pdfximage{index.pdf}%
\the\pdflastximagepages
\end{document}
Antworten inSeitenzahl des externen PDF abrufen
funktioniert nicht, hier ist der Code aus dem obigen Link:
\documentclass{article}
\newcommand*{\pdfnumberofpages}[1]{%
\directlua{%
local doc = epdf.open("\luatexluaescapestring{#1}")
local pages
if (doc) then
pages = doc:getCatalog():getNumPages()
else
pages = 0
end
tex.write(pages)
}%
}
\begin{document}
Number of pages: \pdfnumberofpages{index.pdf}
\end{document}
Nun lulatex foo.tex
gibt
(/usr/local/texlive/2019/texmf-dist/tex/latex/base/size10.clo)) (./foo.aux)
! Undefined control sequence.
\pdfnumberofpages ...open("\luatexluaescapestring
{#1}") local pages if (doc...
l.17 Number of pages: \pdfnumberofpages{test.pdf}
Wie kann man die Anzahl der PDF-Seiten einer externen PDF-Datei richtig ermitteln mitAbonnieren?
TL 2019 unter Linux verwenden.
Antwort1
Die pdftex-Grundelemente sind nicht verschwunden, sie wurden nur umbenannt: \pdfximage
is \saveimageresource
und \pdflastximagepages
is \lastsavedimageresourcepages
. Also:
\documentclass[12pt]{article}%
\usepackage{graphicx}
\begin{document}
\saveimageresource{index.pdf}%
\the\lastsavedimageresourcepages
\end{document}
Oder Sie laden das luatex85
Paket und verwenden dann die pdftex-Grundelemente, sodass das Dokument sowohl mit pdflatex als auch mit lualatex kompiliert wird.
Antwort2
Die epdf
Bibliothek (basierend auf Poppler) wurde durch die pdfe
Bibliothek (basierend auf pplib) ersetzt. Außerdem haben Sie nicht definiert \luatexluaescapestring
, Sie müssen gemeint haben \luaescapestring
.
\documentclass{article}
\newcommand*{\pdfnumberofpages}[1]{%
\directlua{%
local pages = 0
local doc = pdfe.open("\luaescapestring{#1}")
if doc then
pages = pdfe.getnofpages(doc)
pdfe.close(doc)
end
tex.write(pages)
}%
}
\begin{document}
Number of pages: \pdfnumberofpages{index.pdf}
\end{document}