Я не могу распечатать PDF-файл с помощью PdfSharpC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Я не могу распечатать PDF-файл с помощью PdfSharp

Сообщение Anonymous »

У меня возникла проблема при печати PDF-файла с помощью библиотеки PDFSharp.
Я использую свойство Stream класса PdfPage для рисования страницы. Однако отображается ошибка нулевой ссылки, поскольку поток пуст.
Я не мог понять почему, ведь PDF-файл существует и путь правильный.
ниже приведен код:

Код: Выделить всё

`public static void PrintPdfWithPrintDocument(string pdfPath)
{
if (!System.IO.File.Exists(pdfPath))
{
MessageBox.Show("Not Found.");
return;
}

pdfDoc = Pdf.IO.PdfReader.Open(pdfPath, Pdf.IO.PdfDocumentOpenMode.Modify);
CurrentPage = 0;

PrintDocument prnPdf = new PrintDocument();
prnPdf.PrintPage += OnPrintPage;

PrintDialog ptdPrinter = new PrintDialog();
ptdPrinter.AllowSomePages = true;
ptdPrinter.Document = prnPdf;

if (ptdPrinter.ShowDialog() == DialogResult.OK)
{
prnPdf.PrinterSettings = ptdPrinter.PrinterSettings;
prnPdf.Print();
}
}

private static void OnPrintPage(object sender, PrintPageEventArgs e)
{
if (CurrentPage < pdfDoc.PageCount)
{
pdfPage = pdfDoc.Pages(CurrentPage);
pdfGraphics = XGraphics.FromPdfPage(pdfPage, XGraphicsUnit.Millimeter);
pdfGraphics.MUH = Pdf.PdfFontEncoding.Unicode;

PdfSharp.Pdf.PdfDictionary.PdfStream pdfStream = (PdfSharp.Pdf.PdfDictionary.PdfStream)pdfPage.Stream;
MemoryStream imageStream = new MemoryStream(pdfStream.Value);
XRect xRect = new XRect(0, 0, e.PageBounds.Width, e.PageBounds.Height);

pdfGraphics.DrawImage(XImage.FromStream(imageStream), xRect);

CurrentPage += 1;
e.HasMorePages = CurrentPage < pdfDoc.PageCount;
}
else
e.HasMorePages = false;
}`
Я не хотел использовать другую библиотеку или Acrobat Reader

Я Я пытался найти другие способы получить байт со страницы, но не нашел.

Подробнее здесь: https://stackoverflow.com/questions/787 ... g-pdfsharp
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Я не могу распечатать PDF-файл с помощью PdfSharp
    Anonymous » » в форуме C#
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Я не могу распечатать PDF-файл с помощью PdfSharp
    Anonymous » » в форуме C#
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Я не могу распечатать PDF-файл с помощью PDFsharp
    Anonymous » » в форуме C#
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • C#: создание PDF-формы (AcroForm) с помощью PDFsharp
    Anonymous » » в форуме C#
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Преобразование файлов DOCX в файлы PDF с помощью PDFsharp или MigraDoc в VB.NET.
    Anonymous » » в форуме C#
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»