Мы используем Версию 8.1 из ABCPDF для создания каких-либо хороших PDF-документов из html.тонкая граница при печати pdf
Теперь мы обнаружили, что печать изнутри Adobe Reader приведет к добавлению тонких границ вверху и внизу страницы, которые не видны при отображении документа. Также при печати на XPS эти строки не видны.
Я думаю, мы, должно быть, пропустили некоторые настройки, которые позволяют избежать этого?
В настоящее время у нас печать страниц так:
using (var doc = new WebSupergoo.ABCpdf8.Doc())
{
doc.HtmlOptions.DoMarkup = false;
doc.HtmlOptions.AddLinks = false;
doc.HtmlOptions.FontEmbed = true;
doc.HtmlOptions.Engine = EngineType.Gecko;
//in case that we need to create more than 1 page, we need go get the PageId and use it
int pdfPageId = doc.AddImageHtml(html);
while (true)
{
doc.FrameRect();
if (!doc.Chainable(pdfPageId))
break;
doc.Page = doc.AddPage();
pdfPageId = doc.AddImageToChain(pdfPageId);
}
for (int i = 1; i <= doc.PageCount; i++)
{
doc.PageNumber = i;
doc.Flatten();
}
doc.Save(pathToSave);
}
Я знаю, что websupergoo ребята очень дружелюбные и отвечать быстро. Но я думаю, что это может помочь и другим людям, поэтому я пишу здесь, а не отправляю им электронное письмо.
Update:
Я пытался избавиться от Линекс, изменяя размер печатного документа. Я на самом деле пытаюсь напечатать для A4 Papersize. Я добавил строку кода, чтобы изменить настройку для MediaBox (документация предположил, что это должно быть возможно «doc.MediaBox =„A4“», но это не непосредственно назначаемый):
//set the printed area to A4
doc.MediaBox.String = "A4";
Результат: Линии стал толще и теперь можно увидеть даже перед печатью как в AdobeReader, так и в Foxit Reader. это еще не решение.
Update2:
Мне нужно установить Rect документа, а также:
//set the printed area to A4
doc.Rect.String ="A4";
doc.MediaBox.String = "A4";
Результат: линии теперь нарисованы на сторонах и их можно увидеть только при печати. Это еще не полное решение.