Is it possible to print the size of a given file in latex? For instance, suppose I have a file ./foo.jpg
whose size is 381.3 KiB
. I want a command \printfilesize
so that \printfilesize{./foo.jpg}
writes 381.3 KiB.
-
Related: tex.stackexchange.com/q/346129/2855– nidhinNov 25, 2018 at 22:07
2 Answers
pdftex
has primitive for querying the file system:
\documentclass{article}
\usepackage{xfp}
\ExplSyntaxOn
\NewDocumentCommand{\filesize}{O{B}m}
{
\fpeval{ round( \pdffilesize { #2 } / \fp_use:c { c_brian_#1_fp } , 2) }
\,#1
}
\fp_const:Nn \c_brian_B_fp { 1 }
\fp_const:Nn \c_brian_KiB_fp { 1024 }
\fp_const:Nn \c_brian_MiB_fp { 1024*1024 }
\fp_const:Nn \c_brian_GiB_fp { 1024*1024*1024 }
\ExplSyntaxOff
\begin{document}
\filesize{../duck.jpg}
\filesize[KiB]{../duck.jpg}
\end{document}