2014-03-10 2 views
0

Мне нужно сделать PDF-отчет через PdfSharp. Отчет должен содержать QRCode или код матрицы данных, но я не могу его нарисовать на странице.Как нарисовать матричный код с PdfSharp?

Значения это просящие являются значения в строки и длины, как целое, так вот что я делаю:

Dim myNewCode As New PdfSharp.Drawing.BarCodes.CodeDataMatrix("1234567890", 10) 

Тогда я пытаюсь сделать это:

gfx.DrawMatrixCode(myNewCode, myXPoint) 

Он попросит XPoint, поэтому я установил его так:

Dim myXPoint As New XPoint(500,500) 

Для этого нужны только значения для x и y.

Он компилирует ОК, но когда я пытаюсь открыть файл я получаю следующую ошибку

An error exists on this page. Acrobat may not display the page correctly. Please contact the person who created the PDF document to correct the problem 

My Acrobat версии 11.0.5, и нет открытия файлов PDF, которые уже содержат такого рода проблемы коды.

ответ

1

Укажите размер, чтобы получить правильный файл PDF:

var myXSize = new XSize(100, 100); 
var myNewCode = new PdfSharp.Drawing.BarCodes.CodeDataMatrix("1234567890", 10, myXSize); 
var myXPoint = new XPoint(200, 300); 
gfx.DrawMatrixCode(myNewCode, myXPoint); 

Обратите внимание, что по юридическим причинам, версия с открытым исходным кодом PDFsharp не включает в себя реализацию данных кодекса Матрица и показывает фиктивные изображения вместо ,

0

Другой вариант - использовать стороннюю библиотеку (ZXing), чтобы сгенерировать растровое изображение QR-кода и нарисовать его как растровое изображение с DrawImage() в PDF-формате.

Смежные вопросы