Mon exigence est d’imprimer les factures au format pdf directement sur l’imprimeur local à partir d’une application Web développée dans le cadre .net mvc.
J'ai besoin de faire exactement comme shipstation fait avec SHIPSTATION CONNECT
Est-ce qu'il utilise un processus comme
CODEPROJET DE PARTAGE D'IMPRIMANTE A DISTANCE
ou en utilisant la bibliothèque WMI pour partager l’imprimante à distance.
Tout expert en la matière m'aidera, ainsi que mon programmeur, à construire la solution. Je ne m'attends pas à un code ni à une alimentation à la cuillère, mais je souhaite connaître le processus et la manière de commencer dans la bonne direction.
Merci d'avance pour l'aide!
cordialement
vous pouvez écrire une fonction javascript qui imprime depuis une imprimante locale,
w=window.open();
w.document.open();
w.document.write("<html><head></head><body>");
w.document.write("HI");
w.document.write("</body></html>");
w.document.close();
w.print();
w.close();
exemple de travail:
si vous souhaitez imprimer à partir du serveur, vous devez envoyer une demande, par exemple: www.mysite.com/print.aspx?file=invoice.pdf
pour l'imprimer par le serveur, vous avez 2 solutions; la première appelle un autre processus pour l'exécuter, comme vous pouvez le voir dans cette réponse:
Imprimer le fichier PDF en C #
la seconde est d'écrire votre propre implémentation en utilisant l'espace de noms PrintDocument, par exemple:
namespace PrintPDF
{
class Program
{
static void Main(string[] args)
{
PdfDocument doc = new PdfDocument();
doc.LoadFromFile("sample.pdf");
//Use the default printer to print all the pages
//doc.PrintDocument.Print();
//Set the printer and select the pages you want to print
PrintDialog dialogPrint = new PrintDialog();
dialogPrint.AllowPrintToFile = true;
dialogPrint.AllowSomePages = true;
dialogPrint.PrinterSettings.MinimumPage = 1;
dialogPrint.PrinterSettings.MaximumPage = doc.Pages.Count;
dialogPrint.PrinterSettings.FromPage = 1;
dialogPrint.PrinterSettings.ToPage = doc.Pages.Count;
if (dialogPrint.ShowDialog() == DialogResult.OK)
{
doc.PrintFromPage = dialogPrint.PrinterSettings.FromPage;
doc.PrintToPage = dialogPrint.PrinterSettings.ToPage;
doc.PrinterName = dialogPrint.PrinterSettings.PrinterName;
PrintDocument printDoc = doc.PrintDocument;
dialogPrint.Document = printDoc;
printDoc.Print();
}
}
}
}
original extrait de bibliothèque tierce gratuite
vérifiez printnode.com pourrait vous être utile. Cela ressemble à faire ce que vous voulez. Le service n’est pas gratuit, mais vous pouvez également le créer à l’aide de Google Cloud Print.