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