using Nop.Core.Domain.Catalog; using Nop.Core.Domain.Localization; using Nop.Core.Domain.Orders; using Nop.Core.Domain.Shipping; using Nop.Core.Domain.Stores; using Nop.Core.Domain.Vendors; namespace Nop.Services.Common; /// /// Customer service interface /// public partial interface IPdfService { /// /// Write PDF invoice to the specified stream /// /// Stream to save PDF /// Order /// Language; null to use a language used when placing an order /// Store /// Vendor to limit products; null to print all products. If specified, then totals won't be printed /// /// A task that represents the asynchronous operation /// Task PrintOrderToPdfAsync(Stream stream, Order order, Language language = null, Store store = null, Vendor vendor = null); /// /// Write ZIP archive with invoices to the specified stream /// /// Stream /// Orders /// Language; null to use a language used when placing an order /// Vendor to limit products; null to print all products. If specified, then totals won't be printed /// A task that represents the asynchronous operation Task PrintOrdersToPdfAsync(Stream stream, IList orders, Language language = null, Vendor vendor = null); /// /// Write packaging slip to the specified stream /// /// Stream /// Shipment /// Language; null to use a language used when placing an order /// A task that represents the asynchronous operation Task PrintPackagingSlipToPdfAsync(Stream stream, Shipment shipment, Language language = null); /// /// Write ZIP archive with packaging slips to the specified stream /// /// Stream /// Shipments /// Language; null to use a language used when placing an order /// A task that represents the asynchronous operation Task PrintPackagingSlipsToPdfAsync(Stream stream, IList shipments, Language language = null); /// /// Write PDF catalog to the specified stream /// /// Stream /// Products /// A task that represents the asynchronous operation Task PrintProductsToPdfAsync(Stream stream, IList products); /// /// Export an order to PDF and save to disk /// /// Order /// Language identifier; null to use a language used when placing an order /// Vendor to limit products; null to print all products. If specified, then totals won't be printed /// /// The task result contains a path of generated file /// Task SaveOrderPdfToDiskAsync(Order order, Language language = null, Vendor vendor = null); }