Изменить ориентацию
Введение
Вы когда-нибудь сталкивались с трудностями при работе с 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?
Да, вы можете начать сбесплатная пробная версия или запроситьвременная лицензия.
Можно ли отменить изменения после сохранения?
После сохранения документа изменения становятся постоянными. Обязательно работайте с копией или сохраняйте резервную копию исходного файла.