Migradoc, pdfsharp Абзац без связанных закладок - PullRequest
6 голосов
/ 31 декабря 2011

Я не знаю, как избавиться от закладок, которые автоматически создаются при добавлении абзаца:

Paragraph inicio = document.LastSection.AddParagraph();
inicio.Style = "Heading1";
inicio.AddSpace(110);
inicio.AddText("Factura nº");
inicio.AddText(facturaPat.FacturaN + "/" + DateTime.Now.Year);
inicio.Format.SpaceAfter = Unit.FromCentimeter(2);
inicio.Format.SpaceBefore = Unit.FromCentimeter(0.7);

Стиль:

style = document.Styles["Heading1"];
style.Font.Name = "Arial";
style.Font.Size = 10.5;
style.Font.Bold = true;
style.Font.Color = Colors.Black;
style.ParagraphFormat.PageBreakBefore = false;

«Док»Я использую:

Document document = new Document();
...
PdfDocumentRenderer pdfRenderer = new PdfDocumentRenderer(unicode, embedding);
pdfRenderer.Document = document;
            // Layout and render document to PDF 
pdfRenderer.RenderDocument();

Если кто-нибудь может сказать мне, что я могу сделать, чтобы создать желаемый контент без закладок, когда откроется PDF, это будет здорово (я не нашел решения этой проблемы).

Спасибо ¡¡

1 Ответ

5 голосов
/ 31 декабря 2011

Закладки создаются для абзацев, для которых установлен OutlineLevel (т. Е. Предопределенные стили заголовков).
Если вы создадите свои собственные стили, они не будут автоматически создаваться в закладках.

Или вы можете очистить OutlineLevel для отдельных абзацев или для всех стилей заголовков.

Вот пример кода, который создает закладку для абзаца:

paragraph = sectionToc.AddParagraph();
paragraph.Format.OutlineLevel = OutlineLevel.Level2;

Установите OutlineLevel на BodyText, чтобы избежать закладок для заголовков:

paragraph = sectionToc.AddParagraph();
paragraph.Format.OutlineLevel = OutlineLevel.BodyText;

Лучше создать новый стиль (например, «Heading1WithoutBookmark») и установить OutlineLevel для этого стиля (чтобы не устанавливать его для каждого отдельного абзаца).

...