LaTeX将图片拼接为pdf

王 茂南 2019年12月11日07:36:34
评论
2792字阅读9分18秒
摘要这一篇介绍将多张图片拼接在一起, 合并为一个 pdf 的方式. 这个在日常中还是比较常见的需求, 故将实现的代码放在这里, 方便自己之后的使用.

简介

有的时候, 我们需要将扫描的多张图片拼接为 pdf, 此时需要可以使得拼接后的一张图片可以占满一张纸. 因为这个也是自己经常会用到, 所以在这里记录一下拼接的代码, 方便之后自己进行拼接.

 

LaTeX 实现图片拼接

要实现图片的拼接, 需要使得拼接之后的pdf满足下面几个条件:

  • pdf没有页码
  • 调整纸张的页边距
  • 调整图片的宽度

我们使用下面的方式去掉每一页的页面编号.

  1. \pagenumbering{gobble} % 实现没有页码

我们实现下面的方式, 调整纸张的页边距等.

  1. \usepackage{geometry}
  2. \geometry{a4paper,scale=0.97}

下面是一个完整的代码, 最终可以实现比较好的将多张图片拼接在一起的效果:

  1. \documentclass{article}
  2. \usepackage{graphicx}
  3. \usepackage{geometry}
  4. \geometry{a4paper,scale=0.97}
  5. \pagenumbering{gobble} % 实现没有页码
  6. \begin{document}
  7. % 插入第一张图片
  8. \begin{figure}[htbp]
  9.     \centering
  10.     \includegraphics[width=\textwidth]{./pic/pic_1.jpg}
  11. \end{figure}
  12. \clearpage
  13. % 插入第二张图片
  14. \begin{figure}[htbp]
  15.     \centering
  16.     \includegraphics[width=\textwidth]{./pic/pic_2.jpg}
  17. \end{figure}
  18. \clearpage
  19. \end{document}

我们也是可以控制图片的旋转. 在下面加上angle=270(旋转角度)

  1. \begin{figure}[htbp]
  2.     \centering
  3.     \includegraphics[width=\textwidth, angle=270]{./1.jpg}
  4. \end{figure}

我们也可以控制图像的大小, 可以控制textwidth的比例.

  1. \begin{figure}[htbp]
  2.     \centering
  3.     \includegraphics[width=0.75\textwidth]{./test.pdf}
  4. \end{figure}

有的时候,我们还需要控制图片距离上边界的距离,这个可以通过 vspace 来进行控制。下面看一个简答的例子。

  1. \documentclass{article}
  2. \usepackage{graphicx}
  3. \usepackage{geometry}
  4. \usepackage{pdfpages} % 插入pdf文件
  5. \geometry{a4paper,scale=0.99}
  6. \pagenumbering{gobble} % 实现没有页码
  7. \begin{document}
  8. % 插入图片
  9. \begin{figure}[htbp]
  10.     \vspace*{2cm}
  11.     \centering
  12.     \includegraphics[width=0.9\textwidth]{./Transcript_of_Records.jpg}
  13. \end{figure}
  14. \clearpage
  15. \end{document}

 

关于 pdf 的插入

上面是对于图片进行合并, 这里对pdf文件进行合并. 可以使用 includepdf 来插入 pdf。在插入 pdf 的时候,也是可以对原始的 pdf 进行旋转。下面的例子对原始 pdf 旋转了 90 度。

  1. \documentclass{article}
  2. \usepackage{graphicx}
  3. \usepackage{geometry}
  4. \geometry{a4paper,scale=0.97}
  5. \pagenumbering{gobble} % 实现没有页码
  6. \usepackage{pdfpages} % 插入pdf文件
  7. \begin{document}
  8. \includepdf[scale=0.99, angle=90, pages=1]{20200813171227.pdf}
  9. \clearpage
  10. \includepdf[scale=0.99, angle=90, pages=1]{20200813171244.pdf}
  11. \end{document}

如果需要插入 pdf 的所有页面,可以使用 pages={1-},这样会插入 pdf 的所有页面。

  1. \includepdf[pages={1-},scale=0.75]{bplot.pdf}

除了使用上面的方式,还可以使用 pages=1-5 这样来进行控制插入的页面。

  1. \includepdf[scale=1.2, pages=1-4]{./transcript.pdf}

 

关于页面横置

有的时候 pdf 是横着的,所以我们也希望我们的 LaTeX 页面也是横置的,可以在开头部分加上下面的命令即可,这样就是全局横置了。

  1. \usepackage[landscape]{geometry}

 

插入 pdf 包含 section 的标题

有的时候我们需要插入 pdf 的页面包含「标题」,而不是将 pdf 插入在一个空白的页面。这个时候就可以使用下面的方式,在 pagecommand 部分写入标题即可。

如果出现了页面宽度无法对齐的问题,可以删除下面的 fitpager=true 这个参数:

  1. \includepdf[pages=1,pagecommand={\subsection{Kopie des Projektantrages} \thispagestyle{empty}}, fitpaper=true]{\antrag}
  2. \includepdf[pages=2-,pagecommand={\thispagestyle{empty}}, fitpaper=true]{\antrag}

参考链接Include PDF on the same page

 

插入空白页

有的时候我们需要在插入图片或是 pdf 之后插入一个空白的页面,则可以使用以下的方式。首先定义一个 commandblankpage

  1. \newcommand\blankpage{%
  2.     \null
  3.     \thispagestyle{empty}%
  4.     \addtocounter{page}{-1}%
  5.     \newpage}

后面只需要在要插入的地方使用命令 blankpage 即可。例如下面想要在插入 pdf 之后插入一个空白的页面:

  1. \includepdf[scale=0.99, pages=1]{1.pdf}
  2. \blankpage

参考资料Insert a blank page after current page

 

插入一整页的 pdf

这个可以参考链接: Include centered full page figure with no margins

  • 微信公众号
  • 关注微信公众号
  • weinxin
  • QQ群
  • 我们的QQ群号
  • weinxin
王 茂南
  • 本文由 发表于 2019年12月11日07:36:34
  • 转载请务必保留本文链接:https://mathpretty.com/11502.html
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: