È possibile stampare sulla stampante di Windows 10 PDF, utilizzando il metodo PrintOut
e specificando il quarto parametro nome del file di output, come nel seguente esempio:
/// <summary>
/// Convert a file to PDF using office _Document object
/// </summary>
/// <param name="InputFile">Full path and filename with extension of the file you want to convert from</param>
/// <returns></returns>
public void PrintFile(string InputFile)
{
// convert input filename to new pdf name
object OutputFileName = Path.Combine(
Path.GetDirectoryName(InputFile),
Path.GetFileNameWithoutExtension(InputFile)+".pdf"
);
// Set an object so there is less typing for values not needed
object missing = System.Reflection.Missing.Value;
// `doc` is of type `_Document`
doc.PrintOut(
ref missing, // Background
ref missing, // Append
ref missing, // Range
OutputFileName, // OutputFileName
ref missing, // From
ref missing, // To
ref missing, // Item
ref missing, // Copies
ref missing, // Pages
ref missing, // PageType
ref missing, // PrintToFile
ref missing, // Collate
ref missing, // ActivePrinterMacGX
ref missing, // ManualDuplexPrint
ref missing, // PrintZoomColumn
ref missing, // PrintZoomRow
ref missing, // PrintZoomPaperWidth
ref missing, // PrintZoomPaperHeight
);
}
Il OutputFile
è una stringa di percorso completo del documento di input che si desidera convertire e il documento è un oggetto documento normale. Per maggiori informazioni sul doc vedere i seguenti collegamenti MSDN per _Document.PrintOut()
Il PrintOut
nell'esempio risultati una stampa silenziosa, quando si stampa attraverso il specificato inputFile
al OutputFileName
, che verrà inserito nella stessa cartella del documento originale, ma sarà in formato PDF con l'estensione .pdf
.
fonte
2015-10-13 18:09:08
ha pubblicato una soluzione di lavoro per te. fatemi sapere cosa ne pensate :) –
Quanto sarebbe semplice e immenso, se tale tipo di opzione (funzione di nome automatico) venisse fornita da Microsoft nel proprio software. –