Какова функция / метод для открытия файла .pdf (в axAcroPDF ...), который хранится в папке, а путь к файлу сохраняется в базе данных? - PullRequest
0 голосов
/ 27 августа 2018

Добрый день.

У меня есть приложение для форм Windows (C #). С помощью «диалога открытия файла» я могу выбрать файл .pdf. Выбранный файл .pdf копируется и сохраняется в заранее определенном месте назначения. Путь к файлу выбранного PDF-файла хранится в базе данных SQL.

Какова функция / метод для открытия файла .pdf (в axAcroPDF ...), который хранится в папке, а его путь к файлу хранится в базе данных?

Вот что у меня есть, код тиски:

            private void txtST1Cap_DoubleClick(object sender, EventArgs e)
        {
            SavedDocumentPath1 = @"XXX\";

            using (OpenFileDialog OpenFileDialog1 = new OpenFileDialog() { ValidateNames = true, Multiselect = false, Filter = "PDF|*.pdf" })

                if (openFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    //display PDF in reader
                    OpenedDocument1 = openFileDialog1.FileName;
                    axAcroPDF1ST1.src = openFileDialog1.FileName;

                    //code for getting REF No. from opened file name
                    OpenedDocumentREF = Path.GetFileName(openFileDialog1.FileName);
                    REFfromOpenedDocument = OpenedDocumentREF.Substring(0, 12);
                    txtST1Cap.Text = REFfromOpenedDocument;

                    //destination of to-be saved document
                    SavedDocLoc1 = (SavedDocumentPath1 + Path.GetFileName(openFileDialog1.FileName));
                    lblST1CapLocation.Text = SavedDocLoc1;
                }

        }
        private void btnST1Cap_Click(object sender, EventArgs e)
        {

            openFileDialog1.FileName=SavedDocLoc1;
            axAcroPDF1ST1.src = openFileDialog1.FileName;
        }

Кнопка Clicl btnST1Cap не работает.

Спасибо.

1 Ответ

0 голосов
/ 27 августа 2018

Я был почти прав. Итак, если кто-то хочет открыть PDF-документ в программе «по умолчанию», System.Diagnostics.Process, ... используется:

          private void btnST1Cap_Click(object sender, EventArgs e)
        {
            System.Diagnostics.Process.Start(lblST1CapLocation.Text);

       }

Как уже упоминалось, открывается браузер .pdf по умолчанию.

Я хотел, чтобы открыть его в моей форме (в axAcroPDF ...):

        private void btnST1Cap_Click(object sender, EventArgs e)
        {
            axAcroPDF1ST1.src = lblST1CapLocation.Text;

        }

Yaaaay 4 ME!

В вышеприведенных случаях "lblST1CapLocation.Text" - это метка, в которой хранится путь к файлу. При желании можно указать прямой путь к файлу:

System.Diagnostics.Process.Start(@"c:\myPdf.pdf");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...