2013-10-25 2 views
0

, в то время как тема моего вопроса, похоже, хорошо поддерживается многими пакетами и инструментами для обработки PDF-файлов, мне нужно четко указать, что я не хочу поворачивать PDF.Поворот PDF без изменения ориентации

У меня есть PDF, который предоставляет портретную ориентацию (A4) с размерами WxH 297x210 (с апертурой A4).

Теперь, что мне нужно для достижения, заключается в том, что этот PDF имеет ландшафтную ориентацию при сохранении размеров.

Я не уверен, что это требует от меня выполнения.

Если я использую Adobe Illustrator для изменения формата документа в нужную позицию, мне также необходимо повернуть содержимое. Если я помещаю эту страницу в плохо сконструированный PDF, поля формы и все аннотации на этой странице все еще находятся в портретной ориентации.

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

Спасибо за вашу поддержку!

Томас

+0

Я действительно не понимаю, чего вы хотите :) кто-нибудь еще? –

+0

@ maf-soft Внутри PDF размеры страницы задаются прямоугольником и углом поворота. Если вы хотите иметь альбом A4, вы можете использовать прямоугольник 297x210 и нет (или 180 °) или прямоугольник 210x297 и поворот на 90 ° или 270 °. ОП, похоже, имеет его в одном направлении и нуждается в другом. У меня еще не было требования по конкретному пути. Таким образом, я, к сожалению, не знаю инструмента для помощи. – mkl

+0

Проблема появляется только при печати. PDF создается в файл PS с использованием инструментальной цепочки, включая ghostscript. Полученный файл PS отправляется непосредственно на принтер. Принтер в этом случае не распознает, что файл должен быть повернут, чтобы он поместился на странице, и печатает альбомную форму формата А4, как если бы он был в портрете и отрезал правую треть. – thst

ответ

3

Не совсем понятно, что вы хотите, но я думаю, что вы хотите изменить вращение просмотра, вращая содержимое и размеры страницы, чтобы компенсировать.

В этом случае, то CPDF command line tools может сделать это:

cpdf -upright in.pdf -o out.pdf 

который сделает вращение просмотра 0, вращающееся содержимое и изменение размеров страниц для компенсации. Вы можете изменить смотровое вращение, как вам нравится с

cpdf -rotate <angle> in.pdf -o out.pdf 

(абсолютным) или

cpdf -rotate-by <angle> in.pdf -o out.pdf 

(относительный), где <angle> является 0, 90, 180, 270, 360.

Если этого не хватает, вы также

cpdf -rotate-contents <angle> in.pdf -o out.pdf 

где находится ряд градусов вращаться по часовой стрелке, и

cpdf -mediabox "minx miny width height" in.pdf -o out.pdf 
+0

Привет, я не могу сказать, если бы то, что вы предложили, служило бы той же цели. Я опубликую то, что я сделал, чтобы решить эту проблему, но я готов передать вам все это, если бы это тоже решило: во-первых, я создал новые страницы в Adobe Illustrator с ориентационным ландшафтом без вращения. Затем я скопировал содержимое исходного PDF в ландшафтный. Чтобы поместиться на странице, содержимое пришлось повернуть. Затем я загрузил разбитый PDF-файл в Adobe Acrobat Pro, заменив все страницы новыми. Теперь все поля по-прежнему вращаются. Я использовал Javascript для восстановления этого. – thst

+0

Хорошо, я попробовал cpdf с вашим подходом. «вертикально», кажется, исправляет, что я сделал с Illustrator ниже! Мне нужно проверить это завтра, это, по-видимому, самый быстрый способ получить PDF в ожидаемой ориентации. Поля не были исправлены с этим, мой JavaScript все еще требовался. – thst

0

Вы можете использовать FoxitReader. Это бесплатно, и у него есть функция HOME -> ROTATE VIEW, которая делает то, что вы хотите.

+0

Как я уже сказал, вращение PDF-файла не помогло. При вращении он печатает правильно, но сгенерированные изображения теперь находятся в портрете. Мне нужно было бы изменить только ориентацию. Но тогда все элементы на странице все еще сохраняют свое вращение и отходят от угла на 90 °. – thst

0

Сначала я установил PDF.

Похоже, что cpdf -upright также исправит это. Если вы не можете использовать cpdf, из-за коммерческого использования вы можете использовать ручной подход, как показано в Adobe Illustrator.

cpdf не корректировал ориентацию Acrofields, а не аннотации в pdf. Мне пришлось воссоздать аннотации. Acrofields можно установить с помощью JavaScript, как показано ниже.

  1. открыть PDF в Adobe Illustrator
  2. Повторите для каждой страницы 1..n вашего документа, текущая страница является «х» в следующих шагах:
  3. Создайте новый документ в А4, пейзаж режиме, убедитесь, что размер точно равен 297x210 (ШхВ)!
    1. Открыть PDF страница х в Illustrator
    2. Скопируйте все элементы страницы х на новый документ с помощью функции копирования/вставки
    3. Использование Object/Transform/Rotate, чтобы повернуть на нужный угол, как правило, вам нужно -90 ° или + 90 °
    4. Место повернутые объекты на странице, чтобы соответствовать вашим ожиданиям
    5. Сохранить документ как «страница-x.pdf»
    6. Закрыть страницу в формате PDF х
    7. Повторите с следующей странице до готовности ...
  4. Открыть Acrobat X, чтобы объединить одну страницу -.... pdf в один большой PDF. Проверьте онлайн-документацию, если вы не уверены в этом. Не нарушайте порядок страниц!
  5. Открыть сломанный PDF
  6. Сохранить с новым именем
  7. Откройте инструмент страницы, выбрать «заменить страницы» функцию.
  8. Выберите объединенный PDF в качестве источника страницы и замените все страницы в сломанном PDF на фиксированные страницы из объединенного PDF.
  9. Вы должны увидеть поля, стоя под углом 90 ° от положения, в котором они должны быть

Тогда я установил Acrofields с помощью PDF JavaScript в Acrobat Pro.

  1. Открыть консоль Javascript.
  2. Введите следующий сценарий:

    var box = getPageBox(); 
    var w = box[2] - box[0]; 
    var h = box[1] - box[3]; 
    // left,top   right,bottom 
    // bottom, h-left  top, h-right 
    for(i=0; i<numFields; i++) { 
        var f = getField(getNthFieldName(i)); 
        var orig = f.rect; 
        f.rect = [orig[3], h-orig[0], orig[1], h-orig[2]]; 
        f.rotation = 0; 
    } 
    

    Для выполнения, выделите сценарий и нажмите клавишу ввода, НЕ ВОЗВРАЩАЕТСЯ. Клавиша ENTER - это клавиша ввода на клавиатуре. Это выполнит выделенный JavaScript. Поля формы будут повернуты на + 90 ° и должны быть расположены почти правильно, но, по крайней мере, вблизи позиции, где они должны быть.

  3. Перейдите по всем страницам, выберите все поля на странице и переместите все поля в нужное положение.
Смежные вопросы