怎么才能将电子阅读器嵌入到IE 中呢?
解决方案 »
- 怎么解决 未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0” 提供程序
- VS2005中插入swf
- 在网页上实现播放图片的功能。但是这个功能的间隔的时间在哪里设置..............main.js里面么
- 请教合并datatable写数据库的问题
- 登陆页面跳转后仍是登陆页面
- 如何用ASP.NET(C#)实现无限级树型结构?
- asp.net中如何截取字符串长度?
- 请指教:用户控件属性
- 搜索了一下论坛,还是没有找到解决treeview加上背景图片的例子,往朋友们help,在线等待!
- 哪能下载 Visual Studio .NET?
- CSS失效怎么办?
- 求救:如何在GridView得到字段数据赋给变量
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();
}
}