Total Pageviews

Thursday, September 3, 2015

Converting an Object to XML format and put on stream

Following code accept the object and convert to XML, then content will be transformed to memory stream.

 Dim currentStream As New MemoryStream()
  Dim streamWriter As New StreamWriter(currentStream)
  streamWriter.Write(CreateXMLDoc(reportDetail))

  streamWriter.Flush()
  currentStream.Position = 0

reportDetail is the object to pass to pass CreatXMLDoc

 Public Shared Function CreateXMLDoc(ByVal value As Object) As String
        Dim rv As String = ""
        Dim xml = New XmlSerializer(value.[GetType]())
        Using memoryStream As MemoryStream = New MemoryStream()

            Using xmlWriter As XmlTextWriter = New XmlTextWriter(memoryStream, Encoding.UTF8)
                xmlWriter.Formatting = Formatting.Indented
                xml.Serialize(xmlWriter, value)
                rv = Encoding.UTF8.GetString(memoryStream.ToArray())
            End Using

        End Using
        Return rv
    End Function

Wednesday, July 29, 2015

Adding text to existing PDFusing iTextSharp

Sample text is added to every page on the same location

Inside the Page_Load()

                    string filepath = @"http://EXAMPLE.COM/TEST.pdf";
       
                    // open the reader
                    PdfReader reader = new PdfReader(filepath);
                    Rectangle size = reader.GetPageSizeWithRotation(1);
                    Document document = new Document(size);

                    // open the writer
                    //FileStream fs = new FileStream(newFile, FileMode.Create, FileAccess.Write);    
                    MemoryStream fs = new MemoryStream();
                    PdfWriter writer = PdfWriter.GetInstance(document, fs);
                    document.Open();

                    PdfContentByte cb = writer.DirectContent;

                    int pageCount = reader.NumberOfPages;

                    var rectangle = reader.GetPageSize(1);


                    for (int i = 1; i <= pageCount; i++)
                    {
                        BaseFont bf = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
                        cb.SetColorFill(Color.BLACK);
                        cb.SetFontAndSize(bf, 9);

                        cb.BeginText();

                        cb.ShowTextAligned(2, "This is the new Text " , 535, 33, 0);
                        cb.EndText();

                        PdfImportedPage page = writer.GetImportedPage(reader, i);

                        var widthFactor = document.PageSize.Width / page.Width;
                        var heightFactor = document.PageSize.Height / page.Height;
                        var factor = Math.Min(widthFactor, heightFactor);

                        var offsetX = (document.PageSize.Width - (page.Width * factor)) / 2;
                        var offsetY = (document.PageSize.Height - (page.Height * factor)) / 2;
                        cb.AddTemplate(page, factor, 0, 0, factor, offsetX, offsetY);
                        document.NewPage();
                    }

                    document.Close();
                    fs.Close();
                    writer.Close();
                    reader.Close();

                    WebClient client = new WebClient();

                    Byte[] buffer = fs.GetBuffer();

                    if (buffer != null)
                    {
                        Response.ContentType = "application/pdf";
                        Response.AddHeader("content-length", buffer.Length.ToString());
                        Response.BinaryWrite(buffer);
                        Response.Flush();

                    }

Wednesday, July 1, 2015

Root domain redirections


Following will redirect the root domain only, not the pages,

www.test.com > www.example.com - this will redirect
www.test.com/default.aspx > this will not redirect

<rewrite>
            <rules>
  <rule name="Root Redirect" enabled="true" stopProcessing="true">
                    <match url="^$" />
                    <action type="Redirect" url="https://www.example.com/" />
                </rule>

            </rules>
 </rewrite>

Wednesday, November 26, 2014

Adding custom extension (.SEO) to the URL

Add the handler mapping to IIS

 <handlers>
            <add name="*.seo-4.0_32Bit" path="*.seo" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" resourceType="Unspecified" preCondition="classicMode,runtimeVersionv4.0,bitness32" />
 </handlers>

If extension not worked, add following between <system.webServer>

<modules runAllManagedModulesForAllRequests="true" >
<remove name="UrlRoutingModule"/>
</modules>

Wednesday, November 19, 2014

Redirections using Web.config

Page redirections for different domain

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
   
<location path="hydro-burn">
      <system.webServer>
        <httpRedirect enabled="true" destination="http://www.example.com.au/hydro-burn" httpResponseStatus="Permanent" />
      </system.webServer>
    </location>

<location path="hydro-whey">
      <system.webServer>
        <httpRedirect enabled="true" destination="http://www.example.com.au/hydro-whey" httpResponseStatus="Permanent" />
      </system.webServer>
    </location>

<location path="amino-fuel">
      <system.webServer>
        <httpRedirect enabled="true" destination="http://www.example.com.au/amino-fuel" httpResponseStatus="Permanent" />
      </system.webServer>
    </location>

</configuration>

Domain redirections

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <httpRedirect enabled="true" destination="http://www.example.com.au" exactDestination="true" httpResponseStatus="Permanent" />
    </system.webServer>
</configuration>

Tuesday, November 4, 2014

Adding mask using Jquery

<script language="javascript" src="../../js/jquery.maskedinput.js" type="text/javascript"></script>

<script type="text/javascript">
    $(document).ready(function () {

      //Input mask for ABN
        $('#txtABNstep1').mask('?ABN 99 999 999 999');

        //Input mask for Contact number      
        $('#txtContactNumberStep1').mask('(99) 9999-9999');

        //Input mask for Contact mobile phone
        $('#txtMobileNumberStep1').mask('9999999999');


});

Monday, November 3, 2014

Regex for http, https or www

(http(s)?://)?([\w-]+\.)+[\w-]+[.com]+(/[/?%&=]*)?