Увеличение размера PDF-файлов и закладок

4626
Tim

При чтении PDF-файлов с использованием Adobe Reader или Evince размер масштабирования всегда возвращается к значению по умолчанию при нажатии на закладки. Мне было интересно, возможно ли, чтобы размер масштабирования был установлен один раз для всех в течение одного сеанса просмотра?

Мой pdf-файл можно скачать здесь http://www.mediafire.com/file/b0ld7aq1ulq9uk3/1.pdf, на случай, если вам интересно, что в этом особенного.

Спасибо и всего наилучшего!

5

2 ответа на вопрос

6
Kurt Pfeifle

Нет, он не меняется обратно на «по умолчанию» при каждом нажатии на закладки. Он изменится на «Подогнать страницу под окно» .

Почему это?

И это так, потому что каждая из закладок определяется с дополнительным параметром, чтобы сделать именно это. В вашем PDF-коде это эквивалентно следующему фрагменту:

 7319 0 obj  <</D [1457 0 R /Fit] /S /GoTo>> endobj 

Это /Fitчасть фрагмента, в которой /GoToдействие говорит зрителю, что нужно визуализировать целевую страницу (указанную как /D), которую файл содержит в объекте 1457 0 objкак «Fit to window» ...

Как вы можете изменить это?

Не без каких-либо изменений в самом файле PDF. Вы не можете настроить своего зрителя на игнорирование этих инструкций, содержащихся в коде PDF (по крайней мере, я не знаю ни одного зрителя, который бы позволял это ...).

Таким образом, вы должны редактировать свои закладки в вашем файле PDF.

С помощью Adobe Acrobat Pro вы можете сделать это, щелкнув правой кнопкой мыши по закладке, выбрав « Свойства ...» из всплывающего контекстного меню и изменив «масштаб» для этой закладки с «Подогнать страницу к окну» на «$ whateveryouprefer».

Могут быть и другие редакторы PDF (Foxit Reader - хорошее предположение), которые также позволяют редактировать закладки, но я недостаточно знаком с ними, чтобы сказать наверняка, не просматривая его ....

Обновить:

Если вы решитесь, вы можете открыть свой PDF в текстовом или шестнадцатеричном редакторе. Поиск всех пятен, которые содержат /Fit. Измените их на /XYZ(Внимание, в вашем файле их более 600 - если вы знакомы с sedредактором потоков, вы также можете использовать этот инструмент). Это заставит Acrobat Reader сохранить текущий коэффициент масштабирования при переходе к цели после нажатия на закладку.

Спасибо! Используется ли команда sed в вашем обновлении как `sed s / \ / Fit / \ / XYZ / <1.pdf> 2.pdf`? Почему я получаю эту ошибку "sed: -e выражение # 1, char 8: неизвестная опция для` s '"? Спасибо! Tim 13 лет назад 0
@Tim: Попробуйте это так: `sed 's # / Fit # / XYZ #' in.pdf> out.pdf`. Sed позволяет использовать любой символ в качестве разделителя. Я предпочитаю `#`, потому что нахожу, что он лучше читается (и избегает необходимости экранировать `/`) .... Kurt Pfeifle 13 лет назад 0
Спасибо! И моя, и ваша не меняют исходную проблему масштабирования. Мне было интересно, может ли sed работать с файлами PDF, как если бы они были обычным текстом? Tim 13 лет назад 0
Мне также интересно, как вы просмотрели файл PDF, чтобы увидеть фрагмент? Я использую gedit, но не могу найти подходящий метод кодирования для декодирования контента. Tim 13 лет назад 0
@Tim: Моя командная строка работает. Это меняет вашу проблему просмотра / масштабирования. Вы на Windows или на Linux? Какая версия точно? Kurt Pfeifle 13 лет назад 0
Я в Ubuntu 10.10. Tim 13 лет назад 0
@Tim: Вот еще один трюк, который вы можете применить. Найдите ресурс загрузки утилиты `qpdf` в Интернете. (AFAIR, он может быть на * qpdf.sf.net *.) Установите его (он работает автономно как простой exe). Затем запустите `qpdf --qdf in.pdf out.pdf`. Это распакует некоторые потоки объектов PDF и перезапишет части ASCII, чтобы сделать его более читабельным. Затем примените строку sed к этому `out.pdf`. Вы также можете открыть файл out.pdf в редакторе и посмотреть места `/ Fit`. Kurt Pfeifle 13 лет назад 0
@Tim: В Ubuntu просто запустите `sudo apt-get install qpdf`. Kurt Pfeifle 13 лет назад 0
Спасибо! Оно работает! Интересно теперь, можно ли сжимать преобразованный файл обратно до небольшого размера? Tim 13 лет назад 0
@pipitas Это должно быть `sed 's # / Fit # / XYZ # g' in.pdf> out.pdf`, в противном случае заменяется только первое вхождение в каждой строке (а строки в файле PDF не имеют смысла). (См. [Как просмотреть и изменить код файла PDF] (http://unix.stackexchange.com/q/17220).) Gilles 13 лет назад 1
@pipitas: Мне также было интересно, как научиться понимать код PDF? Tim 13 лет назад 0
@Gilles: Моя команда также работает в зависимости от соглашения об окончании строки, используемого в PDF, и от операционной системы, в которой вы работаете. Тем не менее, я признаю: ваша команда всегда будет работать. Было моей ошибкой не думать об этой возможности ... Kurt Pfeifle 13 лет назад 0
@Tim: Начните с чтения + изучения http://www.gnupdf.org/Introduction_to_PDF, а затем продолжайте с http://www.mactech.com/articles/mactech/Vol.15/15.09/PDFIntro/index.html и наконец, http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/PDF32000_2008.pdf. Немного знаний о программировании на PostScript также помогает быстрее понять PDF. Kurt Pfeifle 13 лет назад 0
0
Valarie

откройте документ, перейдите в режим просмотра миниатюр, выберите все страницы, щелкните правой кнопкой мыши свойства страницы, выберите вкладку «действие», нажмите кнопку «Добавить», выберите «Вид»> «Увеличить»> «Соответствовать высоте», закрыть

перейти к просмотру закладок. нажмите на закладки и просмотр страницы по умолчанию для всех

Похожие вопросы