abrir documentos desde c.docx

5
Abrir documentos desde c# quiero que al presionar un boton se abra un documento en Pdf. la forma mas sencilla que he probado es con el Process.Start("ruta"); pero el problema que tengo es que cuando ubico el documento en la raiz del programa para que al crear un ejecutable se pueda ejecutar en cualquier PC. para eso lo hago de la siguiente manera: Process.Start(Application.StartupPath + "\\archivo.pdf"); pero no funciona, dice que no puede encontrar la ubicacion del archivo ... ////////////////////////////////////////////////////////// hola pero esto que comentas que no funciona se produce cuando ejecutas la aplciacion desde el Visual Studio, o es cuando instalas la aplciacion en la pc del usuario el Application.StartupPath devuelve la ruta donde se encuantra el .exe pero recuerda que si ejecutas desde el VS esta ruta esta en el \bin\Debug del proyecto, es alli donde debes poner el .pdf es mas recomendaria ademas que uses string pdfPath = Path.Combine(Application.StartupPath, "archivo.pdf"); Process.Start(pdfPath); Nota: recuerda definir el using System.IO para poder usar la clase Path http://social.msdn.microsoft.com/Forums/es-ES/fe642219-5c85- 468c-86a7-c234a3c3787f/como-abrir-un-documento-pdf-en-c- Cómo: Abrir archivos mediante el componente OpenFileDialog

Upload: paromarye1

Post on 29-Nov-2015

56 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Abrir documentos desde c.docx

Abrir documentos desde c#

quiero que al presionar un boton se abra un documento en Pdf. la forma mas sencilla que he probado es con el Process.Start("ruta"); pero el problema que tengo es que cuando ubico el documento en la raiz del programa para que al crear un ejecutable se pueda ejecutar  en cualquier PC. para eso lo hago de la siguiente manera:

Process.Start(Application.StartupPath + "\\archivo.pdf");

pero no funciona, dice que no puede encontrar la ubicacion del archivo ...

//////////////////////////////////////////////////////////

hola

pero esto que comentas que no funciona se produce cuando ejecutas la aplciacion desde el Visual Studio, o es cuando instalas la aplciacion en la pc del usuario

el Application.StartupPath devuelve la ruta donde se encuantra el .exe pero recuerda que si ejecutas desde el VS esta ruta esta en el \bin\Debug del proyecto, es alli donde debes poner el .pdf

es mas recomendaria ademas que uses

string pdfPath = Path.Combine(Application.StartupPath, "archivo.pdf");Process.Start(pdfPath); 

Nota: recuerda definir el using System.IO para poder usar la clase Path

http://social.msdn.microsoft.com/Forums/es-ES/fe642219-5c85-468c-86a7-c234a3c3787f/como-abrir-un-documento-pdf-en-c-

Cómo: Abrir archivos mediante el componente OpenFileDialog

El componente OpenFileDialog permite a los usuarios examinar las carpetas de su equipo o de cualquier equipo de la red y seleccionar uno o más archivos para abrirlos. El cuadro de diálogo devuelve la ruta de acceso y el nombre del archivo que seleccionó el usuario en el cuadro de diálogo.

Page 2: Abrir documentos desde c.docx

Una vez que el usuario ha seleccionado el archivo que desea abrir, hay dos maneras de abrirlo. Si prefiere trabajar con secuencias de archivo, puede crear una instancia de la clase StreamReader. Como alternativa, puede utilizar el método OpenFile para abrir el archivo seleccionado.El primero de los siguientes ejemplos implica una comprobación de permisos de FileIOPermission (como se describe en la "Nota de seguridad" siguiente), pero da acceso al nombre del archivo. Puede utilizar esta técnica desde el equipo local, una intranet o Internet. El segundo método realiza también una comprobación de permisos deFileIOPermission, pero es más apropiado para aplicaciones de una intranet o de Internet.

Para abrir un archivo como una secuencia utilizando el componente OpenFileDialog

Muestre el cuadro de diálogo Abrir archivo y llame a un método para abrir el archivo seleccionado por el usuario.Una posibilidad es utilizar el método ShowDialog para mostrar el cuadro de diálogo Abrir archivo y utilizar una instancia de la clase StreamReader para abrir el archivo.En el ejemplo siguiente, el controlador de eventos Click del control Button abre una instancia del componente OpenFileDialog. Cuando se elige un archivo y el usuario hace clic en Aceptar, se abre el archivo seleccionado en el cuadro de diálogo. En este caso, el contenido se muestra en un cuadro de mensaje, sólo para mostrar que se ha leído la secuencia de archivo.

Para obtener o establecer la propiedad FileName, el ensamblado necesita que la clase System.Security.Permissions.FileIOPermission le conceda un nivel de privilegios. Si ejecuta el proceso en un contexto de confianza parcial, podría desencadenarse una excepción por falta de privilegios. Para obtener más información, vea Conceptos básicos sobre la seguridad de acceso del código.

C#

private void button1_Click(object sender, System.EventArgs e){ if(openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK) { System.IO.StreamReader sr = new System.IO.StreamReader(openFileDialog1.FileName); MessageBox.Show(sr.ReadToEnd()); sr.Close(); }}VB

Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click If OpenFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then Dim sr As New System.IO.StreamReader(OpenFileDialog1.FileName) MessageBox.Show(sr.ReadToEnd) sr.Close() End IfEnd Sub

Page 3: Abrir documentos desde c.docx

(Visual C# y Visual C++) Coloque el código siguiente en el constructor del formulario para registrar el controlador de eventos.

this.button1.Click += new System.EventHandler(this.button1_Click);Para obtener más información sobre la lectura de secuencias de archivo, vea FileStream.BeginRead (Método) y FileStream.Read (Método).

Para abrir un archivo como archivo utilizando el componente OpenFileDialog

Utilice el método ShowDialog para mostrar el cuadro de diálogo y el método OpenFile para abrir el archivo.El método OpenFile del componente OpenFileDialog devuelve los bytes que componen el archivo. Estos bytes proporcionan una secuencia para que la lea. En el ejemplo siguiente se crea una instancia de un componente OpenFileDialog con un filtro "cursor", lo que permite al usuario elegir sólo archivos que tengan la extensión.cur. Si se elige un archivo .cur , el cursor del formulario se establece en el cursor seleccionado.

Para llamar al método OpenFile, el ensamblado requiere un nivel de privilegios concedido por la clase System.Security.Permissions.FileIOPermission. Si ejecuta el proceso en un contexto de confianza parcial, podría desencadenarse una excepción por falta de privilegios. Para obtener más información, vea Conceptos básicos sobre la seguridad de acceso del código.

En el ejemplo se supone que el formulario tiene un control Button.

C#

private void button1_Click(object sender, System.EventArgs e){ // Displays an OpenFileDialog so the user can select a Cursor. OpenFileDialog openFileDialog1 = new OpenFileDialog(); openFileDialog1.Filter = "Cursor Files|*.cur"; openFileDialog1.Title = "Select a Cursor File";

// Show the Dialog. // If the user clicked OK in the dialog and // a .CUR file was selected, open it. if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK) { // Assign the cursor in the Stream to the Form's Cursor property. this.Cursor = new Cursor(openFileDialog1.OpenFile()); }}VB

Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click ' Displays an OpenFileDialog so the user can select a Cursor. Dim openFileDialog1 As New OpenFileDialog() openFileDialog1.Filter = "Cursor Files|*.cur"

Page 4: Abrir documentos desde c.docx

openFileDialog1.Title = "Select a Cursor File"

' Show the Dialog. ' If the user clicked OK in the dialog and ' a .CUR file was selected, open it. If openFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then ' Assign the cursor in the Stream to the Form's Cursor property. Me.Cursor = New Cursor(openFileDialog1.OpenFile()) End IfEnd Sub(Visual C# y Visual C++) Coloque el código siguiente en el constructor del formulario para registrar el controlador de eventos.

this.button1.Click += new System.EventHandler(this.button1_Click);

http://msdn.microsoft.com/es-es/library/61097ykx.aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-3

//----------- PARA ABRIR UN ARCHIVO------------- //Para este caso realizaremos algo que es comun de encontrar en los ejemplos acerca del tema: //Primero se debe incluir el namespace System.Diagnostics //Hacemos uso de la clase Process //Inicia un proceso Process pr = new Process(); string Directorio = @"C:"; //Configuramos las opociones iniciales del proceso pr.StartInfo.WindowStyle = ProcessWindowStyle.Maximized; // Inicamos el proceso //pr.Start(); //Pero esto es típico y bueno cabe notar que tambien es posible con el mismo código llamar a archivos que tengan asociados programas como bien puede hacer abrir un archivo de excel o Txt desde una aplicacion Windows, agregando esto, asi: // Especifique el directorio pr.StartInfo.WorkingDirectory = Directorio; // Aqui se introduce el nombre del archivo pr.StartInfo.FileName = "ejemplo.xls"; // Asegurese de tener creado este archivo pr.Start(); 

pr.StartInfo.FileName = "Prueba.txt"; // Asegurese de tener creado este archivo pr.Start(); 

//Cuando queremos por ejemplo iniciar un comando del Framework entonces lo podemos hacer de la siguiente forma: //Inicia un proceso //Fija la ruta en donde debe iniciar a trabajar el proceso //pr.StartInfo.WorkingDirectory = @"c:Archivos de programaMicrosoft Visual Studio .NET 2003SDKv1.1Bin"; //Pone argumentos con los que debe iniciar el proceso //pr.StartInfo.Arguments = "-h"; //El nombre del proceso que se ejecutará //pr.StartInfo.FileName = "sn.exe"; //Maximiza la ventana //pr.StartInfo.WindowStyle = ProcessWindowStyle.Maximized; //Inicia el proceso 

Page 5: Abrir documentos desde c.docx

//pr.Start(); 

MessageBox.Show("Archivo Consultado");

http://www.lawebdelprogramador.com/foros/C_sharp/826432-Como_abrir_un_archivo_pasandole_la_ruta_.html