怎么才能将电子阅读器嵌入到IE 中呢?

解决方案 »

  1.   

    我给你个类,你把他全部复制到CS代码里面。然后用这个类生成的对象,就可以实现你的要求。只能是PDF格式的
    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Drawing;using System.IO;
    using com.lowagie.text;
    using com.lowagie.text.pdf;
    using iText = com.lowagie.text;public class CreatePDF {  struct iTextFont {
        public BaseFont font;
        public float size;
      }  Page _page;
      Document _document;
      PdfWriter _writer;
      PdfContentByte _pcb;
      iTextFont _font;  public const string MSGOTHIC = "c:\\windows\\fonts\\msgothic.ttc,0";
    public const string SIMSUN = "c:\\windows\\fonts\\SIMSUN.ttc,0";
    public const string MSMINCHO = "c:\\windows\\fonts\\MSMINCHO.ttc,0";
      public const int ALIGN_LEFT = PdfContentByte.ALIGN_LEFT;
      public const int ALIGN_RIGHT = PdfContentByte.ALIGN_RIGHT;
      public const int ALIGN_CENTER = PdfContentByte.ALIGN_CENTER;  private CreatePDF() {
      }  public CreatePDF(Page p) {
        _page = p;    _document = new Document(PageSize.A4);
        _writer = initializePdfDocument();
        _document.open();
        _document.add(new Phrase(" "));
      }  public void SetFont(string fontFile, float size) {
          _font.font = BaseFont.createFont(
            fontFile,
            BaseFont.IDENTITY_H,
            BaseFont.NOT_EMBEDDED);
        _font.size = size;
      }  public void Print(string p, float x, float y) {
        _pcb = _writer.getDirectContent();
        _pcb.beginText();
        _pcb.setColorStroke(Color.Black);
        _pcb.setColorFill(Color.Black);
        _pcb.setFontAndSize(_font.font, _font.size);
        _pcb.setTextMatrix(x, 842 - y);
        _pcb.showText(p);
        _pcb.endText();
      }  public void PrintTable(
        string p, 
        float x, 
        float y, 
        float width, 
        float height,
        int align)
      {
        PdfPTable table = null;
        PdfPCell cell = null;
        iText.Font font;
        float[] columnDefinitionSize;    _pcb = _writer.getDirectContent();
        columnDefinitionSize = new float[] { width };    table = new PdfPTable(columnDefinitionSize);
        table.setHorizontalAlignment(0);
        table.setTotalWidth(columnDefinitionSize[0]);
        table.setLockedWidth(true);    font = new iText.Font(_font.font, _font.size);
        cell = new PdfPCell(new Phrase(p, font));
        cell.setBorder(Cell.NO_BORDER);
        cell.setBorderColor(Color.Silver);
        cell.setFixedHeight(height);
        cell.setHorizontalAlignment(align);
        table.addCell(cell);
        table.writeSelectedRows(0, -1, x, y, _pcb);
      }
      private void PrintAlign(string p, int align, float x, float y) {
        _pcb = _writer.getDirectContent();
        _pcb.beginText();
        _pcb.setColorStroke(Color.Black);
        _pcb.setColorFill(Color.Black);
        _pcb.setFontAndSize(_font.font, _font.size);
        _pcb.setTextMatrix(x, 842 - y);
        _pcb.showTextAligned(align, p, x, 842 - y, 0);
        _pcb.endText();
      }  public void PrintCenter(string p, float x, float y) {
        PrintAlign(p, PdfContentByte.ALIGN_CENTER, x, y);
      }  public void PrintLeft(string p, float x, float y) {
        PrintAlign(p, PdfContentByte.ALIGN_LEFT, x, y);
      }  public void PrintRight(string p, float x, float y) {
        PrintAlign(p, PdfContentByte.ALIGN_RIGHT, x, y);
      }  public void Box(float x1, float y1, float x2, float y2, bool fillSilver) {
        _pcb = _writer.getDirectContent();    _pcb.setLineWidth(0.8f);
        _pcb.setColorStroke(Color.Black);
        _pcb.rectangle(x1, y1, x2, y2);    if (fillSilver) {
          _pcb.setColorFill(Color.Silver);
          _pcb.closePathFillStroke();
        } else {
          _pcb.stroke();
        }
      }  public void RoundBox(float x1, float y1, float x2, float y2, bool fillSilver) {
        _pcb = _writer.getDirectContent();    _pcb.setLineWidth(0.8f);
        _pcb.setColorStroke(Color.Black);
        _pcb.roundRectangle(x1, y1, x2, y2, 5);    if (fillSilver) {
          _pcb.setColorFill(Color.Silver);
          _pcb.closePathFillStroke();
        } else {
          _pcb.stroke();
        }
      }  public void RoundGrayBox(float x1, float y1, float x2, float y2, float x1tox2) {
        _pcb = _writer.getDirectContent();    _pcb.setLineWidth(0.0f);
        _pcb.roundRectangle(x1, y1, x2, y2, 5);
        _pcb.setColorFill(Color.Silver);    
        _pcb.closePathFillStroke();    _pcb.roundRectangle(x1 + x1tox2, y1, x2 - x1tox2, y2, 5);
        _pcb.setColorFill(Color.White);
        _pcb.closePathFillStroke();    _pcb.setColorStroke(Color.White);
        _pcb.rectangle(x1 + x1tox2, y1, 10, y2);
        _pcb.setColorFill(Color.White);
        _pcb.closePathFillStroke();    _pcb.setLineWidth(0.8f);
        _pcb.setColorStroke(Color.Black);
        _pcb.roundRectangle(x1, y1, x2, y2, 5);
        _pcb.stroke();    _pcb.moveTo(x1 + x1tox2, y1);
        _pcb.lineTo(x1 + x1tox2, y1 + y2);
        _pcb.stroke();
      }  public void RoundHGrayBox(float x1, float y1, float x2, float y2, float y1toy2) {
        _pcb = _writer.getDirectContent();    _pcb.setLineWidth(0.0f);
        _pcb.roundRectangle(x1, y1, x2, y2, 5);
        _pcb.setColorFill(Color.Silver);
        _pcb.closePathFillStroke();    _pcb.roundRectangle(x1, y1, x2, y2 - y1toy2, 5);
        _pcb.setColorFill(Color.White);
        _pcb.closePathFillStroke();    _pcb.setColorStroke(Color.White);
        _pcb.rectangle(x1, y1 + y2 - y1toy2, x2, -10);
        _pcb.setColorFill(Color.White);
        _pcb.closePathFillStroke();    _pcb.setLineWidth(0.8f);
        _pcb.setColorStroke(Color.Black);
        _pcb.roundRectangle(x1, y1, x2, y2, 5);
        _pcb.stroke();    _pcb.moveTo(x1, y1 + y2 - y1toy2);
        _pcb.lineTo(x1 + x2, y1 + y2 - y1toy2);
        _pcb.stroke();
      }  public void Line(float x1, float y1, float x2, float y2) {
        _pcb = _writer.getDirectContent();    _pcb.setLineWidth(0.8f);
        _pcb.setColorStroke(Color.Black);
        _pcb.moveTo(x1, y1);
        _pcb.lineTo(x2, y2);
        _pcb.stroke();
      }  public void PrintBarcode(string p, float x, float y) {
        Barcode128 code128;
        iText.Image image128;    _pcb = _writer.getDirectContent();
        code128 = new Barcode128();
        code128.setCodeType(BarcodeEAN.EAN13);
        code128.setCode(p);
        image128 = code128.createImageWithBarcode(_pcb, null, null);
        image128.setAbsolutePosition(x, y);
        _pcb.addImage(image128);
        
      }  public void Show() {    _document.close();
        _writer.close();
        showPdfDocuments();
      }  private PdfWriter initializePdfDocument() {
        return PdfWriter.getInstance(
          _document,
          _page.Response.OutputStream);
      }  private void showPdfDocuments() {
        _page.Response.ContentType = "application/pdf";
        _page.Response.End();
      }  public void NewPage() {
        _document.newPage();
      }
    }