Отображение штрих-кода с помощью iTextSharp с помощью обработчика штрих-кода Криса Лава (2 часть) - PullRequest
1 голос
/ 06 февраля 2012

У меня есть ситуация, когда мне нужно создать несколько штрих-кодов в виде изображений на странице из набора UPC из базы данных.

Кроме того, я также хочу иметь возможность создавать штрих-коды, которые могут печататькак ярлыки для Dymo LabelMaker.

Поиск в Google дал несколько вариантов, но, похоже, для LabelMaker было бы разумно производить штрих-коды в формате PDF?

Итак, я начал изучатьiTextSharp, который кажется хорошим (и бесплатным!)

Глядя на простой способ рендеринга изображения со штрих-кодом на страницу, я нашел это, которое выглядит именно так, как я хочу, но я могу заставить его работать только локально,При загрузке на сервер он просто показывает пустое изображение.

Итак, часть 1 моих вопросов: почему это так?

Я проверил и дважды проверил, что файл web.config содержит все необходимоеи я вполне уверен, что Adobe Reader установлен на сервере (как было предложено в другом посте по ссылке).В ссылке есть сообщение, в котором написано

Hi, Great article, many thanks. I just wanted to put a small update for those running IIS7, if everything works fine when running locally in VS debug mode, but you get a red x when accessing it remotly, you may need to add the handler in the section as well as/or the i.e.

Похоже, что оно отвечает на проблему ... но не !!

http://professionalaspnet.com/archive/2008/11/09/A-Quick-and-Dirty-Bar-Code-Image-httpHandler.aspx

Часть 2 моего вопроса заключается в том, направляюсь ли я вниз по правой линии для печати отдельных штрих-кодов в LabelMaker с помощью iTextSharp?

Просто чтобы вы знали, я использую .NET 2.0 и кодированиев VB

1 Ответ

0 голосов
/ 06 февраля 2012

Если вы используете .ashx HttpHandler , вам не нужно связываться с веб-конфигурацией.Это точно так же:

<%@ WebHandler Language="VB" Class="barcodeToGif" %>
Imports System
Imports System.Web
Imports iTextSharp.text
Imports iTextSharp.text.pdf
Public Class barcodeToGif : Implements IHttpHandler
  Public Sub ProcessRequest(ByVal context As HttpContext) _
  Implements IHttpHandler.ProcessRequest
    context.Response.ContentType = "image/gif"
    Dim Request = context.Request
    Dim barcode As String = Request.QueryString("barcode")
    If barcode Is Nothing Then
      barcode = "39"
    End If
    Dim bc39 As New Barcode39()
    bc39.Code = barcode
    Dim bc As System.Drawing.Image = bc39.CreateDrawingImage( _
      System.Drawing.Color.Black, System.Drawing.Color.White _
    )
    bc.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Gif)
  End Sub

  Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
    Get
      Return False
    End Get
  End Property
End Class

И в вашем .html/.aspx файле:

<img src='barcodeToGif.ashx?barcode=12345689' />

Атрибут src тега img должен иметь то же имя, что и HTTPОбработчик, в данном случае barcodeToGif.ashx.

...