2017-04-11 47 views
0

我想打印雙面的A6小冊子。即使這個問題已經在互聯網上發佈了很多,我找不到任何合適的解決方案。 我想出了一種使用Latex和python的方法。 我用這個乳膠代碼:打印使用python和Latex的A6雙面小冊子

\documentclass[a4paper]{article} 
\usepackage[margin=0pt]{geometry} 
\usepackage[skins,raster]{tcolorbox} 
\pagestyle{empty} 
\begin{document} 
\begin{tcbraster}[raster height=\textheight,raster equal skip=0pt,blank, 

    graphics pages={8,1,6,3, 2,7,4,5}] 
    \tcbincludepdf{a6.pdf}% <-- The A6 document with 8 pages 
\end{tcbraster} 
\end{document} 

要rearange以正確的順序的頁面(a6.pdf是我要打印的文檔),我用這個Python代碼:

L=[] 
for i in range(0,100,8): 
    L.append(i+8) 
    L.append(i+1) 
    L.append(i+6) 
    L.append(i+3) 
    L.append(' '+str(i+2)) 
    L.append(i+7) 
    L.append(i+4) 
    L.append(i+5) 

生成正確順序的頁面列表(此處爲100頁)。

  1. 我該如何讓python在昏迷(8,1,6,3,...)的情況下水平打印?有了這個線程python: printing horizontally rather than current default printing我可以水平打印,但不能與昏迷。

  2. 我可以使用PyPDF2重新排列頁面並擺脫這個乳膠腳本?

回答

0

我不確定你的例子到底需要什麼,但pdfrw可以在PDF中輕鬆讀取並重新排列它以進行打印。

Here是一次安排頁面四個以綁定書籍的示例,而here是嵌套頁面的示例,例如,用於裝訂。

還有其他的例子,如果你需要旋轉頁面。

如果您只需要排列頁面,而不是在一個輸出頁面上放置多個輸入頁面,則最簡單的啓動地點可能是subset示例。還有一個cat的例子。

聲明:我是pdfrw的主要作者。