Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

BFI_DOPMAT / Создание PDF-файла

.pdf
Скачиваний:
1
Добавлен:
01.04.2022
Размер:
138.19 Кб
Скачать

Необходимым условием работы программы является добавление в текущий проект ссылки на объектную библиотеку itextsharp.dll.

//Программа "на лету" создает PDF-файл и записывает в этот

//файл "узкую" таблицу с малым числом колонок

#include "stdafx.h" using namespace System;

// Следует добавить эти две директивы: using namespace iTextSharp::text;

using namespace iTextSharp::text::pdf; int main(array<System::String ^> ^args)

{

// Инициализируем два строковых массива:

array<String^> ^ Страны = { "ГОСУДАРСТВА", "Украина", "Россия", "Белоруссия" };

array<String^> ^ Столицы = { "СТОЛИЦЫ", "Киев", "Москва", "Минск"

};

//В текущем каталоге создаем PDF-документ: Document ^ Документ = gcnew Document();

PdfWriter ^ Писатель = PdfWriter::GetInstance(Документ, gcnew System:: IO::FileStream("ОтчетТабл.pdf", System::IO::FileMode::Create));

//System::IO::FileMode::Create - если такой файл уже есть, то он

//будет удален, а новый создан

Документ->Open();

// Базовый шрифт создаем из одного из шрифтов из папки Windows: BaseFont ^ БазовыйШрифт = BaseFont::CreateFont( //"C:\\WINDOWS\\Fonts\\comic.ttf", "CP1251", BaseFont::EMBEDDED); "C:\\WINDOWS\\Fonts\\times.ttf", "CP1251", BaseFont::EMBEDDED); //"C:\\WINDOWS\\Fonts\\CONSOLA.TTF", "CP1251",

BaseFont::EMBEDDED);

//Заказываем шрифт размером 10 пунктов. Можно заказать

//шрифт Font.ITALIC (наклонный) или Font.BOLD (жирный): Font ^ Шрифт = gcnew Font(БазовыйШрифт, 10, Font::NORMAL,

BaseColor::BLUE);

//или цвет текста отдельно: Шрифт->Color = BaseColor::RED; PdfPTable ^ Таблица = gcnew PdfPTable(2);

PdfPCell ^ Ячейка = gcnew PdfPCell();

Ячейка->HorizontalAlignment = Element::ALIGN_LEFT;//.ALIGN_CENTER;

//Две ячейки объединить в одну:

Ячейка->Colspan = 2;

//Границы ячейки не показывать:

Ячейка->Border = 0;

//Высота ячейки:

Ячейка->FixedHeight = 16.0f;

Ячейка->Phrase = gcnew Phrase("Какой-либо текст до таблицы", Шрифт); Таблица->AddCell(Ячейка);

Ячейка->BackgroundColor = BaseColor::LIGHT_GRAY;

//Не объединять ячейки:

Ячейка->Colspan = 1;

//Границы ячеек показывать:

Ячейка->Border = 15;

for (int i = 0; i <= 3; i++)

{

Ячейка->Phrase = gcnew Phrase(Страны[i], Шрифт);

Таблица->AddCell(Ячейка);

Ячейка->Phrase = gcnew Phrase(Столицы[i], Шрифт);

Таблица->AddCell(Ячейка);

}

Ячейка->Colspan = 2; // две ячейки объединить в одну Ячейка->Border = 0; // не показывать границ ячейки Ячейка->Phrase = gcnew Phrase("Некоторый текст после таблицы",

Шрифт);

Ячейка->BackgroundColor = BaseColor::WHITE;

Таблица->AddCell(Ячейка);

//Регулируем ширину таблицы:

Таблица->TotalWidth = Документ->PageSize->Width - 400;

//Третий и четвертый параметры - это координаты

//левого верхнего угла таблицы:

Таблица->WriteSelectedRows(0, -1, 40, Документ->PageSize->Height - 30, Писатель->DirectContent);

Документ->Close(); Писатель->Close();

// PDF-документ можно открыть с помощью интернет-браузера: System::Diagnostics::Process::Start("IExplore.exe", System::IO::

Directory::GetCurrentDirectory() + "\\ОтчетТабл.pdf"); return 0;

}