Tuesday 15 September 2015

Salesforce Visualforce Signature Tool

110
Hi All,
This is a simple demo which will guide you to create a form with "Signature Canvas" to take initials from user and stores that in document and also displays it in a PDF file. It can be used for initials in an Agreement, Terms and Condition, Authorized Person and various other places.
For this task I would be using a jQuery plug-in 'Sketch.js' which is available on, http://intridea.github.io/sketch.js/lib/sketch.js

Here is a demo page with Terms and conditions having two canvas for big and initial signatures.
Demo URL : http://nchandwani-developer-edition.ap2.force.com/SignatureDemo



A Pdf file created after submitting the form with the initials presented at the desired place.


For this example, I have created two Vf Pages, "SignatureDemo" and "SignatureDemoPdf". Controller used is "SignatureDemoController".

SignatureDemoController
public class SignatureDemoController{ public String initial1{get;set;} public String initial2{get;set;} public SignatureDemoController(){ String temp = ApexPages.currentPage().getParameters().get('dId'); if( temp != null){ list<String> docIds = temp.split(','); initial1 = docIds[0]; initial2 = docIds[1]; } } public PageReference submit(){ Folder f1 = [SELECT Id FROM Folder WHERE Name='Signatures' LIMIT 1]; List<string> signList = new List<string>(); signList=initial1.split(','); Document d1 = new Document(Name = 'Initial1', FolderId = f1.Id); if(signList.size()>1){ d1.body=EncodingUtil.base64Decode(signList[1]); } else if(signList.size() >0){ d1.body=EncodingUtil.base64Decode(signList[0]); } Upsert d1; signList=initial2.split(','); Document d2 = new Document(Name = 'Initial2', FolderId = f1.Id , contentType = 'image/jpeg'); if(signList.size()>1){ d2.body=EncodingUtil.base64Decode(signList[1]); } else if(signList.size() >0){ d2.body=EncodingUtil.base64Decode(signList[0]); } Upsert d2; return (new PageReference('/SignatureDemoPdf?dId=' + d1.Id + ',' + d2.Id )).setRedirect(true); } }

SignatureDemo
<apex:page tabStyle="Contact" controller="SignatureDemoController" showHeader="false" sidebar="false"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> <script src="{!$Resource.sketch}" /> <apex:pageBlock title="Sample Aggrement" > <apex:form id="frm"> <apex:actionFunction name="callingSubmit" action="{!submit}" reRender="frm"> </apex:actionFunction> <apex:pageBlockSection columns="1" title="Terms & Conditions" collapsible="false"> <apex:outputText > Welcome to our website. If you continue to browse and use this website, you are agreeing to comply with and be bound by the following terms and conditions of use, which together with our privacy policy govern [business name]'s relationship with you in relation to this website. If you disagree with any part of these terms and conditions, please do not use our website. <br /> The term '[business name]' or 'us' or 'we' refers to the owner of the website whose registered office is [address]. Our company registration number is [company registration number and place of registration]. The term 'you' refers to the user or viewer of our website. <br /> <span id="smallInitials">%SmallInitails%</span> <br/> The use of this website is subject to the following terms of use: <br /> The content of the pages of this website is for your general information and use only. It is subject to change without notice. This website uses cookies to monitor browsing preferences. If you do allow cookies to be used, the following personal information may be stored by us for use by third parties: [insert list of information]. Neither we nor any third parties provide any warranty or guarantee as to the accuracy, timeliness, performance, completeness or suitability of the information and materials found or offered on this website for any particular purpose. You acknowledge that such information and materials may contain inaccuracies or errors and we expressly exclude liability for any such inaccuracies or errors to the fullest extent permitted by law. Your use of any information or materials on this website is entirely at your own risk, for which we shall not be liable. It shall be your own responsibility to ensure that any products, services or information available through this website meet your specific requirements. This website contains material which is owned by or licensed to us. This material includes, but is not limited to, the design, layout, look, appearance and graphics. Reproduction is prohibited other than in accordance with the copyright notice, which forms part of these terms and conditions. All trade marks reproduced in this website which are not the property of, or licensed to, the operator are acknowledged on the website. Unauthorised use of this website may give rise to a claim for damages and/or be a criminal offence.<br/> From time to time this website may also include links to other websites. These links are provided for your convenience to provide further information. They do not signify that we endorse the website(s). We have no responsibility for the content of the linked website(s). Your use of this website and any dispute arising out of such use of the website is subject to the laws of England, Northern Ireland, Scotland and Wales. <br/><br/> <span style="float:right"> <span id="initialBig">%biginitials%</span> <br /> <span id="conName">Customer Initials</span> </span> </apex:outputText> </apex:pageBlockSection> <apex:pageBlockSection columns="2" title="Initials" collapsible="false"> <apex:outputPanel > <div> <Span><b>Big Initials </b></span> <button style="margin-left:28px;height:30px;width:100px" onclick="applyImage( 'intial1', 'initialBig', 80 );return false;">Apply</button> <button style="margin-left:10px;height:30px;width:100px" onclick="clearSketch( 'intial1' );return false;">Clear</button> <br/> <canvas id="intial1" style="border:2px solid; border-radius:0px 0px 10px 10px;background:white; border-color:lightgray"></canvas> </div> </apex:outputPanel> <apex:outputPanel > <div> <Span><b>Small Initials </b></span> <button style="margin-left:15px;height:30px;width:100px" onclick="applyImage( 'intial2', 'smallInitials', 40 );return false;">Apply</button> <button style="margin-left:10px;height:30px;width:100px" onclick="clearSketch('intial2');return false;">Clear</button> <br/> <canvas id="intial2" style="border:2px solid; border-radius:0px 0px 10px 10px;background:white; border-color:lightgray"></canvas> </div> </apex:outputPanel> </apex:pageBlockSection> <input type="button" value="Submit" style="float:right;margin-right:10%" onclick="submitAggrement()"/> <br/><br/> <apex:inputHidden id="sign" value="{!initial1}"/> <apex:inputHidden id="sign2" value="{!initial2}"/> </apex:form> </apex:pageBlock> <script type="text/javascript"> $(document).ready(function(){ $('#intial1').sketch(); $('#intial2').sketch(); }); function clearSketch( cvId ){ $('#' + cvId).replaceWith('<canvas id="' + cvId + '" style="border:2px solid; border-radius:10px;background:white; border-color:lightgray"></canvas>'); $('#' + cvId).sketch(); } function applyImage( cvId, compId, sz ){ var image = new Image(); image.id = "pic" image.src = document.getElementById(cvId).toDataURL(); console.log( document.getElementById(cvId).toDataURL() ); image.height = sz; $('#' + compId ).html(image); } function submitAggrement(){ $('[id$="sign"]').val(document.getElementById('intial1').toDataURL()); $('[id$="sign2"]').val(document.getElementById('intial2').toDataURL()); callingSubmit(); return false; } </script> </apex:page>

SignatureDemoPdf
<apex:page renderAs="Pdf" controller="SignatureDemoController" showHeader="false" sidebar="false"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> <apex:pageBlock title="Sample Aggrement" > <apex:form > <apex:pageBlockSection columns="1" title="Terms & Conditions" collapsible="false"> <apex:outputText > Welcome to our website. If you continue to browse and use this website, you are agreeing to comply with and be bound by the following terms and conditions of use, which together with our privacy policy govern [business name]'s relationship with you in relation to this website. If you disagree with any part of these terms and conditions, please do not use our website. <br /> The term '[business name]' or 'us' or 'we' refers to the owner of the website whose registered office is [address]. Our company registration number is [company registration number and place of registration]. The term 'you' refers to the user or viewer of our website. <br /> <span id="smallInitials"><img src="/servlet/servlet.FileDownload?file={!initial2}" height="40px"/></span> <br/> The use of this website is subject to the following terms of use: <br /> The content of the pages of this website is for your general information and use only. It is subject to change without notice. This website uses cookies to monitor browsing preferences. If you do allow cookies to be used, the following personal information may be stored by us for use by third parties: [insert list of information]. Neither we nor any third parties provide any warranty or guarantee as to the accuracy, timeliness, performance, completeness or suitability of the information and materials found or offered on this website for any particular purpose. You acknowledge that such information and materials may contain inaccuracies or errors and we expressly exclude liability for any such inaccuracies or errors to the fullest extent permitted by law. Your use of any information or materials on this website is entirely at your own risk, for which we shall not be liable. It shall be your own responsibility to ensure that any products, services or information available through this website meet your specific requirements. This website contains material which is owned by or licensed to us. This material includes, but is not limited to, the design, layout, look, appearance and graphics. Reproduction is prohibited other than in accordance with the copyright notice, which forms part of these terms and conditions. All trade marks reproduced in this website which are not the property of, or licensed to, the operator are acknowledged on the website. Unauthorised use of this website may give rise to a claim for damages and/or be a criminal offence.<br/> From time to time this website may also include links to other websites. These links are provided for your convenience to provide further information. They do not signify that we endorse the website(s). We have no responsibility for the content of the linked website(s). Your use of this website and any dispute arising out of such use of the website is subject to the laws of England, Northern Ireland, Scotland and Wales. <br/><br/> <span style="float:right"> <span id="initialBig"><span id="smallInitials"><img src="/servlet/servlet.FileDownload?file={!initial1}" /></span> </span> <br /> <span id="conName">Customer Initials</span> </span> </apex:outputText> </apex:pageBlockSection> </apex:form> </apex:pageBlock> </apex:page>
Give this code a try and let me know if you face issues in set it up.
Provide your valuable feedback.

Thanks
Nitin Chandwani

110 comments:

  1. Very nice its useful for everyone

    ReplyDelete
  2. Hi Nitin,
    Nice post, useful tool.

    ReplyDelete
  3. This comment has been removed by the author.

    ReplyDelete
  4. Cool Stuff ......... :)

    ReplyDelete
  5. Looks Innovative and Useful for E-Documents...

    ReplyDelete
  6. Thank you everyone...

    ReplyDelete
  7. I do believe all of the concepts you’ve introduced in your post. They’re very convincing and will definitely work. Nonetheless, the posts are too short for novices. May you please extend them a bit from subsequent time? Thank you for the post.
    Office Interiors in Chennai

    ReplyDelete
  8. There are many interesting information included and i can easily understand all given information.I post something on my blog to post something, or wait to post something worth saying. Keep update more information....
    Pest Control in Chennai
    Security Services in Chennai

    ReplyDelete
  9. There are many interesting information included and i can easily understand all given information.I post something on my blog to post something, or wait to post something worth saying. Keep update more information....
    Android Training in Chennai
    CCNA Training in Chennai
    Oracle Apps Training in Chennai

    ReplyDelete
  10. Excellent goods from you, man. I’ve understand your stuff previous to and you’re just too excellent. I actually like what you’ve acquired here, certainly like what you are stating and the way in which you say it. You make it enjoyable and you still take care of to keep it sensible. I can not wait to read far more from you. This is actually a tremendous site..
    Tooth Braces In Chennai
    Best Dental Clinic In Vellore

    ReplyDelete
  11. Excellent goods from you, man. I’ve understand your stuff previous to and you’re just too excellent. I actually like what you’ve acquired here, certainly like what you are stating and the way in which you say it. You make it enjoyable and you still take care of to keep it sensible. I can not wait to read far more from you. This is actually a tremendous site..
    cloud computing training in chennai

    ReplyDelete
  12. This comment has been removed by the author.

    ReplyDelete
  13. Thank you very much for this article. I think that i can consider this article as a reference for me because it contains many important information at once and shortcut too much time, instead of reading more articles.
    Paper Publishing Sites
    Naas Rated Journals
    Language Translation Services
    Research Paper Writing Service
    Article Writing Services

    ReplyDelete
  14. samsung galaxy cases
    It's fascinating that a significant number of the bloggers to cleared up a couple of things for me and in addition giving.Most of thoughts can be decent content.The individuals to give them a decent shake to get your point and over the charge.

    ReplyDelete
  15. SignatureDemo:55 Uncaught TypeError: $(...).sketch is not a function
    at HTMLDocument. (SignatureDemo:55)
    at j (jquery.min.js:2)
    at Object.fireWith [as resolveWith] (jquery.min.js:2)
    at Function.ready (jquery.min.js:2)
    at HTMLDocument.I (jquery.min.js:2)

    Any suggestions ?

    ReplyDelete
  16. Thank you for this post. Thats all I are able to say. You most absolutely have built this blog website into something speciel. You clearly know what you are working on, youve insured so many corners.thanks
    Data Science Training in Chennai
    Data Science training in kalyan nagar
    Data science training in Bangalore
    Data Science training in marathahalli
    Data Science interview questions and answers
    Data science training in jaya nagar

    ReplyDelete
  17. Whoa! I’m enjoying the template/theme of this website. It’s simple, yet effective. A lot of times it’s very hard to get that “perfect balance” between superb usability and visual appeal. I must say you’ve done a very good job with this.
    aws training in bangalore
    RPA Training in bangalore
    Python Training in bangalore
    Selenium Training in bangalore
    Hadoop Training in bangalore

    ReplyDelete
  18. Thanks for sharing the article, Personally me enjoyed your article by reading. It was one of the informative article and people are searching article like this. I also found the link from one of my facebook group.
    thanks again

    Dental clinic in Chennai

    Ceramic braces cost in India

    Root canal treatment cost in Chennai

    How to avoid root canal naturally

    ReplyDelete
  19. Attend The Python training in bangalore From ExcelR. Practical Python training in bangalore Sessions With Assured Placement Support From Experienced Faculty. ExcelR Offers The Python training in bangalore.
    python training in bangalore

    ReplyDelete
  20. Very nice post here and thanks for it .I always like and such a super contents of these post.Excellent and very cool idea and great content of different kinds of the valuable information's.
    interior designers in chennai

    ReplyDelete
  21. You have made your points in a smart way. I am impressed with how interesting you have been able to present this content. Thanks for sharing a nice information. Do support us
    Interior Designers In Anna Nagar
    Interior Designers In Nungambakkam
    Interior Designers In Adyar
    Interior Designers In Velachery

    ReplyDelete
  22. You are so cool! I don't think I've truly read through anything like that before. So wonderful to find someone with a few genuine thoughts on this topic. Seriously.. thank you for starting this up. This site is one thing that is required on the internet, someone with a little originality!
    KBC Game Show

    ReplyDelete
  23. If you are using internet or not on your device there always will be a need for strong antivirus to be installed to protect it against mischievous youths looking for a thrill or a hardened cyber-criminal wanting to take advantage of billion-dollar firms, can stop wanting to search out ways in which to commit fraud, cause widespread harm, or simply leak or use your personal data.
    For more information visit site :- norton.com/setup | norton.com/setup | norton.com/setup | norton.com/setup

    ReplyDelete
  24. Howdy! I simply want to give you a big thumbs up for your great info you have here on this post. I'll be returning to your blog for more soon. Click Here for more

    ReplyDelete
  25. If I had to give a great example of top quality content, this article would be it. It's a well-written commentary that holds your interest.SAP training in Kolkata
    SAP training Kolkata
    Best SAP training in Kolkata
    SAP course in Kolkata
    SAP training institute Kolkata

    ReplyDelete
  26. I have to agree with the valid points you make in your article because I see things like you. Additionally, your content is interesting and really good reading material. Thank you for sharing your talent.
    Data Science training in Mumbai
    Data Science course in Mumbai
    SAP training in Mumbai

    ReplyDelete
  27. I got roku device to enjoy my favorite streaming shows on TV. But when I tried activating it through Roku activation code, some error message was popping up on TV. My friend suggested Roku com link to get immediate step by step help for roku activation code and related assistance.

    ReplyDelete
  28. Very useful advice. Read our blog, In case your network-compatible printer is not detected automatically by Windows 10, you will have to hp printer wireless setup it manually. This process involves going to the printer menu, configuring settings to a TCP/IP port, and after that installing the drivers.

    ReplyDelete
  29. Really impressed by the writing and content on the blog, information was valuable thanks for sharing.
    360DigiTMG Data Science Course in Hyderabad

    ReplyDelete
  30. Top quality site with impressive information, enjoyed reading thanks for sharing.

    typeerror nonetype object is not subscriptable

    ReplyDelete
  31. Fantastic blog with unique content and information provided was very valuable waiting for next blog update thank you .
    Ethical Hacking Course in Bangalore 360DigiTMG

    ReplyDelete
  32. Excellent blog information shared was very informative looking forward for next blog thank you.
    Data Analytics Course Online

    ReplyDelete
  33. Garmin Express to update apps and Maps, sync with Garmin Connect and register your Garmin device. This is desktop software notifies you when updates are available and helps you download them. Garmin Express can also be downloaded and installed from garmin.com/express. Garmin Express is the best source By using this you can update your Garmin express application.

    ReplyDelete
  34. great tips for aws we at SynergisticIT offer the best aws bootcamp bay area

    ReplyDelete
  35. The article was absolutely fantastic! Lot of great information which can be helpful in some or the other way. Keep updating the blog, looking forward for more contents.by cognex AWS Training in Chennai

    ReplyDelete
  36. I have read your blog and I gathered some needful information from your blog. Keep update your blog. Awaiting for your next update.
    Electronic Signature Software

    ReplyDelete
  37. Really great article, is a pleasure to read this article. It is very informative for us. Thanks for posting.

    I want to recommend a printer canon ij setup for you.

    ReplyDelete
  38. We have received very good information from this article. You kept writing more articles like this. I now will read the every article you write.

    If you have a printer and driver cannot be installed into your pc then you can visit by ij.start.cannon.

    ReplyDelete
  39. This time the streaming market the channels and live content are booming with their various exclusive content. One of the highly acclaimed channels that offer online amazing shows is Fubo.tv/Connect. FuboTV is offering a heap of entertainment movies, live sports, shows, etc with the winsome additional features. FuboTV is one of the best streaming service that don’t need cable TV. Fubo.tv/Connect

    ReplyDelete
  40. Thank you so much for this innovative post, keep it up for more valuable information. Visit Ogen Infosystem for professional Website Designing and SEO Services in Delhi, India.
    Web Designing Company in Delhi

    ReplyDelete
  41. Well Said, you have furnished the right information that will be useful to anyone at all time. Thanks for sharing your Ideas.

    CCIE Training in Bangalore
    Best CCIE Training Institutes in Bangalore

    ReplyDelete
  42. This is a very nice one and gives in-depth information. I am really happy with the quality and presentation of the article. I’d really like to appreciate the efforts you get with writing this post. Thanks for sharing.
    corporate training in pune
    best training institute in pune

    ReplyDelete
  43. Hi,
    Thanks for such a valuable and information keep sharing ! if want Digital Signature Services in bangalore Trademark Registration in bangalore click on it

    ReplyDelete
  44. Really great Post, Thanks for the nice & valuable information. Here I have a suggestion that if your looking for the Best Digital Marketing Training in Gurgaon Then Join the 99 Digital Academy. 99 Digital Academy offers an affordable Digital Marketing Training Course in Gurgaon. Enroll Today.

    ReplyDelete
  45. thanks for this idea signature software well much informative, which always appears there have to be some different ways to go with it. an individual has been of some of the lists of a work where the things cannot be changed as per it there are so many things which assist it, have to make to work how it works on showing the most impolite things for to work along with the canon printer as it works canon printer for windows 10

    ReplyDelete
  46. This comment has been removed by the author.

    ReplyDelete
  47. signature canvas is a powerful tool so thanks for this useful blog, The canon printer has to get the button in the things where it might all finding the systematic way in dealing with all of that, .The canon printer could be connected to the canon printer and makes with a work in having a work with the canon printers to controls it. The things have to gets the printed paper in done with all of that. canon printer support code 5100

    ReplyDelete
  48. thank you dude visit this site. we have to see about a canon printer where there is a more availability in printing the prints from any of the things here the user should do whatever he wants. this is an awesome thing to finish your work from time and increase some of the things to use it in your own way.
    the printer had been fully this would work and the is to help the printers to perform that all.ij.start.canon

    ReplyDelete
  49. I like your blog. which has an urgent for our work which needs to be done and in this way by getting their aim the user had to give a common shake to the ink cartridge because the ink does not fully use it might stick in an ink hole then after the vibrating by putting it back and use your canon.
    putting the paper insert to the canon printer.canon.cpm/ijsetup

    ReplyDelete
  50. This comment has been removed by the author.

    ReplyDelete
  51. Great post! Thanks for sharing. I like your content its unique and interesting, I have been always a fan of those who have this unique talent of writing unique content. Best solicitor in London .

    ReplyDelete
  52. Interesting post. Thanks for sharing this.
    To set up canon pixma printer, uncover the printer package and take out the printer from ij.start.cannon easy wireless connect on your printer. There are some guidelines for your Canon printer on our site which will help in setting up your printer.
    https://ijstartcanonx.com/

    ReplyDelete
  53. Thanks for sharing this wonderful blog post!
    Learn how to set up your printer or with ij network device setup utility, you can also do the following. Visit my site, there are some guidelines for your Canon printer, it will help you to set up your printer.
    https://ijstartcannonx.com
    http //ij.start.canon setup

    ReplyDelete
  54. You have written a very good article. I got to learn a lot from your site. This is an inspiring article.
    Canon printer setup with an online solution. Canon printer is known as a good name in the online market so you have to know about the canon printers. They provide better service to their customer and give the best product. If you want to know more information then visit my ij.start.cannon site.
    https://ijstartcannonx.com

    ReplyDelete
  55. "You have given us a lot of information through your post.
    The Canon IJ Network Setup tool is used to configure the connection between your printer and the system. Follow the below-specified instructions to set it up ij.start.cannon printer."

    ReplyDelete
  56. Great post! Thanks for sharing. I like your content its unique and interesting, I have been always a fan of those who have this unique talent of writing unique content
    account management services
    digital marketing agency pakistan

    ReplyDelete
  57. Great post! Thanks for sharing. I like your content its unique and interesting, I have been always a fan of those who have this unique talent of writing unique content
    digital marketing agency pakistan

    ReplyDelete
  58. Read the comments that have already been made an immense pwer, Best Properties in Gurgaon Exclusive Gurgaon properties for sale at limited edition. Best Real Estate Agent In Gurgaon

    ReplyDelete
  59. Very informative information on your site here. I like this post because we can get some useful information from your blog. I expect more post from you

    ReplyDelete
  60. This post is a most-awaited and informative. I am reading your article very enjoying it. Your good choice for the topic. You more articles written on other topics. I already some articles read but your article is very helpful to me.

    Here We providing the installation process of the printer. If canon.cpm/ijsetup cannot be set up so you can learn some easy steps to install and plugin method for the printer.

    ReplyDelete
  61. Your article is informative and useful to me. This post used good quality content. You are writing more articles on the same topic. I am reading more articles but your article is amazing. This article easily explains in the topic. I have no words for this article.

    Here Also I Want to tell you something about ij start canon printer installing into the computer and it has sufficient ink and we get the high print out.

    ReplyDelete
  62. I see the best substance on your blog and I unbelievably love getting them.
    DevOps Training in Hyderabad
    DevOps Course in Hyderabad

    ReplyDelete
  63. Thank you for posting your article. Please share more of this because we want to know more about it. These Insights it is too important. Thank you

    A better quality printer supports high-speed printing and works on quality performance. If you have any question please our website - http //ij.start.canon setup

    ReplyDelete
  64. Avail the simple guide from my ij.start.cannon site to know how to connect canon Pixma printer to wifi. A wireless network can allow you to connect your computer, wifi, and printer with the canon Pixma printer wireless setup process. Our technical support team will assist you with online chat or on-call. You can visit our Website to know more information.

    ReplyDelete
  65. I have perused your blog its appealing and noteworthy. I like it your blog.
    DevOps Training in Hyderabad
    DevOps Course in Hyderabad

    ReplyDelete
  66. This blog was really great, never seen a great blog like this before. I think I’m going to share this to my friends.
    Data Science Training in Hyderabad
    Data Science Course in Hyderabad

    ReplyDelete
  67. If you want any information related to printers or devices, you can get them through this site. We provide all types of information about ear printers. You can also avail online printer repair service from our site. canon.comijsetup

    ReplyDelete
  68. Thanks for sharing this information with us. Keep sharing more.
    Online Machine Learning Training in Hyderabad

    ReplyDelete
  69. Very nice job... Thanks for sharing this amazing and educative blog post!
    data scientist course

    ReplyDelete
  70. This is an excellent post I seen thanks to share it. It is really what I wanted to see hope in future you will continue for sharing such a excellent post.
    data scientist training in malaysia

    ReplyDelete
  71. i have read your blog post which was good. this blog tells us much more about the information in the field of technology. keep sharing this type of information with us.
    Netgear mywifiext net wifi extender setup is also the best service provider in the field of technology , because it helps in many ways to the existing or current using wifi router.

    ReplyDelete
  72. Thanks for sharing the informative article. It is really valuable Information and helped me to get some nice ideas. Keep doing such great work. Such a very useful article. Very interesting to read this article. I would like to thank you for the efforts you had made for writing this awesome article.mywifiext.net login visit to our site.

    ReplyDelete
  73. I see the best substance on your blog and I unbelievably love getting them.
    zirconia crowns in india

    ReplyDelete
  74. Canon printer is the best printer brand used by many of the users in the worldwide. If anyone having the technical problem regarding the canon printer process or installation.
    Canon mb2720

    ReplyDelete
  75. Thanks for sharing with us such a mind-blowing post. I am really impressed with the information you have provided. Keep up the good work.
    if you are looking for zirconia crowns in india. then you can visit dental direkt india, which is best zirconia provider in india

    ReplyDelete
  76. pixma printer Service Provide you better online service for printer repairs online and printer driver installation for use of the printer and scanner. So you can use it online or offline manually. So if you want to download online so simply visit the website now or choose offline then connect the USB to the printer and the computer then it detects the driver and it will be downloading into your computer. pixma printer

    ReplyDelete
  77. what the blog this was, author said many things in few words . information is just required for understanding the content. Canon printer having the highest quality in printing. it can work with wireless canon wireless printer app

    ReplyDelete

  78. To start with you have to download the software to your computer. get the printer software for Windows or Use the Canon PRINT Inkjet / SELPHY app to connect while using an android device or IOS device. Later on, your router has a WPS button and the user can use this method to connect the printer to a wireless network and thishow to setup Canon pixma mg3620

    ReplyDelete
  79. that's looking so cool and informative blog. i love to see these types of blogs again by the author in future. lovely gesture by the author. canon printer users don't be sad i am here to provide you all necessary information needed for your canon model just visit the site canon support

    ReplyDelete
  80. nice work thanx for sharing this informative and educative blog with us its really interesting to know all the facts
    One of the most common questions that you will come across is, How do I reset my canon printer to factory settings? so got your answer now from the blog

    ReplyDelete
  81. i really loved this type of amazing blogs. because these types of blogs provides us good information related to the knowledge we want. so keep in mind i suggest author to post more blogs like this on technology. as like we provide you the best knowledge about your canon pixma tr4520 printer

    ReplyDelete
  82. I found this blog is amazing as well as useful to learn something new from it. here author had described the whole thing and created the good informative blog for us. so thank you for the amazing blog again. here YOU can find the canon printer help for your canon pixma mg2522 printer. we provide you the best online help for your printer to setup. so just try the new information.

    ReplyDelete
  83. this product is good and thanks for a post for this kind off post .How do i log into my netgear wfi extenders ?
    Perform a network power cycle by rebooting your main router and extender. Reconnect to the default WiFi network of your NETGEAR extender. Open the web browser and re-run the NETGEAR extender setup wizard. If the issue persists, reset the extender back to the default factory mywifiext net

    ReplyDelete
  84. It is imperative that we read blog post very carefully. I am already done it and find that this post is really amazing.
    data science course

    ReplyDelete
  85. I discovered this to be a truly accommodating article. I love the subject you have done about bloggers.Do you know the chinese dental crowns available in market are Non Certified Dental Crowns Spreading Cancer in India .

    ReplyDelete
  86. This post is so interactive and informative.keep update more information...
    Java Training in Tambaram
    java course in tambaram

    ReplyDelete
  87. Really an awesome article. Informative and knowledgeable content. Keep sharing more stuff like this. Thank you.
    Data Science Training Course in Hyderabad
    Data Science Course Training Institute in Hyderabad with Placements

    ReplyDelete
  88. Fantastic blog, I’m glad to read this blog. Informative and knowledgeable content. Keep sharing more articles with us. Thank you.
    Data Science Training and Placements in Hyderabad

    ReplyDelete
  89. Thanks for sharing the informative article. It is really valuable Information and helped me to get some nice ideas. Keep doing such great work. Such a very useful article. Very interesting to read this article.
    made in china products
    tooth decay causes

    ReplyDelete
  90. You really write it appears too easy together with your presentation however i was in finding this topic to be really something. It looks so easy and extremely broad to me. I’m looking ahead to your later post, I’ll try to get the grip of it!
    Superstars Biography
    Hollywood Stars
    Bollywood Stars
    Lollywood Stars

    ReplyDelete