Identify Whether A Browser/reader Is Being Used By Someone Who Is Visually Impaired?
May 20, 2010
I have to provide a 508-compliant version of a page for the visually impaired and it isn't practical to just modify the page. Thus, I have created a new "reader-compatible" version of the page for the handicapped. The question is how I can tell if someone is using a reader rather than a standard browser? Is there a "header" or "useragent" value typically used by these non-standard browsers that I can look for?
Our ASP.NET application allows the users to review any number of PDF forms. A simple listbox holds filenames and the forms are displayed inside a standard iFrame. The setup is simple and effective: when the user clicks on a filename, that filename is loaded into the iFrame, and shown to the user.
Users are allowed to digitally sign the forms. For appearance purposes, a bitmap of the user' signature is generated and placed in the appropriate location of the PDF form.
The bitmap file format is GIF, and the background is transparent.
We use iTextSharp for form-filling, and we also use iTextSharp to place the bitmap on the forms. Nothing special.
We can readily verify that the signature bitmap is correctly placed on the form, and that the bitmap itself is definitely transparent.
Problem 1:
After placing the bitmap of the user' signature on the form, the form is reloaded and displayed to the user (for verification) and, in most cases, the forms do not display the bitmap. Opening the PDF reveal that the bitmap has been placed and is definitely visible in Adobe Reader (9 and 10 - these are the versions available for testing).
Experimentation and quite a bit of research seems to suggest that the problem lies in caching. One of the possible solution/suggestion is to append a time-stamp or a GUID to the URL, when loading the form after applying the bitmap. In theory, this should prevent Adobe Reader from using a cached copy of the PDF form.
We have tried appending a time-stamp and/or a GUID, without any success: the forms still display without the bitmap. At the risk of repeating myself: the PDF form is correctly signed, and the bitmap is correctly placed. It is just not visible.
This problem seems common to users running the application on intranet web servers (IIS 7). The one application instance running on public web server (IIS 7) does not seem affected by this problem.
Problem 2:
As mentioned, the GIF file generated by our application has a transparent background. In almost all cases, Adobe Reader (9 and 10) seems to understand and respect the transparency of the bitmap.
In one very peculiar case (when the application is running on a Windows 7 64 bit machine with IIS 7), when the bitmap is placed on the form, it becomes opaque (complete loss of transparency).
Again, the problem seems related to Adobe Reader, because the bitmap being applied positively sports a transparent background.
I want to ensure a user isn't editing the same form data in two different browser tabs or windows (of the same web browser instance). The intention is to stop the user from accidentally overwriting their own data as they continue through a very long form process. On the server, ongoing data input through the screens is collected into the Session.
Assume for any browser, all tabs and windows run in the same instance of it (i.e. not each in a separate process). Obviously the browser tabs and windows share the same cookies in this scenario so cookie modification seems out of the question for viable solutions. This is also the reason they are sharing the same session state.
Considering that the form is already created and this is one of the final touches, how can I use ASP.NET, hopefully easily, to oversee this "feature"?
How can i identify just from the HttpContext Object that the HttpRequest coming to my application is from a cookieless application or cookieless browser?
I have some code in my vb.net code behind that queries a database, and if there is data, outputs it from the codebehind to a datalist on my asp.net page. In addition to sending the data to the datalist on the page, I need to take the value from "mbillaty" that is returned from the sql query, and have that value be the selected value for a drop down box also on the page. I can get either the datalist to fill, or the selected value for the dropdown box to be selected depending upon which bit of code I place before the other (ARGH), but I can't get them to both work together on the page. What am I doing wrong?
I am planning to build a custom web application in ASP.NET 4.0 using WF 4.0, the user wants ability to modify workflows himself, for this we will be using a WPF client which the user can use and we will do workflow re-hosting, lots of blogs and guidance is available for this. But I am not sure how to the meet one requirement where the user wants to see/track a visual representation (diagram/image) of the workflow, depicting what stages are over, what is the current stage etc. This needs to be done on a web page.Possibly the same workflow with icons depicting status. This is something similar to the visual available for Visio workflows in SharePoint 2010. Even AgilePoint workflows provide such a view.
I set up Entity Framework for my Table and Stored Procedure to return data. Created a Domain Class as well.
In Domain Class, I am returning Objects as collection.
On .Aspnet page when I drop a Control(Combo,Dropdown) I can set up the source for the controls visually if the source is table.
However, In domain class I have stored precedure object that return collection of data And I cant not set up visually from Designer, I am only available to write code behind. is it possibble that i can set up from desingner.
What I have not been able to accomplish is formatting that XML response so it looks pretty.
I have created an XSLT that formats the XML nicely and have used javascript to transform the XML using the XSLT like this:
function loadXMLDoc(dname) { if (window.XMLHttpRequest) { xhttp=new XMLHttpRequest(); } else { xhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xhttp.open("GET",dname,false); xhttp.send(""); return xhttp.responseXML; } function displayResult() { xml=loadXMLDoc("Report.xml"); xsl=loadXMLDoc("Report.xsl"); // code for IE if (window.ActiveXObject) { ex=xml.transformNode(xsl); document.getElementById("content").innerHTML=ex; } // code for Mozilla, Firefox, Opera, etc. else if (document.implementation && document.implementation.createDocument) { xsltProcessor=new XSLTProcessor(); xsltProcessor.importStylesheet(xsl); resultDocument = xsltProcessor.transformToFragment(xml,document); document.getElementById("content").appendChild(resultDocument); } }
Which works locally but I run up against the cross domain security problem as the web appliance is hardened and I am not able to place any code on it.
I have been searching this site and the web for a couple days looking for a method to accomplish this using other means [asp?] and have been largely unsuccessful. The main reason this is so is that I don't know asp so I'm not sure how to attack it.
I think creating the query string in a form, then loading the resulting xml response from the web appliance to a string and applying the XSLT that resides on the server to it might be an option but haven't been able to make it work; again because I'm not really sure what I'm doing.
I found a way in asp to retrieve remote xml that works for URL's like http://site.com/file.xml but doesnt work for my URL. Maybe because it is a query? I've looked at way to encode/encapsulate my URL but haven't found anything that works.
I am starting a new website based on an existing one that I already have up and working. I copied the old website files into a new folder but it will not run. The error suggets that I need to add a reference. So my question is . . . how can I identify the references that are included in the original site?
I'm looking for a way to make something very similar to this http://blog.jactionscripters.com/2009/05/23/introduction-of-qr-code-reader-library/ on my asp MVC 3 project.It is a QR Code Reader,not generator.I want it to be displayed on a View and serve as an input.Could anybody point me in the right direction to do this?
I'm looking to integrate a bunch of RSS/ATOM sources into a feed for our intranet. This is outside my usual realm of work so I've had very limited exposure to this.
I'd like to integrate all the feeds into a single reader such that all the news items are in chronological release order.
Is this doable? Do I need a special component? Or can I make the ASP.NET integrated components do all this simply enough?
It may not suitable forum to post this.I'm a ASP.NET developer, I'm just doing a small corrections in a site developed in classic asp.i want to know how to idendify whether the Recordset has records or not? like in asp.net we use dt.Rows.Count In Classic ASP?
I need to handle 404 exceptions differently than all other types of them. What is the best way to identify those 404 exceptions (distinguish them from other exceptions)?
The problem is that there is no a special exception class for 404 errors, I get regular System.Web.HttpException with Message = "File does not exist."
Should I just use exception's message for it or is there a better way?
Does anybody know how to properly identify CMYK images in ASP.NET using C#? When I check the Flags attribute of a Bitmap instance, I get incorrect results.
I have created three images to test this: cmyk.jpg, rgb.jpg and gray.jpg. These are respectively CMYK, RGB and Grayscale images.
This is my test code:
[Code]....
This produces the following output:
I have checked the actual images and cmyk.jpg really is a CMYK image.
Apparently, this is a "known issue". Alex Gil had the same problem in WPF (see this question: How to identify CMYK images using C#) and he managed to solve it by using a BitmapDecoder class to load the images. I'm a bit uncomfortable using that solution in ASP.NET because it requires me to add references to WindowsBase.dll and PresentationCore.dll and I'm not sure I want those in a web project.
Does anyone know of any other pure .NET solutions to check if an image is in the CMYK format that I can safely use in ASP.NET?
I've got an application that needs to do some work on startup (before the first request is in). I've added the initialization code in the global.asax file (Application_start method) but this code doesn't seem to be hit after an iis reset is performed.Is there an event which is triggered in an asp.net application when an iis reset has occurred?
I have a WCF service that will be using basic authentication and would like to be able identify "who" is trying to use the service. I know that the HttpContext.Current is NULL and in the WCF service, but do not know what the alternative is to get the username.
I got one problem while doing one TAPI application based project in C#. I'm using ITAPI3.dll
My problem is.. i'm not getting incoming call information. To get the incoming call information, i'm using the get_callinfo function, but it is showing empty message.
I have an ASP.Net app with a lot of pages in it.My problem is to uniquely identify every page in my app. now the app might have pages with just the page name eg: home.aspx and can have pages with query strings eg:testPage.aspx?q1=1&q2=2.what i have been thinking is since every URL in my app is unique I could use the page name + all query string params concatenated(key and value) to identify the page uniquely.eg:home.asp home testPage.aspx?q1=1&q2=2 -> testpageq11q22.Is this the correct way to go or is there a better way to do it.The reason I want to do this is I need to add at run time some meta data information from a database for each of the pages.The PageID then becomes my unique ID which I can then map all my meta data info in the db to.
[code]...
would potentially point to the same page (where the optional param gives me some kind of meta information thats is not being used to generate the content on the page)
I have a masterpage that contains a user control. The usercontrol uses callbacks for various operations. However, every time a callback is issued from the user control it is propagated down to the pages that inherit from the master page. How do I determine the id of the control that issued the callback so that I can stop these callbacks from destroying the state of the pages?