Ячейка таблицы стилей
Добро пожаловать в это подробное руководство по форматированию ячеек таблицы с использованием Aspose.PDF для .NET. В этом руководстве мы подробно объясним каждый шаг предоставленного исходного кода C#, чтобы помочь вам понять, как стилизовать ячейки таблицы. Прежде чем начать, убедитесь, что вы установили Aspose.PDF для .NET и настроили среду разработки.
Шаг 1. Настройка среды
Прежде чем начать, убедитесь, что вы настроили свою среду разработки для использования Aspose.PDF для .NET. Это включает в себя установку библиотеки Aspose.PDF и настройку вашего проекта для ссылки на нее.
Шаг 2. Создание документа
На этом этапе мы создадим новый объект документа Aspose.PDF.
// Путь к каталогу документов.
string dataDir = "YOUR DOCUMENTS DIRECTORY";
// Создание документа
Document document = new Document();
ITaggedContent taggedContent = document.TaggedContent;
taggedContent.SetTitle("Example of table cell formatting");
taggedContent.SetLanguage("fr-FR");
Мы создали новый документ и установили заголовок и язык документа.
Шаг 3: Получение корневого элемента структуры
На этом этапе мы получим корневой элемент структуры для нашего документа.
//Получить корневой элемент структуры
StructureElement rootElement = taggedContent.RootElement;
Мы получили корневой элемент структуры, который будет служить контейнером для элементов массива.
Шаг 4: Создание элемента структуры массива
Теперь давайте создадим новый элемент структуры таблицы для нашего документа.
// Создайте элемент структуры массива
TableElement tableElement = taggedContent.CreateTableElement();
rootElement.AppendChild(tableElement);
TableTHeadElement tableTHeadElement = tableElement.CreateTHead();
TableTBodyElement tableTBodyElement = tableElement.CreateTBody();
TableTFootElement tableTFootElement = tableElement.CreateTFoot();
Мы создали новый элемент структуры массива и добавили его в корневой элемент структуры. Мы также создали элементы заголовка, тела и нижнего колонтитула таблицы.
Шаг 5. Добавление заголовков таблиц
На этом этапе мы добавим заголовки таблиц в нашу таблицу.
// Количество строк и столбцов в таблице
int rowCount = 4;
int colCount = 4;
int rowIndex;
int colIndex;
// Создайте строку заголовка таблицы
TableTRElement headTrElement = tableTHeadElement.CreateTR();
headTrElement.AlternativeText = "Header Row";
for (colIndex = 0; colIndex < colCount; colIndex++)
{
TableTHElement theElement = headTrElement.CreateTH();
theElement.SetText(string.Format("Header {0}", colIndex));
theElement.BackgroundColor = Color.GreenYellow;
theElement.Border = new BorderInfo(BorderSide.All, 4.0F, Color.Gray);
theElement. IsNoBorder = true;
theElement.Margin = new MarginInfo(16.0, 2.0, 8.0, 2.0);
theElement.Alignment = HorizontalAlignment.Right;
}
Мы создали строку заголовка для нашей таблицы и добавили ячейки заголовка со свойствами форматирования, такими как цвет фона, границы, поля и выравнивание.
Шаг 6. Добавление строк тела таблицы
Теперь давайте добавим строки тела таблицы в нашу таблицу.
for (rowIndex = 0; rowIndex < rowCount; rowIndex++)
{
TableTRElement trElement = tableTBodyElement.CreateTR();
trElement.AlternativeText = string.Format("Row {0}", rowIndex);
for (colIndex = 0; colIndex < colCount; colIndex++)
{
int colSpan = 1;
int rowSpan = 1;
if (colIndex == 1 && rowIndex == 1)
{
colSpan = 2;
rowSpan = 2;
}
else if (colIndex == 2 && (rowIndex == 1 || rowIndex == 2))
{
keep on going;
}
else if (rowIndex == 2 && (colIndex == 1 || colIndex == 2))
{
keep on going;
}
TableTDElement tdelement = trElement.CreateTD();
tdElement.SetText(string.Format("Cell [{0}, {1}]", rowIndex, colIndex));
tdElement.BackgroundColor = Color.Yellow;
tdElement.Border = new BorderInfo(BorderSide.All, 4.0F, Color.Gray);
tdElement.IsNoBorder = false;
tdElement.Margin = new MarginInfo(8.0, 2.0, 8.0, 2.0);
tdElement.Alignment = HorizontalAlignment.Center;
TextState cellTextState = new TextState();
cellTextState.ForegroundColor = Color.DarkBlue;
cellTextState.FontSize = 7.5F;
cellTextState.FontStyle = FontStyles.Bold;
cellTextState.Font = FontRepository.FindFont("Arial");
tdElement. DefaultCellTextState = cellTextState;
tdElement.IsWordWrapped = true;
tdElement.VerticalAlignment = VerticalAlignment.Center;
tdElement.ColSpan = colSpan;
tdElement. RowSpan = rowSpan;
}
}
Мы добавили строки в тело таблицы, используя циклы для обхода каждой ячейки таблицы. Мы устанавливаем свойства форматирования для каждой ячейки, такие как цвет фона, границы, поля, выравнивание текста и т. д.
Шаг 7: Добавляем нижний колонтитул
Наконец, мы добавим нижний колонтитул к нашей таблице.
TableTRElement footTrElement = tableTFootElement.CreateTR();
footTrElement.AlternativeText = "Footline";
for (colIndex = 0; colIndex < colCount; colIndex++)
{
TableTDElement tdElement = footTrElement.CreateTD();
tdElement.SetText(string.Format("Foot {0}", colIndex));
}
Мы создали нижний колонтитул для нашей таблицы и добавили ячейки нижнего колонтитула с текстом.
Шаг 8. Сохранение PDF-документа с тегами
Теперь, когда мы создали документ со стилизованной таблицей, мы сохраним его как PDF-документ с тегами.
// Сохраните PDF-документ с тегами
document.Save(dataDir + "StyleTableCell.pdf");
Мы сохранили PDF-документ с тегами в указанном каталоге.
Шаг 9. Проверка соответствия PDF/UA
Далее мы проверим соответствие нашего документа PDF/UA.
// Проверка соответствия PDF/UA
document = new Document(dataDir + "StyleTableCell.pdf");
bool isPdfUaCompliance = document.Validate(dataDir + "StyleTableCell.xml", PdfFormat.PDF_UA_1);
Console.WriteLine(string.Format("PDF/UA Compliance: {0}", isPdfUaCompliance));
Мы загрузили PDF-документ с тегами и проверили его соответствие PDF/UA, создав отчет XML.
Пример исходного кода для ячейки таблицы стилей с использованием Aspose.PDF для .NET
// Путь к каталогу документов.
string dataDir = "YOUR DOCUMENT DIRECTORY";
// Создать документ
Document document = new Document();
ITaggedContent taggedContent = document.TaggedContent;
taggedContent.SetTitle("Example table cell style");
taggedContent.SetLanguage("en-US");
// Получить элемент корневой структуры
StructureElement rootElement = taggedContent.RootElement;
// Создать элемент структуры таблицы
TableElement tableElement = taggedContent.CreateTableElement();
rootElement.AppendChild(tableElement);
TableTHeadElement tableTHeadElement = tableElement.CreateTHead();
TableTBodyElement tableTBodyElement = tableElement.CreateTBody();
TableTFootElement tableTFootElement = tableElement.CreateTFoot();
int rowCount = 4;
int colCount = 4;
int rowIndex;
int colIndex;
TableTRElement headTrElement = tableTHeadElement.CreateTR();
headTrElement.AlternativeText = "Head Row";
for (colIndex = 0; colIndex < colCount; colIndex++)
{
TableTHElement thElement = headTrElement.CreateTH();
thElement.SetText(String.Format("Head {0}", colIndex));
thElement.BackgroundColor = Color.GreenYellow;
thElement.Border = new BorderInfo(BorderSide.All, 4.0F, Color.Gray);
thElement.IsNoBorder = true;
thElement.Margin = new MarginInfo(16.0, 2.0, 8.0, 2.0);
thElement.Alignment = HorizontalAlignment.Right;
}
for (rowIndex = 0; rowIndex < rowCount; rowIndex++)
{
TableTRElement trElement = tableTBodyElement.CreateTR();
trElement.AlternativeText = String.Format("Row {0}", rowIndex);
for (colIndex = 0; colIndex < colCount; colIndex++)
{
int colSpan = 1;
int rowSpan = 1;
if (colIndex == 1 && rowIndex == 1)
{
colSpan = 2;
rowSpan = 2;
}
else if (colIndex == 2 && (rowIndex == 1 || rowIndex == 2))
{
continue;
}
else if (rowIndex == 2 && (colIndex == 1 || colIndex == 2))
{
continue;
}
TableTDElement tdElement = trElement.CreateTD();
tdElement.SetText(String.Format("Cell [{0}, {1}]", rowIndex, colIndex));
tdElement.BackgroundColor = Color.Yellow;
tdElement.Border = new BorderInfo(BorderSide.All, 4.0F, Color.Gray);
tdElement.IsNoBorder = false;
tdElement.Margin = new MarginInfo(8.0, 2.0, 8.0, 2.0);
tdElement.Alignment = HorizontalAlignment.Center;
TextState cellTextState = new TextState();
cellTextState.ForegroundColor = Color.DarkBlue;
cellTextState.FontSize = 7.5F;
cellTextState.FontStyle = FontStyles.Bold;
cellTextState.Font = FontRepository.FindFont("Arial");
tdElement.DefaultCellTextState = cellTextState;
tdElement.IsWordWrapped = true;
tdElement.VerticalAlignment = VerticalAlignment.Center;
tdElement.ColSpan = colSpan;
tdElement.RowSpan = rowSpan;
}
}
TableTRElement footTrElement = tableTFootElement.CreateTR();
footTrElement.AlternativeText = "Foot Row";
for (colIndex = 0; colIndex < colCount; colIndex++)
{
TableTDElement tdElement = footTrElement.CreateTD();
tdElement.SetText(String.Format("Foot {0}", colIndex));
}
// Сохранить PDF-документ с тегами
document.Save(dataDir + "StyleTableCell.pdf");
// Проверка соответствия PDF/UA
document = new Document(dataDir + "StyleTableCell.pdf");
bool isPdfUaCompliance = document.Validate(dataDir + "StyleTableCell.xml", PdfFormat.PDF_UA_1);
Console.WriteLine(String.Format("PDF/UA compliance: {0}", isPdfUaCompliance));
Заключение
В этом уроке мы узнали, как стилизовать ячейки таблицы с помощью Aspose.PDF для .NET. Мы увидели, как создать документ, добавить таблицу с заголовками, строками основного текста и нижним колонтитулом, а также настроить стили ячеек. Наконец, мы сохранили PDF-документ с тегами и проверили его соответствие PDF/UA. Теперь вы можете использовать Aspose.PDF для .NET для создания и стилизации таблиц в ваших .NET-приложениях.
Часто задаваемые вопросы
Вопрос: Какова цель этого руководства по форматированию ячеек таблицы с помощью Aspose.PDF для .NET?
О: Целью данного руководства является предоставление подробного руководства по стилизации ячеек таблицы в PDF-документе с использованием библиотеки Aspose.PDF для .NET. Он содержит пошаговые инструкции и примеры исходного кода C#, которые помогут вам понять и реализовать форматирование ячеек таблицы.
Вопрос: Каковы необходимые условия для изучения этого руководства?
О: Прежде чем начать, убедитесь, что вы установили Aspose.PDF для .NET и настроили среду разработки. Это включает в себя настройку вашего проекта для ссылки на библиотеку Aspose.PDF.
Вопрос: Как создать новый PDF-документ с помощью Aspose.PDF для .NET?
О: Чтобы создать новый PDF-документ, вам необходимо создать экземплярDocument
объект из библиотеки Aspose.PDF. Приведенный исходный код C# демонстрирует, как создать документ и установить его заголовок и язык.
Вопрос: Каково значение элемента корневой структуры в PDF-документе?
Ответ: Элемент корневой структуры служит контейнером для других элементов структуры, помогая организовать и классифицировать содержимое PDF-документа. Он играет решающую роль в установлении логической структуры документа.
Вопрос: Как создать элемент структуры таблицы и настроить его внешний вид с помощью Aspose.PDF для .NET?
О: Создать элемент структуры таблицы можно с помощьюCreateTableElement()
метод. Предоставленный исходный код демонстрирует, как настроить внешний вид таблицы, включая ее верхний, основной и нижний колонтитулы, путем установки таких свойств, как цвет фона, границы, поля и выравнивание.
Вопрос: Могу ли я добавить в тело таблицы несколько строк и столбцов и настроить их форматирование?
О: Да, в руководстве показано, как добавить несколько строк и столбцов в тело таблицы с помощью циклов. Он также предоставляет примеры настройки форматирования ячеек, таких как цвет фона, границы, выравнивание текста, стиль шрифта и многое другое.
Вопрос: Какова цель проверки соответствия PDF/UA и как я могу выполнить эту проверку?
Ответ: Проверка соответствия PDF/UA гарантирует, что документ PDF соответствует стандартам доступности, что делает его более доступным для пользователей с ограниченными возможностями. В этом руководстве показано, как проверить соответствие PDF/UA с помощьюValidate()
метод и сгенерируйте отчет XML.
Вопрос: Как я могу применить эти концепции к своим собственным .NET-приложениям?
О: Вы можете использовать предоставленные примеры исходного кода C# в качестве руководства по реализации форматирования ячеек таблицы в ваших собственных .NET-приложениях. Настройте код по мере необходимости в соответствии с вашими требованиями и интегрируйте его в свои проекты.
Вопрос: Существуют ли какие-либо рекомендации по стилизации ячеек таблицы в документах PDF?
Ответ: При оформлении ячеек таблицы учитывайте потребности своей аудитории, включая требования к доступности. Используйте контрастные цвета, подходящие шрифты и четкое выравнивание ячеек, чтобы улучшить читабельность. Кроме того, проверьте соответствие PDF/UA, чтобы обеспечить соблюдение стандартов доступности.
Вопрос: Какие еще возможности Aspose.PDF for .NET я могу изучить для манипулирования PDF-документами?
О: Aspose.PDF для .NET предлагает широкий спектр функций для манипулирования PDF-документами, включая извлечение текста, вставку изображений, управление полями формы, цифровые подписи и многое другое. Изучите официальную документацию и ресурсы, чтобы узнать о дополнительных функциях.