update 20241201
This commit is contained in:
273
Client - Kopie/UIControls/DocPreview.cs
Normal file
273
Client - Kopie/UIControls/DocPreview.cs
Normal file
@@ -0,0 +1,273 @@
|
||||
using DOCGEN;
|
||||
using OnDoc.Klassen;
|
||||
using Model;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using Database;
|
||||
using System.Linq.Expressions;
|
||||
|
||||
namespace OnDoc.UIControls
|
||||
{
|
||||
public partial class DocPreview : UserControl
|
||||
{
|
||||
public int ZoomPercentage { get; set; }
|
||||
public DocPreview()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public DocPreview(bool Show_Editfunctions)
|
||||
{
|
||||
InitializeComponent();
|
||||
if (Show_Editfunctions)
|
||||
{
|
||||
this.pnlEdit.Visible = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
this.pnlEdit.Visible = false;
|
||||
}
|
||||
|
||||
}
|
||||
public void Show_Editbuttons()
|
||||
{
|
||||
this.pnlEdit.Visible= true;
|
||||
}
|
||||
|
||||
public void Hide_Editbuttons()
|
||||
{
|
||||
this.pnlEdit.Visible = false;
|
||||
}
|
||||
public void Show_Doc(string dokumentid)
|
||||
{
|
||||
clsdok dok = new clsdok("", "", "");
|
||||
if (dokumentid.Length > 25) { dok.dokument = dokumentid; } else { dok = GetDoc(true, dokumentid); }
|
||||
var stream = new MemoryStream(Convert.FromBase64String(dok.dokument));
|
||||
|
||||
|
||||
//clsGetDoc gd = new clsGetDoc(AppParams.connectionstring);
|
||||
|
||||
if (stream.Length > 0)
|
||||
{
|
||||
this.pdfViewerControl1.Load(stream);
|
||||
this.pdfViewerControl1.Visible = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void clear_viewer()
|
||||
{
|
||||
pdfViewerControl1.Visible= false;
|
||||
}
|
||||
public void Show_Serienbrief_Dokument(int Serienbriefnr, int Eintragnr, string dokumentid)
|
||||
{
|
||||
DB db = new DB(AppParams.connectionstring);
|
||||
db.Get_Tabledata("Select dbo.BinaryToBase64(dokument) from edex_sb_serienbrief_dokument where serienbriefnr=" + Serienbriefnr.ToString() + " and dokumentid='" + dokumentid+"'", false, true);
|
||||
try
|
||||
{
|
||||
|
||||
var stream = new MemoryStream(Convert.FromBase64String(db.dsdaten.Tables[0].Rows[0][0].ToString()));
|
||||
if (stream.Length > 0)
|
||||
{
|
||||
this.pdfViewerControl1.Load(stream);
|
||||
this.pdfViewerControl1.Visible = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
catch { }
|
||||
db = null;
|
||||
|
||||
|
||||
}
|
||||
private clsdok GetDoc(bool AsPDF, string dokumentid)
|
||||
{
|
||||
clsdok dok = new clsdok("", "", "");
|
||||
if (dokumentid == "")
|
||||
{
|
||||
return dok; ;
|
||||
}
|
||||
if (AppParams.UseAPI == "YES")
|
||||
{
|
||||
string URL = AppParams.RESTURI + "api/GetDocument?dokid=" + dokumentid;
|
||||
if (AsPDF == true)
|
||||
{
|
||||
URL = AppParams.RESTURI + "api/GetDocumentPDF?dokid=" + dokumentid;
|
||||
}
|
||||
|
||||
HttpWebRequest webRequest = HttpWebRequest.Create(URL) as HttpWebRequest;
|
||||
webRequest.Method = WebRequestMethods.Http.Get;
|
||||
webRequest.Headers["Authorization"] = "Bearer " + AppParams.apikey;
|
||||
//webRequest.Credentials = new NetworkCredential(Username, Password);
|
||||
//webRequest.ContentType = "application/x-www-form-urlencoded";
|
||||
using (HttpWebResponse response = webRequest.GetResponse() as HttpWebResponse)
|
||||
{
|
||||
if (response.StatusCode == HttpStatusCode.OK)
|
||||
{
|
||||
StreamReader reader = new StreamReader(response.GetResponseStream());
|
||||
string responseContent = reader.ReadToEnd();
|
||||
|
||||
dok = Newtonsoft.Json.JsonConvert.DeserializeObject<clsdok>(responseContent);
|
||||
}
|
||||
else
|
||||
{
|
||||
Logging.Logging.Error(URL + ": " + response.StatusCode.ToString() + " / " + response.StatusDescription, "Clinet - DokList GetDocument", "");
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
DocGet gd = new DocGet(AppParams.connectionstring);
|
||||
if (AsPDF == true)
|
||||
{
|
||||
dok = gd.GetDocAsPDF(dokumentid);
|
||||
}
|
||||
else
|
||||
{
|
||||
dok = gd.GetDoc(dokumentid);
|
||||
}
|
||||
}
|
||||
|
||||
if (dok.extension.ToString() == "")
|
||||
{
|
||||
|
||||
return dok;
|
||||
}
|
||||
Logging.DocLog.Info("Dokument-Vorschau", "OnDoc.DocPreview", dokumentid, "", "Dokument-Vorschau");
|
||||
return dok;
|
||||
|
||||
}
|
||||
|
||||
private void pdfViewerControl1_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void btnFirst_Click(object sender, EventArgs e)
|
||||
{
|
||||
pdfViewerControl1.GoToPageAtIndex(1);
|
||||
SetPageNumber();
|
||||
}
|
||||
|
||||
private void btnLast_Click(object sender, EventArgs e)
|
||||
{
|
||||
pdfViewerControl1.GoToPageAtIndex(pdfViewerControl1.PageCount);
|
||||
SetPageNumber();
|
||||
}
|
||||
|
||||
private void btnPrevious_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (pdfViewerControl1.CurrentPageIndex != 1)
|
||||
{
|
||||
pdfViewerControl1.GoToPageAtIndex(pdfViewerControl1.CurrentPageIndex - 1);
|
||||
}
|
||||
|
||||
SetPageNumber();
|
||||
}
|
||||
|
||||
private void btnNext_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (pdfViewerControl1.CurrentPageIndex != pdfViewerControl1.PageCount)
|
||||
{
|
||||
pdfViewerControl1.GoToPageAtIndex(pdfViewerControl1.CurrentPageIndex + 1);
|
||||
}
|
||||
|
||||
SetPageNumber();
|
||||
}
|
||||
|
||||
private void timer_Tick(object sender, EventArgs e)
|
||||
{
|
||||
SetPageNumber();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Handles Keydown event of PageNumber Textbox
|
||||
/// </summary>
|
||||
private void txtPageNumber_KeyDown(object sender, KeyEventArgs e)
|
||||
{
|
||||
|
||||
int pageNumber = 1;
|
||||
if (txtPageNumber.Text != "")
|
||||
{
|
||||
pageNumber = Convert.ToInt16(txtPageNumber.Text);
|
||||
}
|
||||
if (e.KeyCode == Keys.Enter)
|
||||
{
|
||||
pdfViewerControl1.GoToPageAtIndex(pageNumber);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#region Helper methods
|
||||
/// <summary>
|
||||
/// Loads PDF into PdfViewerControl.
|
||||
/// </summary>
|
||||
private void LoadDocument(string fileName)
|
||||
{
|
||||
pdfViewerControl1.Load(fileName);
|
||||
}
|
||||
|
||||
void SetPageNumber()
|
||||
{
|
||||
txtPageNumber.Text = pdfViewerControl1.CurrentPageIndex.ToString();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private void zoomIn_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (zoomComboBox.SelectedIndex != 0)
|
||||
zoomComboBox.SelectedIndex = zoomComboBox.SelectedIndex - 1;
|
||||
|
||||
}
|
||||
|
||||
private void zoomComboBox_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
int ZoomLevel = Convert.ToInt32(zoomComboBox.SelectedItem.ToString().Replace("%", ""));
|
||||
pdfViewerControl1.ZoomTo(ZoomLevel);
|
||||
ZoomPercentage = ZoomLevel;
|
||||
}
|
||||
|
||||
private void zoomOut_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (zoomComboBox.SelectedIndex != zoomComboBox.Items.Count - 1)
|
||||
zoomComboBox.SelectedIndex = zoomComboBox.SelectedIndex + 1;
|
||||
ZoomPercentage = Convert.ToInt32(zoomComboBox.SelectedItem.ToString().Replace("%", ""));
|
||||
}
|
||||
|
||||
private void FitPage_Click(object sender, EventArgs e)
|
||||
{
|
||||
pdfViewerControl1.ZoomTo(57);
|
||||
ZoomPercentage = 57;
|
||||
zoomComboBox.Text = ZoomPercentage.ToString() + "%";
|
||||
|
||||
}
|
||||
|
||||
private void FitWidth_Click(object sender, EventArgs e)
|
||||
{
|
||||
pdfViewerControl1.ZoomTo(169);
|
||||
ZoomPercentage = 169;
|
||||
zoomComboBox.Text = ZoomPercentage.ToString() + "%";
|
||||
}
|
||||
|
||||
private void toolStripButton1_Click(object sender, EventArgs e)
|
||||
{
|
||||
pdfViewerControl1.Print(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user