client system clipboard print screen image save in server system - save

It is possible the client system clipboard print screen image save in server system using C#. net web application

If you looking at capturing users screenshot then we have lot of question in SO. Here is a sample in c# .
Th word server confuses me because you cannot take a screen shot of users desktop from your web application.

Related

renderer and main process communication in electron - the right way

I'm a newbie to both Web tech and Electron! I'm trying to build a desktop app with many windows and fields - including lookup/searches and retrieving data from a DB.
I believe I have most of what I need to get the job done except how to handle the communication between windows. I.e. I need a dialog that displays a table of customers where the user selects a customer to return the data to the calling window. So I pass the search string to the lookup dialog which displays the customer list and in the dialog the user picks the customer and returns the primary key to the calling window (which will display the customer information).
I have found several ways to do this on the web. But I can't imagine that I need to keep a list of all the windows (about 90) and include a listener for each in the main.js (main process) to allow communication between the windows. There must be a better way!! Is there a simple way to setup a universal routine to process communication????
If you're opening 90 windows you're going about this the wrong way. With Electron, every window runs in its own process. This means your app is going to have nearly 100 processes running which is going to be very slow on most machines.
Electron is a platform that brings web apps to the desktop. In a web app, if you want to show 90 windows you'd show them as HTML layers in a single browser window.
I have discovered several ways to open windows and add my html, css, and javascript to each of the windows. I also have discovered a way to create a global var in the main process and have the other windows to retrieve the information from the global var. So I guess I have avoided my concern of having to keep a list of the windows. Still I'm struggling with Electron - almost nothing is straight forward. Or maybe I should say - very little matches my experience with desktop programming languages.
Johnf

Is it possible to access printer installed in network in Google Chrome Packaged App?

I am building a Google Chrome Packaged App. I have a requirement to access printer available via a "Closed" Network (not connected as USB). Obviously Chrome Cloud Print API is NOT my option, since I'm talking about "Closed" network, hence no internet access (besides I need to print very fast, so even if I had internet I could not afford to go via Cloud and wait few seconds to print.). I have done my research, so far this seems to be NOT possible in Google Chrome Packaged App. Please let me know if I've overlooked something, or if there's a workaround.
Thanks very much.
If the printer is available in the same network, you can access it using Network Communications with the Sockets API.
If you're OK with requiring user confirmation before printing, then you can use window.print(), which works in Chrome apps with a couple of limitations: 1) There was a bug that could cause crashes on OS X (http://crbug.com/297179), and while this bug is fixed in the Canary and Dev versions of Chrome, it will take a few weeks for the fix to make its way to the Beta and Stable versions; 2) On Window and Linux/Chrome OS, the size of the print preview panel is limited to the size of the window being printed, so you need to make sure that window is large enough to make all of the print preview UI accessible to users.
Because window.print() has not been used very much so far in Chrome apps, you may run into issues with it that have not been seen by others. If you do, please report them at http://crbug.com/new.
If you need the print to happen without user confirmation, your program may have to use the sockets API to communicate directly with your printer or print server (as described by xmarcos in another response to this question). You will probably need to use something like pdf.js (as described at Converting canvas to pdf) to convert what you want to print to something your pinter will understand.

How to build a virtual printer?

I'm trying to build a virtual printer.
There are already some answers like this and this.
However my demand is more specific. I just want to create a virtual printer that can be added into the system and can be accessed from any application. On clicking print command, a dialog looks like a real printer pops out and generates a PDF on printing. Then some more actions, like pushing the PDF to my server, are performed.
Do I need to dig into Windows Driver Kit? Or is there any free SDK for this?
Thanks.
Not sure if this question is still relevant to you, but you'd probably want to think about something like this:
Use the WDK (Windows Driver Kit) to create a Unidrv UI plugin. This will allow you to specify UI during the print (for your printer dialogue). The reason why you'd want to show UI here is because it's one of the only printer driver components that runs in the user session (the same process as the printing application). The XPS pipeline and port monitor are both session 0.
If you want to stick to MS convention, you'll do the spool file to PDF conversion in the render filter of the XPS Filter pipeline (this is if you're using an XPSDrv driver). The filter pipeline is where you have the opportunity to modify the XPS spool data coming in and in the final filter, convert it to your output document type (PDF in your case).
To do post print processing, you might want to consider creating a port monitor (again with the WDK) and kicking off a new process to do the post print processing after the port monitor writes out the print output to disk.
Only problem with this approach is that you can't use port monitors in Version 4 drivers (this is the new type of driver in Windows 8). Version 3 drivers still work in Win 8, but I guess they'll be phased out eventually.
Sorry it's probably not very obvious, but as I say, it's a high level overview (and unfortunately driver development is still very complex beyond a simple print to file). Version 4 printer drivers are becoming a lot easier to develop, but unfortunately with the removal of port monitor support and other improvements, it makes it a lot harder to develop anything requiring post processing.
[DISCLAIMER: I'm associated with the Mako SDK R&D team]
I know you asked for a free SDK, unfortunately I don't know of anything that would be suitable, but I know our company offer a Virtual Printer Platform (SDK) which would be good for you (prints to PDF and supports post print processing). You can find more information at the Mako SDK website
Hope this helps a bit anyway. I know printer driver development can be very confusing at times!
After reading up and doing a lot of research, with the aim to setup up something like redmon and use the printer SDK, I have completed the project using this SDK: http://www.novapdf.com/pdf-sdk.html
This solution however will work with windows only.
[I am not affiliated with novaPDF]
I have investigated an OSX version, however this will be a different build, you can probably set something up using this method: http://www.jms1.net/osx-pdf-services.shtml [I have not yet tried this]

XPS printing: lost fonts on Lexmark printers

I've developed a web service for printing (C# MVC 4) that creates XPS documents and then prints them via various printer servers (MS) to various print queues. This all works fine against Sharp print queues, but all font data is lost when printing to Lexmarks although the font sizes remain correct. The XPS documents all present correctly when viewed in an XPS viewer, and when printed out via the viewer to the Lexmarks via the print server work properly. The fonts are on the print servers, the Sharp queues are on the same print servers as the Lexmarks and the fonts are all specified in the XPS documents. Changing the Lexmark printer settings, drivers etc appears to make no difference.
The only pertinent question (from a year ago) on here, said the MS solution was to turn off the print spooler when doing server side printing due to a font conversion bug.
I know this is a pretty vague question, but if anyone has been through this pain and has any tips on how to resolve this I'd appreciate it.
Well, there's not much to go on, but I suspect three things:
The XPS document you are producing references fonts without embedding them
The Lexmark print drivers on your server are XPS drivers
The fonts are not installed on the printers themselves.
Assuming I'm right, changing any of these three facts should rectify the situation, though I make no guarantees about #3.
The reason this is happening is that the fonts are not used until the XPS is rasterized - that is converted into raw image data. I suspect that in the Lexmark case, this is occurring on the device, while in the Sharp case, it is occurring on the print server. This is supported by the fact that printing the XPS document from the XPS viewer works correctly, since this causes the rasterization to occur on the machine where the viewer is running.
Using a non-XPS driver on the print server will cause a bit of a performance hit. The print server will effectively be converting XPS to GDI, which the non-XPS driver will then convert to another PDL, such as PostScript or PCL. I suspect that this is the case with the Sharp drivers, though it may also be that the Sharp driver is an XPS driver that performs the rasterization on the host.
OK..after a lot of testing the following was noted (and may be of help to others).
In answer to the above questions..
1) embedded fonts confirmed and used MS official test XPS files.This did not help.
2) Lexmark driver used was winprint > RAW. changing this didn't help.
2) Fonts are installed on the printer
Tests
1) new print server, printing directly to a sharp printer. Problem appeared in that fonts were lost. The resolution to this was to change the spooler settings to print only after all documents were printed. The problem vanished, however I didn't want to rely on people configuring printers which requires specialist settings, so I rejected that. This is a client's network and I have no control over it.
2)printed to existing web service (using user impersonation) on print server to Sharp queues to confirm that this still worked. Confirmed.
3)Printed to existing web service (using user impersonation) on the print server to Lexmark queues and this still failed and the fonts were lost.
4) Printed from 2 separate IIS boxes to the print server to the Lexmark queues (using a domain app pool identity account) and this now worked correctly (in c# new printserver(\printerservername)) in that the Lexmarks printed correctly.
5)Printed to existing web service (using the domain app pool identity account) on print server to the Lexmark queues and this still failed (in c# new localprintserver()).
6)Printed to existing web service (using the domain app pool identity account) on print server to the Lexmark queues and this still failed (in c# new printserver(\printerservername))
The upshot of all this is that if you print locally the fonts are lost for some odd reason, but if you print remotely, the fonts are retained. All the servers have the same basic set up (no xps viewer etc and the domain app pool account is a service account) and the only difference I can see is the new localprintserver against new printserver(\printservername) calls. The same code was ported from machine to machine with the web config file holding the local or remote setting. All machines have IIS 7.5 .net 4.5 MVC 4 and are in the trusted zone.
So my solution will be split, non Sharp printing will be carried out on the document builder remote to the print server service and Sharp printing will be done on the print server (this is required for the Equitrac "follow me" printing) because I didn't want to use kerberos delegation. As stated it's not my domain and I could see the whole place grinding to a halt print wise over a lost spn or a kerberos failure.
Anyway, hope this helps someone.

How can I send a file from an iPhone to my server?

I've seen lots of questions and answers about this topic, but unfortunately none of them seem to fit my needs closely enough. This question is about both iOS and vb2010.
I have created an app which communicates with my server (at this point, "my server" is actually my Win7 machine that I am using for development. Eventually it will move to an actual server). The back end is a VB program that interfaces between the iPhone app and a SQL Server database. A specific port is open to the computer, and everything there works great. I am able to retrieve data from the database and display it on the iPhone with the app, and also able to save records from the app to the database. It's all so very cool, and I'm really jazzed about it.
The final phase of the project requires uploading a camera image to the server. This is the part where it gets funky for me.
So far I have been able to save the image as a file on the iPhone's disk. Now I need to understand better how to transfer that file to a directory on the server.
I know that there are many techniques that use the "post" method, but as I understand it, that requires a PHP or ASP page to accomplish. FTP generally uses ports 20 and 21. What I would really like is to be able to set up the existing software to receive an upload request from the app, and then place itself in receive mode. This would not require opening another port, and I can tailor the VB code to handle the file however I like.
All I really need to understand is, how can I get the two programs to do the file transfer? And is it reasonable to assume that I can use the same port?

Resources