Использование значков символов начальной загрузки в iTextSharp

#asp.net-mvc #twitter-bootstrap-3 #itextsharp #itext #glyphicons

#asp.net-mvc #twitter-bootstrap-3 #itext #глификоны

Вопрос:

Я создаю систему .NET / C # / MVC, которая использует Bootstrap и iTextSharp.

У меня есть два значка шрифтов в виде символов, которые я также хотел бы использовать при создании PDF-документа с использованием iTextSharp.

Единственный известный мне способ включить и изображение в PDF-файл — это назначить поток для изображения:

  Stream imageStream = Assembly.GetExecutingAssembly().GetManifestResourceStream("Onlineeksamen.Web.Resources.ios7-phone1-icon.png");
 Image image = Image.GetInstance(imageStream);
  

Значки символов доступны в следующих файлах:

 fontsglyphicons-halflings-regular.eot
fontsglyphicons-halflings-regular.svg
fontsglyphicons-halflings-regular.ttf
fontsglyphicons-halflings-regular.woff
  

Теперь у меня есть следующий пример, основанный на комментарии от jme, но он не работает — я предполагаю, что значки являются символами шрифта:

 outputStream = new MemoryStream();
document = new Document(PageSize.A4, margin, margin, margin, margin);
pdfWriter = PdfWriter.GetInstance(document, outputStream);
document.Open();
pdfContentByte = pdfWriter.DirectContent;
PageHeight = document.PageSize.Height;
pdfContentByte.SetColorStroke(BaseColor.BLACK);

string fontFile = String.Format("{0}fonts\glyphicons-halflings-regular.ttf", HostingEnvironment.ApplicationPhysicalPath);
BaseFont customfont = BaseFont.CreateFont(fontFile, BaseFont.CP1252, BaseFont.EMBEDDED);

pdfContentByte.SetFontAndSize(customfont, 12);
pdfContentByte.BeginText();

pdfContentByte.SetTextMatrix(100, PageHeight.Value - 100);
pdfContentByte.ShowText("This should be glyphs");
pdfContentByte.EndText();

document.Close();
return outputStream.ToArray();
  

Заранее благодарю вас

Soeren D.

Комментарии:

1. mikesdotnetting.com/Article/81/iTextSharp-Working-with-Fonts Смотрите пример регистрации шрифтов в конце статьи.

2. Привет, я попытался последовать примеру, и я думаю, что он правильно регистрирует шрифт, но когда я его использую, я получаю квадраты вместо символов. Я должен упомянуть, что я использую базовые шрифты вместо шрифтов, потому что я пишу непосредственно в объект PdfContentByte.

3. Вам нужно будет опубликовать небольшой пример того, как вы используете шрифты, а также как вы анализируете HTML и CSS. Постарайтесь свести HTML и CSS к как можно меньшему количеству строк. iText будет использовать только файлы TTF, поэтому вы также можете игнорировать и другие. Однако я немного смущен, когда вы говорите, что пишете непосредственно в PdfContentByte объект. Тогда вы создали свой собственный синтаксический анализатор? Я спрашиваю, потому что, если вы чувствуете себя комфортно PdfContentByte , использование HTML в качестве посредника кажется большой дополнительной работой.

4. Привет, Крис, я не пытаюсь анализировать HTML. Я использую PdfContentByte для записи PDF и просто хочу использовать некоторые значки из символов начальной загрузки.

5. Извините, меня смутило то, как вы отметили это. Используемый вами шрифт не имеет кодовых символов латинского символа, только для частного использования с E001 по E200. Если вы перейдете на исходный сайт , нажмите «Halfings» и наведите курсор на каждый, вы увидите кодовую точку, которая вам нужна для этого конкретного символа. Любой символ, не указанный там, включая буквы и знаки препинания, такие как точки и запятые, работать не будет. Тем не менее, когда я встраиваю этот конкретный шрифт, я, похоже, не могу заставить его отображать что-либо в PDF.