Обработка файлов в Xamarin.Forms
Xamarin.Forms код выполняется на нескольких платформах, каждая из которых имеет собственную файловую систему. Ранее это означало, что чтение и запись файлов проще всего выполнялись с помощью собственных API файлов на каждой платформе. Кроме того, внедренные ресурсы позволяют проще распространять файлы данных с приложением. Однако с помощью .NET Standard 2.0 можно совместно использовать код доступа к файлам в библиотеках .NET Standard.
Дополнительные сведения об обработке файлов изображений см. на странице Работа с изображениями.
Сохранение и загрузка файлов
Классы System.IO можно использовать для доступа к файловой системе на каждой платформе. Класс File позволяет создавать, удалять и считывать файлы, а класс и Directory — создавать, удалять или перечислять содержимое каталогов. Вы также можете использовать подклассы Stream , способные полнее контролировать операции с файлами (например, сжатие или поиск позиции в файле).
Текстовый файл может быть записан с помощью метода File.WriteAllText :
File.WriteAllText(fileName, text);
Текстовый файл может быть считан с помощью метода File.ReadAllText :
string text = File.ReadAllText(fileName);
Кроме того, метод File.Exists определяет, существует ли заданный файл:
bool doesExist = File.Exists(fileName);
Путь к файлу на каждой платформе можно определить из библиотеки .NET Standard, используя значение перечисления Environment.SpecialFolder в качестве первого аргумента метода Environment.GetFolderPath . Затем его можно объединить с именем файла с помощью метода Path.Combine :
string fileName = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "temp.txt");
Эти операции продемонстрированы в примере приложения, включающем в себя страницу, которая сохраняет и загружает текст:

Загрузка файлов, внедряемых в качестве ресурсов
Чтобы внедрить файл в сборку .NET Standard, создайте или добавьте файл и убедитесь, что настроено Действие при сборке: EmbeddedResource.
- Visual Studio
- Visual Studio для Mac


GetManifestResourceStream используется для доступа к внедренному файлу с помощью его идентификатора ресурса. По умолчанию идентификатор ресурса — это имя файла с префиксом пространства имен по умолчанию для внедренного проекта. В этом случае сборка — WorkingWithFiles , а имя файла —LibTextResource.txt, поэтому идентификатор ресурса — WorkingWithFiles.LibTextResource.txt .
var assembly = IntrospectionExtensions.GetTypeInfo(typeof(LoadResourceText)).Assembly; Stream stream = assembly.GetManifestResourceStream("WorkingWithFiles.LibTextResource.txt"); string text = ""; using (var reader = new System.IO.StreamReader (stream))
После этого можно воспользоваться переменной text , чтобы отобразить текст или использовать его в коде иным образом. Этот снимок экрана примера приложения отображает текст, отрисованный в элементе управления Label .

Загрузка и десериализация XML выполняется так же просто. В следующем коде показан XML-файл, который загружается и десериализируется из ресурса, а затем привязывается к ListView для отображения. Этот XML-файл содержит массив объектов Monkey (класс определен в примере кода).
var assembly = IntrospectionExtensions.GetTypeInfo(typeof(LoadResourceText)).Assembly; Stream stream = assembly.GetManifestResourceStream("WorkingWithFiles.LibXmlResource.xml"); List monkeys; using (var reader = new System.IO.StreamReader (stream)) < var serializer = new XmlSerializer(typeof(List)); monkeys = (List)serializer.Deserialize(reader); > var listView = new ListView (); listView.ItemsSource = monkeys;
Внедрение в общие проекты
Общие проекты также могут содержать файлы в виде внедренных ресурсов, но так как содержимое общего проекта компилируется в ссылающиеся проекты, префикс, используемый для идентификаторов ресурса внедренных файлов, может измениться. Это означает, что идентификатор ресурса для каждого внедренного файла может быть разным для каждой платформы.
Существует два решения этой проблемы в общих проектах:
- Синхронизация проектов . Измените свойства проекта для каждой платформы, чтобы использовать одно и то же имя сборки и пространство имен по умолчанию. Затем это значение можно жестко задать в качестве префикса для идентификаторов внедренных ресурсов в общем проекте.
- Директивы компилятора #if — можно использовать директивы компилятора, чтобы задать правильный префикс идентификатора ресурса и использовать это значение для динамического формирования необходимого идентификатора ресурса.
Ниже приведен код, иллюстрирующий второй вариант. Директивы компилятора используются для выбора жестко заданного префикса ресурса (который обычно такой же, как и пространство имен по умолчанию для ссылающегося проекта). Затем переменная resourcePrefix используется для создания допустимого идентификатора ресурса путем сцепления с именем файла внедренного ресурса.
#if __IOS__ var resourcePrefix = "WorkingWithFiles.iOS."; #endif #if __ANDROID__ var resourcePrefix = "WorkingWithFiles.Droid."; #endif Debug.WriteLine("Using this resource prefix: " + resourcePrefix); // note that the prefix includes the trailing period '.' that is required var assembly = IntrospectionExtensions.GetTypeInfo(typeof(SharedPage)).Assembly; Stream stream = assembly.GetManifestResourceStream (resourcePrefix + "SharedTextResource.txt");
Упорядочение ресурсов
В приведенных выше примерах предполагается, что файл внедряется в корень проекта библиотеки .NET Standard, то есть идентификатор ресурса имеет форму пространство_имен.имя_файла.расширение, например WorkingWithFiles.LibTextResource.txt и WorkingWithFiles.iOS.SharedTextResource.txt .
Можно упорядочить внедренные ресурсы по папкам. Если внедренный ресурс помещается в папку, ее имя становится частью идентификатора ресурса (разделенного точками), таким образом, формат идентификатора ресурса принимает вид пространство_имен.папка.имя_файла.расширение. Если поместить файлы, используемые в примере приложения, в папку MyFolder, соответствующие идентификаторы ресурсов примут вид WorkingWithFiles.MyFolder.LibTextResource.txt и WorkingWithFiles.iOS.MyFolder.SharedTextResource.txt .
Отладка внедренных ресурсов
Так как иногда сложно понять, почему конкретный ресурс не загружается, можно временно добавить в приложение приведенный ниже код отладки, чтобы убедиться, что ресурсы настроены правильно. Он выводит все известные ресурсы, внедренные в заданную сборку, на панели Ошибки, чтобы облегчить отладку проблем с загрузкой ресурсов.
using System.Reflection; // . // use for debugging, not in released app code! var assembly = IntrospectionExtensions.GetTypeInfo(typeof(SharedPage)).Assembly; foreach (var res in assembly.GetManifestResourceNames())
Итоги
В этой статье показаны некоторые простые операции с файлами для сохранения и загрузки текста на устройстве, а также для загрузки внедренных ресурсов. С помощью .NET Standard 2.0 можно совместно использовать код доступа к файлам в библиотеках .NET Standard.
Связанные ссылки
- FilesSample
- Примеры для Xamarin.Forms
- Работа с файловой системой в Xamarin.iOS
Книга о создании мобильных приложений с помощью Xamarin.Forms

Книга Создание мобильных приложений с Xamarin.Forms помощью Чарльза Петцольда является руководством по написанию Xamarin.Forms приложений. Единственным предварительным условием является знание языка программирования C#. Книга предоставляет подробный обзор пользовательского интерфейса Xamarin.Forms, а также охватывает анимацию, MVVM, триггеры, реакции на событие, пользовательские макеты, пользовательские отрисовщики и многое другое.
Книга была опубликована весной 2016 г. и с тех пор не обновлялась. Многое в этой книге остается ценным, но некоторые материалы устарели, а некоторые разделы перестали быть полностью верными или полными.
Скачайте электронную книгу бесплатно
Скачайте электронную книгу из Microsoft Virtual Academy в любом удобном формате:
Вы также можете скачать сводки отдельных глав в виде PDF-файлов.
Примеры
Все примеры доступны на сайте github и содержат проекты для iOS, Android и универсальной платформы Windows (UWP). (Xamarin.Forms уже не поддерживает Windows 10 Mobile, но приложения Xamarin.Forms будут нормально работать в Windows 10 для настольных компьютеров.)
Сводная информация о главах
Сводки глав доступны в таблице глав, приведенной ниже. Эти сводки описывают содержимое каждой главы и содержат ссылки нескольких типов:
- Ссылка на фактическую электронную книгу (бесплатная dpwnload)
- Ссылки на все примеры в репозитории GitHub xamarin-forms-book-samples
- Ссылки на документацию по API с более подробными описаниями классов, структур, свойств, перечислений Xamarin.Forms и т. п.
Эти сводки также указывают, какая часть материала в главе может быть устаревшей.
Скачивание всей электронной книги или просмотр сводки по главам
| Глава | Полная электронная книга | Сводка по главам |
|---|---|---|
| Глава 1. Как применить Xamarin.Forms? | Скачать pdf-файл книги | Сводка |
| Глава 2. Анатомия приложения | Скачать pdf-файл книги | Сводка |
| Глава 3. Более подробная информация | Скачать pdf-файл книги | Сводка |
| Глава 4. Прокрутка стека | Скачать pdf-файл книги | Сводка |
| Глава 5. Работа с размерами | Скачать pdf-файл книги | Сводка |
| Глава 6. Нажатия кнопки | Скачать pdf-файл книги | Сводка |
| Глава 7. XAML и Код | Скачать pdf-файл книги | Сводка |
| Глава 8. Совместное использование кода и XAML | Скачать pdf-файл книги | Сводка |
| Глава 9. Вызовы API конкретных платформ | Скачать pdf-файл книги | Сводка |
| Глава 10. Расширения разметки XAML | Скачать pdf-файл книги | Сводка |
| Глава 11. Инфраструктура c возможностью привязки | Скачать pdf-файл книги | Сводка |
| Глава 12. Стили | Скачать pdf-файл книги | Сводка |
| Глава 13. Растровые изображения | Скачать pdf-файл книги | Сводка |
| Глава 14. Абсолютный макет | Скачать pdf-файл книги | Сводка |
| Глава 15. Интерактивный интерфейс | Скачать pdf-файл книги | Сводка |
| Глава 16. Привязка данных | Скачать pdf-файл книги | Сводка |
| Глава 17. Достигаем мастерства в использовании класса Grid | Скачать pdf-файл книги | Сводка |
| Глава 18. MVVM | Скачать pdf-файл книги | Сводка |
| Глава 19. Представления коллекций | Скачать pdf-файл книги | Сводка |
| Глава 20. Асинхронные и файловые операции ввода-вывода | Скачать pdf-файл книги | Сводка |
| Глава 21. Transform | Скачать pdf-файл книги | Сводка |
| Глава 22. Анимация | Скачать pdf-файл книги | Сводка |
| Глава 23. Триггеры и реакции на событие | Скачать pdf-файл книги | Сводка |
| Глава 24. Переход по страницам | Скачать pdf-файл книги | Сводка |
| Глава 25. Виды страниц | Скачать pdf-файл книги | Сводка |
| Глава 26. Пользовательские макеты | Скачать pdf-файл книги | Сводка |
| Глава 27. Пользовательские отрисовщики | Скачать pdf-файл книги | Сводка |
| Глава 28. Расположение и карты | Скачать pdf-файл книги | Сводка |
Где и в чем устарела эта книга
С момента публикации книги Создание мобильных приложений с помощью Xamarin.Forms в Xamarin.Forms добавлено несколько новых возможностей. Эти возможности описаны в отдельных статьях документации по Xamarin.Forms.
Другие изменения привели к тому, что часть содержимого книги устарела.
Переносимые библиотеки классов заменены библиотеками .NET Standard 2.0
Приложение Xamarin.Forms обычно использует библиотеку для совместного использования кода на нескольких платформах. Изначально использовался формат переносимой библиотеки классов (PCL). На этот формат PCL есть много ссылок во всей книге и в сводках по главам.
Переносимая библиотека классов с тех пор заменена библиотеками .NET Standard 2.0, как описано в статье Поддержка .NET Standard 2.0 в Xamarin.Forms. Все примеры кода из книги уже преобразованы для использования библиотек .NET Standard 2.0.
Основная часть информации в книге, имеющей отношение к применению переносимой библиотеки классов, сохраняет свою актуальность и для библиотек .NET Standard 2.0. Одно из различий заключается в том, что только PCL имеет числовой «профиль». Кроме того, существуют некоторые преимущества библиотек .NET Standard 2.0. Например, в Главе 20 Асинхронные и файловые операции ввода-вывода описывается использование базовых платформ для выполнения файлового ввода и вывода. Это больше не требуется. Библиотека .NET Standard 2.0 поддерживает уже знакомые классы System.IO для всех платформ Xamarin.Forms.
Также библиотека .NET Standard 2.0 позволяет приложениям Xamarin.Forms использовать HttpClient для доступа к файлам через Интернет, обходясь без WebRequest и других классов.
Роль XAML стала более значительной
В начале книги Создание мобильных приложений с помощью Xamarin.Forms описано, как создавать приложения Xamarin.Forms на языке C#. Язык XAML в ней даже не упоминается вплоть до Главы 7 XAML и код.
Теперь XAML играет гораздо более важную роль в Xamarin.Forms. Шаблоны решений Xamarin.Forms, распространяемые в составе Visual Studio, создают файлы страниц на основе XAML. Разработчику для Xamarin.Forms необходимо как можно раньше ознакомиться с XAML. Раздел Язык XAML в документации по Xamarin.Forms содержит несколько статей на эту тему, с которых вам будет удобно начать знакомство.
Поддерживаемые платформы
Xamarin.Forms более не поддерживает платформы Windows 8.1 и Windows Phone 8.1.
В этой книге иногда упоминается среда выполнения Windows. Это собирательный термин, который включает все API Windows из нескольких версий ОС Windows и Windows Phone. Более новые версии Xamarin.Forms ограничиваются поддержкой универсальной платформы Windows, которая предоставляет API только для Windows 10 и Windows 10 Mobile.
Библиотека .NET Standard 2.0 не поддерживает ни одну из версий Windows 10 Mobile. Таким образом, приложение Xamarin.Forms, которое использует библиотеку .NET Standard, не удастся выполнить на устройстве Windows 10 Mobile. Приложения Xamarin.Forms по-прежнему успешно выполняются на Windows 10 для настольных компьютеров версии 10.0.16299.0 или более новых.
В режиме предварительной версии Xamarin.Forms поддерживает платформы Mac, WPF, GTK# и Tizen.
Сводная информация о главах
Сводки по отдельным главам содержат сведения об изменениях в Xamarin.Forms, внесенных с момента выхода книги. Они предоставляются в форме примечаний и заметок:
Примечания на каждой странице описывают области, в которых работа с Xamarin.Forms не соответствует материалам, представленным в книге.
Примеры
В репозитории xamarin-forms-book-samples на сайте GitHub в ветви original-code-from-book содержатся примеры программ, согласованные с этой книгой. Главная ветвь содержит проекты, в которых удалены нерекомендуемые API и добавлены улучшенные API. Кроме того, проекты Android в главной ветви обновлены с учетом материального исполнения с помощью AppCompat для Android и в большинстве случаев теперь отображают черный текст на белом фоне.
Связанные ссылки
- Блог Microsoft Press
- Пример кода из книги
Создать файл PDF
Есть программа на WinForms которая в числе прочего формирует небольшой отчет в txt формате. С этим все просто, но возникла необходимость сохранять еще и картинку. Вопрос : можно ли силами c# создать pdf с текстом и изображением, если да то как?
Отслеживать
задан 13 апр 2017 в 12:04
3,880 4 4 золотых знака 36 36 серебряных знаков 82 82 бронзовых знака
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
var document = new iTextSharp.text.Document();
using (var writer = PdfWriter.GetInstance(document, new FileStream("result.pdf", FileMode.Create))) < document.Open(); // do some work here document.Close(); writer.Close(); >
writer.DirectContent.MoveTo(35, 780); writer.DirectContent.LineTo(430, 780);
var logo = iTextSharp.text.Image.GetInstance(new FileStream(@"Resources\logo.jpg", FileMode.Open)); logo.SetAbsolutePosition(440, 758); writer.DirectContent.AddImage(logo);
helvetica = new iTextSharp.text.Font(iTextSharp.text.Font.FontFamily.HELVETICA, 12); helveticaBase = helvetica.GetCalculatedBaseFont(false); writer.DirectContent.BeginText(); writer.DirectContent.SetFontAndSize(helveticaBase, 12f); writer.DirectContent.ShowTextAligned(iTextSharp.text.Element.ALIGN_LEFT, "Hello world!", 35, 766, 0); writer.DirectContent.EndText();
С помощью других библиотек (iTextSharp Report.NET PDFsharp SharpPDF PDFjet ASP.NET FO PDF PDF Clown) описано здесь
Создание PDF-файлов с помощью C# — .NET PDF API

В последние дни автоматическая генерация и обработка документов PDF стала востребованной функцией. В различных приложениях PDF-документы генерируются динамически, например, счета-фактуры, квитанции и различные типы отчетов. В соответствии с этим в этой статье рассматривается базовая реализация автоматизации PDF в приложениях .NET. В конечном итоге вы научитесь создавать PDF-файлы с помощью C#. В примерах кода показано, как вставлять текст, изображения, таблицы и другие компоненты в PDF с помощью C#.
- C# PDF API — скачать бесплатно
- Создание PDF-файлов на C#
- Редактировать существующий PDF-файл в C#
- Вставить изображение в PDF с помощью С#
- Создайте таблицу в PDF с помощью С#
- Создать форму в PDF на С#
C# .NET PDF API — скачать бесплатно#
Aspose.PDF for .NET — это API для работы с PDF-файлами, который позволяет создавать и обрабатывать PDF-файлы из приложений .NET. Используя API, вы можете динамически создавать различные виды отчетов и бизнес-документов. API доступен в виде загружаемой библиотеки DLL, а также размещен на NuGet.
Install-Package Aspose.Pdf
Создание PDF-файлов на C##
Начнем с создания простого PDF-документа, содержащего текстовый фрагмент. Ниже приведены шаги для создания файла PDF с помощью C#.
- Создайте объект класса Document.
- Добавьте страницу в документ с помощью метода Document.Pages.Add().
- Создайте новый объект TextFragment и задайте его текст.
- Добавьте TextFragment в коллекцию Paragraphs страницы.
- Сохраните файл PDF, используя метод Document.Save(String).
В следующем примере кода показано, как создать простой файл PDF с помощью C#.
// Инициализировать объект документа Document document = new Document(); // Добавить страницу Page page = document.Pages.Add(); // Добавить текст на новую страницу page.Paragraphs.Add(new Aspose.Pdf.Text.TextFragment("Hello World!")); // Сохранить PDF document.Save("document.pdf");
Редактировать файл PDF в C##
Изменить файл PDF так же просто, как создать новый. Просто загрузите файл с помощью класса Document, выполните нужные операции и сохраните его. Ниже приведены шаги для изменения PDF.
- Создайте объект класса Document и укажите путь к PDF-файлу его конструктору.
- Управление страницами или содержимым документа.
- Сохраните документ с помощью метода Document.Save().
В следующем примере кода показано, как изменить PDF-файл с помощью C#.
// Загрузить PDF var pdfDocument = new Aspose.Pdf.Document("document.pdf"); // Сделайте некоторые манипуляции, например добавьте новую пустую страницу pdfDocument.Pages.Add(); // Сохраните обновленный PDF pdfDocument.Save(modifiedFileName);
Вставить изображение в PDF с помощью С##
Давайте теперь проверим, как вставить изображение в документ PDF. Ниже приведены шаги для этого.
- Создайте объект класса Document, чтобы открыть PDF-документ.
- Получите доступ к странице, на которую вы хотите добавить изображение, используя класс Page.
- Добавьте изображение в коллекцию Ресурсы страницы.
- Используйте операторы для размещения изображения на странице:
- GСохранить operator to save the current graphical state.
- ConcatenateMatrix operator to specify where the image is to be placed.
- Делать operator to draw the image on the page.
- Наконец, используйте оператор GRestore для сохранения обновленного графического состояния.
В следующем примере кода показано, как добавить изображение в документ PDF с помощью C#.
// Открыть документ Document pdfDocument = new Document("document.pdf"); // Установить координаты int lowerLeftX = 100; int lowerLeftY = 100; int upperRightX = 200; int upperRightY = 200; // Получить страницу, на которую нужно добавить изображение Page page = pdfDocument.Pages[1]; // Загрузить изображение в поток FileStream imageStream = new FileStream("aspose-logo.jpg", FileMode.Open); // Добавить изображение в коллекцию изображений ресурсов страницы page.Resources.Images.Add(imageStream); // Использование оператора GSave: этот оператор сохраняет текущее состояние графики. page.Contents.Add(new Aspose.Pdf.Operators.GSave()); // Создание объектов «Прямоугольник» и «Матрица» Aspose.Pdf.Rectangle rectangle = new Aspose.Pdf.Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY); Matrix matrix = new Matrix(new double[] < rectangle.URX - rectangle.LLX, 0, 0, rectangle.URY - rectangle.LLY, rectangle.LLX, rectangle.LLY >); // Использование оператора ConcatenateMatrix (сцепление матрицы): определяет, как должно быть размещено изображение. page.Contents.Add(new Aspose.Pdf.Operators.ConcatenateMatrix(matrix)); XImage ximage = page.Resources.Images[page.Resources.Images.Count]; // Использование оператора Do: этот оператор рисует изображение page.Contents.Add(new Aspose.Pdf.Operators.Do(ximage.Name)); // Использование оператора GRestore: этот оператор восстанавливает состояние графики page.Contents.Add(new Aspose.Pdf.Operators.GRestore()); // Сохранить обновленный документ pdfDocument.Save("document.pdf");Создайте таблицу в PDF с помощью С##
Таблицы являются важным компонентом документов, которые используются для организации данных в виде строк и столбцов. Aspose.PDF для .NET предоставляет вам довольно простой способ создания и вставки таблиц в документы PDF. Ниже приведены шаги для выполнения этой операции.
- Загрузите файл PDF с помощью класса Document.
- Инициализируйте таблицу и установите ее столбцы и строки, используя класс Table.
- Установите настройки таблицы (т.е. границы).
- Заполните таблицу, создав строки с помощью метода Table.Rows.Add().
- Добавьте таблицу на страницу с помощью метода Document.Pages1.Paragraphs.Add(Table).
- Сохраните PDF-файл.
В следующем примере кода показано, как создать и добавить таблицу в PDF-документ на C#.
// Загрузить исходный PDF-документ Aspose.Pdf.Document doc = new Aspose.Pdf.Document("document.pdf"); // Инициализирует новый экземпляр таблицы Aspose.Pdf.Table table = new Aspose.Pdf.Table(); // Установите цвет границы таблицы как LightGray table.Border = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, .5f, Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray)); // Установите границу для ячеек таблицы table.DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, .5f, Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray)); // Создайте цикл, чтобы добавить 10 строк for (int row_count = 1; row_count < 10; row_count++) < // Добавить строку в таблицу Aspose.Pdf.Row row = table.Rows.Add(); // Добавить ячейки таблицы row.Cells.Add("Column (" + row_count + ", 1)"); row.Cells.Add("Column (" + row_count + ", 2)"); row.Cells.Add("Column (" + row_count + ", 3)"); >// Добавить табличный объект на первую страницу входного документа doc.Pages[1].Paragraphs.Add(table); // Сохранить обновленный документ, содержащий табличный объект doc.Save("document_with_table_out.pdf");Создать форму в PDF на С##
Формы в PDF-файлах используются для сбора данных от читателей. Вы можете вставлять текстовые поля, флажки, переключатели и другие поддерживаемые элементы управления в формы PDF. Формат PDF поддерживает два типа форм; Формы Acro и XFA (см. подробности). Ниже приведены шаги по созданию и добавлению форм в PDF.
- Загрузите файл PDF с помощью класса Document.
- Создайте элементы управления формы, такие как TextBoxField.
- Добавьте элемент управления в форму с помощью метода Document.Form.Add(textBoxField, 1).
- Сохраните PDF-документ.
В следующем примере кода показано, как добавлять формы в документ PDF с помощью C#.
// Открыть документ Document pdfDocument = new Document("document.pdf"); // Создать поле TextBoxField textBoxField = new TextBoxField(pdfDocument.Pages[1], new Aspose.Pdf.Rectangle(100, 200, 300, 300)); textBoxField.PartialName = "textbox1"; textBoxField.Value = "Text Box"; // TextBoxField.Border = новая граница ( Border border = new Border(textBoxField); border.Width = 5; border.Dash = new Dash(1, 1); textBoxField.Border = border; textBoxField.Color = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Green); // Добавить поле в документ pdfDocument.Form.Add(textBoxField, 1); // Сохранить измененный PDF pdfDocument.Save("output.pdf");Вывод#
В этом посте вы узнали, как создавать PDF-файлы с нуля с помощью C#. Кроме того, вы узнали, как программно вставлять различные типы компонентов, таких как текст, изображения, таблицы и формы, в документ PDF. Вы можете узнать больше об API PDF, используя документацию.
Смотрите также#
- Преобразование PDF в DOCX с помощью C#
- Добавить текст в документ PDF с помощью С#
Информация: Aspose предоставляет бесплатное онлайн-приложение, которое позволяет просматривать PDF-файлы в Интернете, другое позволяет конвертировать PDF-файлы в видео и одно позволяет редактировать PDF-файлы в Интернете. ].
- Aspose.PDF Product Family
- add forms in pdf in csharp
- add table in pdf in csharp
- add text in pdf in csharp
- create pdf in csharp
- edit pdf file in csharp