Изменить ориентацию

Введение

Вы когда-нибудь сталкивались с трудностями при работе с PDF-файлом, в котором ориентация страниц просто… не та? Возможно, вы имеете дело с документом, который был отсканирован или создан неправильно, и страницы нужно повернуть, чтобы они имели смысл. К счастью для нас, Aspose.PDF для .NET предоставляет простой и мощный способ манипулировать PDF-файлами практически любым мыслимым способом, включая изменение ориентации страниц. Независимо от того, хотите ли вы переключиться с портретной ориентации на альбомную или наоборот, это руководство проведет вас через этот процесс шаг за шагом.

Итак, если вы готовы окунуться в мир и с легкостью вращать страницы PDF-файлов, давайте начнем!

Предпосылки

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

  • Aspose.PDF для .NET: Убедитесь, что вы установили библиотеку Aspose.PDF для .NET. Если вы этого не сделали, вы можете скачать здесь .
  • Среда разработки .NET: вы можете использовать Visual Studio, JetBrains Rider или любую предпочитаемую вами IDE для работы с .NET.
  • Базовые знания C#: хотя это руководство и понятно, некоторые базовые знания C# сделают его еще более простым.
  • Файл PDF: В примере ниже предполагается, что у вас есть файл PDF с несколькими страницами. Если у вас нет под рукой, создайте или загрузите образец PDF для работы.

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

Импорт пространств имен

Прежде чем вы сможете управлять ориентацией страниц в вашем PDF, вам нужно будет импортировать необходимые пространства имен в ваш проект C#. Убедитесь, что у вас есть следующее:

using System.IO;
using Aspose.Pdf;

Импортировав все это, давайте перейдем к основной части урока.

Шаг 1: Загрузите PDF-документ

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

string dataDir = "YOUR DOCUMENT DIRECTORY";
Document doc = new Document(dataDir + "input.pdf");

Эта строка загружает PDF из указанного вами каталога. Обязательно замените"YOUR DOCUMENT DIRECTORY" с фактическим путем к вашему файлу."input.pdf" это PDF-файл, ориентацию которого вы хотите изменить.

Шаг 2: Просмотрите каждую страницу

Теперь, когда документ загружен, давайте пройдемся по каждой странице в PDF. Мы будем использоватьforeach цикл, проходящий по каждой странице, что позволяет нам применить изменение ориентации ко всем из них.

foreach (Page page in doc.Pages)
{
    // Манипулируйте каждой страницей
}

Этот цикл будет проходить по всем страницам документа.

Шаг 3: Получите MediaBox страницы

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

Aspose.Pdf.Rectangle r = page.MediaBox;

TheMediaBox дает нам размеры страницы, такие как ее ширина, высота и расположение.

Шаг 4: Поменяйте местами ширину и высоту

Чтобы изменить ориентацию страницы с портретной на альбомную или с альбомной на портретную, мы просто меняем значения ширины и высоты. Этот шаг отрегулирует размеры страницы.

double newHeight = r.Width;
double newWidth = r.Height;
double newLLX = r.LLX;
double newLLY = r.LLY + (r.Height - newHeight);

Этот код меняет местами высоту и ширину, а также перемещает нижний левый угол (LLY) так, чтобы содержимое аккуратно помещалось после поворота.

Шаг 5: Обновите MediaBox и CropBox

Теперь, когда у нас есть новая высота и ширина, давайте применим изменения к странице.MediaBox иCropBox .CropBox необходим, если в исходном документе был один набор, обеспечивая правильное отображение всей страницы.

page.MediaBox = new Aspose.Pdf.Rectangle(newLLX, newLLY, newLLX + newWidth, newLLY + newHeight);
page.CropBox = new Aspose.Pdf.Rectangle(newLLX, newLLY, newLLX + newWidth, newLLY + newHeight);

На этом этапе размер страницы изменяется на основе новых размеров, которые мы только что рассчитали.

Шаг 6: Поверните страницу

Наконец, мы задаем угол поворота страницы. Aspose.PDF делает это очень просто. Мы можем повернуть страницу на 90 градусов, чтобы перейти из портретной ориентации в альбомную или наоборот.

page.Rotate = Rotation.on90;

Этот код поворачивает страницу на 90 градусов, переворачивая ее в нужную ориентацию.

Шаг 7: Сохраните выходной PDF-файл

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

dataDir = dataDir + "ChangeOrientation_out.pdf";
doc.Save(dataDir);
System.Console.WriteLine("\nPage orientation changed successfully.\nFile saved at " + dataDir);

Обязательно укажите новое имя файла (в данном случаеChangeOrientation_out.pdf) для сохранения вывода. Таким образом, вы не перезапишете исходный файл.

Заключение

И вот вам! Изменение ориентации страницы PDF-файла с помощью Aspose.PDF для .NET так же просто, как загрузка документа, циклический просмотр страниц, настройка MediaBox и сохранение обновленного файла. Независимо от того, имеете ли вы дело с плохо отсканированным документом или вам нужно повернуть страницы в соответствии с вашими потребностями в форматировании, это пошаговое руководство должно вам помочь.

Часто задаваемые вопросы

Можно ли повернуть определенные страницы, а не все страницы в PDF-файле?

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

Что такоеMediaBox?

TheMediaBox определяет размер и форму страницы в файле PDF. Это место, где размещается содержимое страницы.

Работает ли Aspose.PDF для .NET с другими форматами файлов?

Да, Aspose.PDF может обрабатывать различные форматы файлов, такие как HTML, XML, XPS и другие.

Существует ли бесплатная версия Aspose.PDF для .NET?

Да, вы можете начать с бесплатная пробная версия или запросить временная лицензия .

Можно ли отменить изменения после сохранения?

После сохранения документа изменения становятся постоянными. Обязательно работайте с копией или сохраняйте резервную копию исходного файла.