MESUT ÇAKIR | tarafından tüm yazılar mesutcakir

Tag List !

ASP.NET, ASP.NET MVC, WCF, Castle WCF Facility, Castle IOC, CASTLE Rhino, C#, XML, JSON, Database, MSSQL, NHİNERNATE, SERVİCE, Repository, Domain Model, DTO, Ajax Request, ModelBinding, InputValidation, BussinessValidation, ExceptionHandling, Loging, Interceptors, Nhibernate ENVERSE, AMAZON, AWS, EC2, WORKMAİL, IAM, CodeCommit, CodeDeploy, AWS Lambda, AWS Api Gateway, NodeJS, NodeJs Socket,Express,Https,AWS SES,AWS S3, RESTFULL, ASP.NET Web Api, AngularJS, KnockoutJS, Javascript, HTML, CSS, Bundling, Gulp, Bootstrap, Itextsharp (PDF), Ionic, Zip/rar...

2008-2009 VisualStudio.gen.tr Sitemizde Yayınladığımız C# ve VB.NET dersleri...

2008-2009 VisualStudio.gen.tr Sitemizde Yayınladığımız C# ve VB.NET derslerimiz zaman ne kadar da çabuk geçmiş, Sulhadin Öney dostumla böyle videolar çekip C#, XNA ve daha nicelerini öğreniyorduk. Güzel bir öğrenme yöntemi oldu bizler için, 38 video'luk bu playlist karışık olup anlamsız gelebilir çoğunuza.

 

iTextSharp Image Kaybolma, Sayfaya Sığmama !

PDF dosyama eklemiş olduğum html içerisinde bulunan <img /> için boyut kontrollerinin sağlanıp sayfa boyutunu aşma koşuluna göre yeniden boyutlandırılmasının sağlanması için gerekli Provider aşağıdaki gibidir. Eksikleri olabilir ama şuanlık iş görür durumdadır. Tam bir örnek için file aşağıdaki linkte verilmiştir. Kod parçacığı ise hızlıca ulaşım için aşağıda yer almaktadır.

PdfTestControllerFile.cs (11,25 kb)

    public class CustomImageProvider : AbstractImageProvider
    {
        public override string GetImageRootPath()
        {
            return ToString();
        }

        public override Image Retrieve(string src)
        {
            if (src.StartsWith("data:image/", StringComparison.InvariantCultureIgnoreCase))
            {
                var base64Data = src.Substring(src.IndexOf(",", StringComparison.Ordinal) + 1);
                var imagedata = Convert.FromBase64String(base64Data);
                var image = Image.GetInstance(imagedata);
                image.Alignment = Element.ALIGN_CENTER;
                return image;
            }
            else if (!src.Contains("http"))
            {
                var imageT = System.Drawing.Image.FromFile(HttpContext.Current.Server.MapPath(src));
              
                var pic = Image.GetInstance(imageT, BaseColor.WHITE);
                if (pic.Height > pic.Width)
                {
                    //Maximum height is 800 pixels.
                    float percentage = 0.0f;
                    percentage = 700 / pic.Height;
                    pic.ScalePercent(percentage * 100);
                }
                else
                {
                    //Maximum width is 600 pixels.
                    float percentage = 0.0f;
                    percentage = 540 / pic.Width;
                    pic.ScalePercent(percentage * 100);
                }

                //pic.Border = iTextSharp.text.Rectangle.BOX;
                //pic.BorderColor = iTextSharp.text.BaseColor.BLACK;
                //pic.BorderWidth = 3f;
                return pic;
            }
            return base.Retrieve(src);
        }
    }