繁体   English   中英

如何使用打印预览从.net C#中的文件夹打印所有pdf文件,图像和docs文件?

[英]How to Print all pdf file, Images and docs file from folder in .net C# with print preview?

所以基本上我的任务如下。

我的应用程序能够在单个预览和打印按钮中打印具有不同格式的多个文件,文件可以是图像,pdf或doc。

因此,我在下面给出了用于打印和显示打印预览选项的逻辑。

    List<string> elements = new List<string>();
    private int ElementCounter;
    private int page;


    private void button1_Click(object sender, EventArgs e)
    {
           try
        {
            var Files = new DirectoryInfo(@"E:\Desktop\").GetFilesByExtensions(".png", ".pdf",".doc",".docx");

            foreach (FileInfo file in Files)
            {

                elements.Add(file.FullName);
                ElementCounter++;

            }

            printPreviewDialog1.Document = printDocument1;
            printPreviewDialog1.ShowDialog();
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }


    private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
    {
        try
        {
            e.Graphics.DrawImage(Image.FromFile(elements[page]),e.MarginBounds);
            page++;
            e.HasMorePages = page < elements.Count;
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }

    private void printDocument1_BeginPrint(object sender, PrintEventArgs e)
    {
        page = 0;
    }

但是上面的代码仅适用于图像,我无法显示pdf和doc文件的预览。 所以我的问题是如何显示所有pdf文件和doc文件的预览

我将不胜感激的任何帮助

我只是将Docs和PDF转换为图像,这样您就可以使用现在的工作代码以相同的方式显示所有格式。 这是PDF-> PNG的SO帖子,以及DOC-> PNG的SO帖子。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM