2014-08-28 16 views
3

簡短問題: 是否有PDF命令行/ shell工具(用於osx)可以在PDF上設置必要屬性以使其成爲在「單頁視圖」最初打開(適合窗口)命令行工具將PDF標記爲在單頁視圖中打開


更多信息

我目前使用生成的PDF文件WkhtmlToPdf在某些情況下通過合併PHP和一些使用PDFTK生成的文件在Mac上調用shell。

但是,在「單頁面查看」/「適合窗口」中,我希望用戶PDF閱讀器默認打開這些文檔。

我遇到以下question這表明這個功能被放在PDFTk的功能請求列表中,但我找不到對它的執行的參考。我也遇到Advanced PDF Tools(見-q [OpenAction]標誌),然而,這個工具似乎只適用於Windows和我需要的東西,它支持OSX

回答

1

你可以用CPDF做到這一點:

cpdf in.pdf -set-page-layout SinglePage AND -fit-window -o out.pdf 
0

您可以使用PostScript代碼段,使用特殊的pdfmark運算符在Ghostscript幫助下將適當的DOCVIEW設置插入到目標PDF中。

這裏是嵌入在一個文本文件爲例,my-pdf-docview-pdfmark.ps

[ /PageMode /UseOutlines % Display bookmarks upon opening the doc 
%/PageMode /UseThumbs % Display thumbnails upon opening the doc 
%/PageMode /FullScreen % Open the document in fullscreen mode 
%/PageMode /None   % Display neither bookmarks nor thumbnails upon opening 
    /Page 2     % Open document with page 2, not page 1! 
%/View [ /XYZ null null null ] 
          % Go to specified page and retain same ... 
          % ... horizontal/vertical offset+zoom as current page 
    /View /Fit    % Fit page to window 
%/View /FitB    % Fit visible part of page to window 
%/View [/FitH 220]  % Fit page width to window; 220 is distance ... 
          % ... of page origin from top of window 
             /DOCVIEW pdfmark 

[ {Catalog} << 
       /PageLayout /SinglePage 
      %/PageLayout /OneColumn 
      %/PageLayout /TwoColumnRight 
      %/PageLayout /TwoColumnLeft 
      >>       /PUT  pdfmark 

注意,這是不是一個錯誤,只看到左方括號[,但沒有一個關閉一個。 [是一個運算符,它由最終關鍵字pdfmark關閉。

上面的一些行未用初始%字符評論以向您展示其他替代方案。

請注意,這可能不適用於所有用戶或所有觀衆。這些設置只是對觀衆的暗示和建議,觀衆可能會或可能不會尊重他們。此外,用戶可以覆蓋其查看器的配置並告訴它始終忽略這些提示,而是按用戶指定的方式打開所有PDF。

一旦你創建的上述文件,將其應用到PDF:

gs -o output.pdf    \ 
    -sDEVICE=pdfwrite   \ 
    my-pdf-docview-pdfmark.ps \ 
    -f input.pdf 
相關問題