Как я могу привязать таблицу из Oracle непосредственно к pdf

#asp.net #oracle

#asp.net #Oracle

Вопрос:

Как я могу привязать данные из базы данных Oracle к pdf в asp.net 4.0?

Комментарии:

1. Спасибо за ваш ответ. На самом деле я использовал iText для привязки данных из таблицы в pdf. сначала я привязал данные к grid view, а затем к pdf. Это работает. Но прямое привязывание сложно, я знаю. Но я должен это сделать. Пожалуйста, любая помощь. Заранее спасибо.

Ответ №1:

Я не знаю, возможно ли это напрямую. Вы могли бы взглянуть на iTextSharp для генерации файлов PDF в .NET.

Ответ №2:

Вы пробовали использовать PL / PDF? Не использовал ее лично, но это единственный прямой метод создания / заполнения PDF-файлов из Oracle, о котором я знаю (если, возможно, у Apex нет какого-либо плагина)

Ответ №3:

Большое вам спасибо за ваши ответы. Я получил ответ. Ниже приведен код для привязки таблицы базы данных из базы данных Oracle к PDF в ASP.net

 using System.Web.UI.WebControls;
using Oracle.DataAccess.Client;
using Oracle.DataAccess.Types;
using iTextSharp.text;
using iTextSharp.text.pdf;
using System.Data;

public partial class generate_pdf_from_dataset : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        OracleConnection con = new OracleConnection("User id=book;Password=book;Data Source=test");
        OracleDataAdapter da = new OracleDataAdapter("select * from category" , con);
        DataSet ds = new DataSet();
        da.Fill(ds);
        DataTable dt = new DataTable();
        dt = ds.Tables[0];
        Document pdfDoc = new Document(PageSize.A4, 30, 30, 40, 25);
        System.IO.MemoryStream mStream = new System.IO.MemoryStream();
        PdfWriter writer = PdfWriter.GetInstance(pdfDoc, mStream);
        int cols = dt.Columns.Count;
        int rows = dt.Rows.Count;
        pdfDoc.Open();
        iTextSharp.text.Table pdfTable = new iTextSharp.text.Table(cols, rows);
        pdfTable.BorderWidth = 1;
        pdfTable.Width = 100;
        pdfTable.Padding = 1;
        pdfTable.Spacing = 1;
        //creating table headers
        for (int i = 0; i < cols; i  )
        {
            Cell cellCols = new Cell();
            Font ColFont = FontFactory.GetFont(FontFactory.HELVETICA, 12, Font.BOLD);
            Chunk chunkCols = new Chunk(dt.Columns[i].ColumnName, ColFont);
            cellCols.Add(chunkCols);
            pdfTable.AddCell(cellCols);
        }
        //creating table data (actual result)
        for (int k = 0; k < rows; k  )
        {
            for (int j = 0; j < cols; j  )
            {
                Cell cellRows = new Cell();
                Font RowFont = FontFactory.GetFont(FontFactory.HELVETICA, 12);
                Chunk chunkRows = new Chunk(dt.Rows[k][j].ToString(), RowFont);
                cellRows.Add(chunkRows);
                pdfTable.AddCell(cellRows);
            }
        }
        pdfDoc.Add(pdfTable);
        pdfDoc.Close();
        Response.ContentType = "application/octet-stream";
        Response.AddHeader("Content-Disposition", "attachment; filename=Report.pdf");
        Response.Clear();
        Response.BinaryWrite(mStream.ToArray());
        Response.End();
    }
}