Se puede generar un archivo de excel con PDFs incrustados sin la librería Interop

Estoy generando un archivo de excel en el cual se almacenan archivos PDF para que independientemente de donde se abra el excel, se puedan visualizar los PDF, mi primer intento fue con la libreria Excel.Interop, en un ambiente web(ASP.Net), *se instaló Excel en el servidor *se dio permisos desde MMC- 32 en la aplicación de excel *se agrego un usuario administrador para ejecutar excel en el server *se dio permisos de lectura y escritura al usuario IIS_user ahora, se que Microsoft no recomienda instalar office en un servidor, pero es algo que se requiere. Cuando publico el codigo me aparece el siguiente error:

System.Runtime.InteropServices.COMException (0x800A03EC): Exception from HRESULT: 0x800A03EC at Microsoft.Office.Interop.Excel._Workbook.SaveAs(Object Filename, Object FileFormat, Object Password, Object WriteResPassword, Object ReadOnlyRecommended, Object CreateBackup, XlSaveAsAccessMode AccessMode, Object ConflictResolution, Object AddToMru, Object TextCodepage, Object TextVisualLayout, Object Local) at WebApplication4.Default.Page_Load(Object sender, EventArgs e) in *************************Default.aspx.cs:line 74 

ahora, e visto muchos que dicen de librerías alternativas, pero no he visto la función que necesito para incrustar el pdf en el excel, este es el codigo que manejo hasta ahora

Microsoft.Office.Interop.Excel.Application xlApp;     Microsoft.Office.Interop.Excel.Workbook xlWorkBook;     Microsoft.Office.Interop.Excel.Worksheet xlWorkSheet;      protected void Page_Load(object sender, EventArgs e)     {          xlApp = new Microsoft.Office.Interop.Excel.Application();         int contador = 12;         try         {             xlWorkBook = xlApp.Workbooks.Add(true);             xlWorkBook = xlApp.Workbooks.Open(@"*************************************\example.xlsx", 0, false, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);              xlWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)xlWorkBook.Worksheets[1];              int i = 680;             int j = 160;              int contadorArchivos = 1;              foreach (string f in Directory.GetFiles(@"**********************************"))              {                  contador = contador + 1;                  xlApp.get_Range("A1" + contador + ", Z" + contador + "").RowHeight = 60;                 if (f.Contains("\2.pdf"))                 {                      Response.Write(f + "</br>");                      j = j + 60;                      contadorArchivos + ".pdf", Link: false, DisplayAsIcon: true, IconFileName: "pdf", IconIndex: 1, IconLabel: contadorArchivos.ToString(), Left: i, Top: j, Width: 150, Height: 150);                     xlWorkSheet.Shapes.AddOLEObject(Filename: @"******************************\2.pdf", Link: false, DisplayAsIcon: true, IconFileName: "pdf", IconIndex: 1, IconLabel: contadorArchivos.ToString(), Left: i, Top: j, Width: 150, Height: 150);                 }                  contadorArchivos = contadorArchivos + 1;              }  Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal);             Missing m = Missing.Value;             xlWorkBook.SaveAs(@"****************************\test.xlsx", m, m, m, m, m, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, m, m, m);              xlWorkBook.Close();             xlWorkBook = null;             xlApp.Application.Quit();             xlApp.Quit();              if (xlWorkBook != null)             {                  xlApp.Workbooks[1].Close(false);                 xlApp.Quit();                 EliminaReferencias(xlApp);             }              Response.Write("listo!!");          }         catch (Exception ex)         {              Response.Write("error"+"</br>"+ex.ToString());              if (xlWorkBook != null)             {                  xlApp.Workbooks[1].Close(false);                 xlApp.Quit();                 EliminaReferencias(xlApp );             }           }           finally         {          }     } 

Alguien tiene una librería que contenga esta función que no sea interop, y que pueda incrustar un pdf en un excel

¿Por qué no se puede validar las credenciales en el controlador LoginController.php, luego de usar comando php artisan make:auth?

¡Buenas tardes!; tengo mi proyecto de Laravel que se llama “proyectolaravel”; ahora en el proyecto se ha implementado una forma de ingreso de credenciales y validación de credenciales usando el comando de Laravel que se llama php artisan make:auth, que al ejecutar el comando en la carpeta /resources/views/auth/login.blade.php, en la parte de los controladores en la carpeta /App/Http/Controllers/Auth/ (los controladores) :ForgotPasswordController.php, LoginController.php, RegisterController.php, ResetPasswordController.php, VerificacionController.php; y a nivel de la carpeta /App/Http/Controllers/HomeController.php

En el Controlador /App/Http/Controllers/Auth/LoginController.php; se ha realizado lo siguiente, se ha implementado un método para incialmente para mostrar la vista de login que se llama “showLoginForm” y otro método para validar las credenciales del usuario para verificar si existe en la tabla users el método “login”, de la siguiente manera:

<?php  namespace App\Http\Controllers\Auth;  use App\Http\Controllers\Controller; use Illuminate\Http\Request; use Illiminate\Support\Facades\Auth;  class LoginController extends Controller {     public function showLoginForm(){         return view('auth.login');      }      public function login(Request $  requet){          $  this->validateLogin($  request);          if (Auth::attemp(['usuario' => $  request->usuario,'password' => $  request->password,'condicion'=>1])){              return redirect()->route('main');          }              return back()->withErrors(['usuario' => trans('auth.failed')]);      }                     protected function validateLogin(Request $  request){             $  this->validate($  request,[                 'usuario' => 'required|string',                 'password' => 'required|string'             ]);         }        }

En el archivo de Rutas “web.php” que esta en la carpeta de mi proyecto laravel “proyectolaravel” /routes/web.php; se aguegó las rutas a estos métodos, de la siguiente manera:

<?php  /* |-------------------------------------------------------------------------- | Web Routes |-------------------------------------------------------------------------- | | Here is where you can register web routes for your application. These | routes are loaded by the RouteServiceProvider within a group which | contains the "web" middleware group. Now create something great! | */  Route::get('/main', function () {     return view('contenido/contenido'); })->name('main');  Route::get('/categoria', 'CategoriaController@index'); Route::post('/categoria/registrar', 'CategoriaController@store'); Route::put('/categoria/actualizar', 'CategoriaController@update'); Route::put('/categoria/desactivar', 'CategoriaController@desactivar'); Route::put('/categoria/activar', 'CategoriaController@activar'); Route::get('/categoria/selectCategoria', 'CategoriaController@selectCategoria');  Route::get('/producto', 'ProductoController@index'); Route::post('/producto/registrar', 'ProductoController@store'); Route::put('/producto/actualizar', 'ProductoController@update'); Route::put('/producto/desactivar', 'ProductoController@desactivar'); Route::put('/producto/activar', 'ProductoController@activar');  Route::get('/proveedor', 'ProveedorController@index'); Route::post('/proveedor/registrar', 'ProveedorController@store'); Route::put('/proveedor/actualizar', 'ProveedorController@update');  Route::get('/cliente', 'ClienteController@index'); Route::post('/cliente/registrar', 'ClienteController@store'); Route::put('/cliente/actualizar', 'ClienteController@update');  Route::get('/rol', 'RolController@index'); Route::get('/rol/selectRol', 'RolController@selectRol');  Route::get('/user', 'UserController@index'); Route::post('/user/registrar', 'UserController@store'); Route::put('/user/actualizar', 'UserController@update'); Route::put('/user/desactivar', 'UserController@desactivar'); Route::put('/user/activar', 'UserController@activar');  Route::get('/','Auth\LoginController@showLoginForm'); Route::post('/login', 'Auth\LoginController@login')->name('login');  Route::get('/home', 'HomeController@index')->name('home');

Lo cierto que inicialmente cuando se corre el proyecto que tengo realizado “proyectolaravel”, en el mismo archivo /routes/web.php en la parte de arriba lo redirecciona a main /main al login.php que pide las credenciales del usuario; que el archivo de login es el siguiente:

@extends('auth.contenido')  @section('login') <div class="row justify-content-center">       <div class="col-md-5">         <div class="card-group mb-0">           <div class="card p-4">           <form class="form-horizontal was-validated" method="POST" action="{{ route('login')}}">            {{ csrf_field() }}               <div class="card-body">               <h3 class="text-center bg-success">Compras - Ventas</h3>                             <div class="form-group mb-3{{$  errors->has('usuario' ? 'is-invalid' : '')}}">                 <span class="input-group-addon"><i class="icon-user"></i></span>                 <input type="text" value="{{old('usuario')}}" name="usuario" id="usuario" class="form-control" placeholder="Usuario">                 {!!$  errors->first('usuario','<span class="invalid-feedback">:message</span>')!!}               </div>               <div class="form-group mb-4{{$  errors->has('password' ? 'is-invalid' : '')}}">                 <span class="input-group-addon"><i class="icon-lock"></i></span>                 <input type="password" name="password" id="password" class="form-control" placeholder="Password">                 {!!$  errors->first('password','<span class="invalid-feedback">:message</span>')!!}               </div>               <div class="row">                 <div class="col-6">                   <button type="submit" class="btn btn-success px-4"><i class="fa fa-sign-in fa-2x"></i> Iniciar sesión</button>                 </div>               </div>             </div>           </form>           </div>          </div>       </div>     </div> @endsection

Que esta en la carpeta /resources/views/auth/login.blade.php; que dentro del mismo archivo login.blade.php; hay una extensión del archivo contenido.blade.php en la misma ruta el archivo que a continuación detallo:

<!DOCTYPE html> <html lang="es">  <head>     <meta charset="utf-8">     <meta http-equiv="X-UA-Compatible" content="IE=edge">     <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">     <meta name="description" content="Sistema Ventas Laravel Vue Js- webtraining-it.com">     <meta name="keyword" content="Sistema ventas Laravel Vue Js, Sistema compras Laravel Vue Js">              <title>Proyecto</title>    <!-- Icons -->   <link href="css/plantilla.css" rel="stylesheet">  </head>  <body class="app flex-row align-items-center">   <div class="container">      @yield('login')   </div>    <!-- Bootstrap and necessary plugins -->   <script src="js/plantilla.js"></script>  </body> </html>

En el momento de ejecutar el proyecto me aparece la pantalla que pide las credenciales del usuario que es el siguiente:

Laravel - Auth (autenticacion de las credenciales del usuario)

Este es el mensaje de error que me sale luego de haber ingresado las credenciales del usuario para hacer la autenticacion en el método login sale este error:

Laravel - Auth error al autenticar en el controlador LoginController

Mi pregunta es ¿Como soluciono este error que me sale en el método Login del controlador LoginController.php?; todo me base en la documentación del siguiente link o enlace:

Laravel – Auth (Atenticación)

Puede un botón tener dos funciones en codeigniter

quiero que me orienten en codeigniter, la cuestión es que tengo un formulario con un submit y boton de guardar, al dar guardar me redirecciona a una vista de que el registro ha sido completado y los datos guardados correctamente y un botón que genera un pdf con los datos mas importantes. Hasta aquí todo bien, lo que quiero saber es si al momento de dar click en el botón que genera el pdf también el botón tenga la función de que la vista que contiene el mensaje de que los datos se han guardado correctamente cambie a otra pagina para que la persona que hizo el registro no vuelva a generar el pdf

¿Que puede estar mal ?(Programación de estructuras de control)

La forma más fácil es con do-while sin embargo quise intentarlo de otra forma aunque fuera más difícil. (Es un simple juego que pide al usuario que adivine los números). Nota: Probablemente tenga que estudiar estructuras de control para entender el flujo del programa ya que en su momento quería llegar rápido a POO. Código: (Perdón por mi forma desorganizada de escribir código)¿Puede que las sentencias anidadas tengan algo que ver?

package Main.java; import java.util.Scanner; import javax.swing.JOptionPane;  public class Main {      public static void main(String args[]) {          Scanner scanner = new Scanner(System.in);          int aleatorio =(int)(Math.random()*100);/*Ya usé int aleatorio = (1*100) para comprobar y solo funciona el     primer has ganado*/          System.out.println("Digite un numero del 1 al 100");         int D = scanner.nextInt();          if(aleatorio==D) {              System.out.println("Has Ganado");         }             while(aleatorio<D) {              System.out.println("Más alto:");             int c = scanner.nextInt();//Falta llenar esta parte               if(aleatorio==c) {                  System.out.println("Has Ganado");             }              while(aleatorio>D) {                  System.out.println("Más Bajo:");                 int B = scanner.nextInt();                  if(aleatorio==B) {                      System.out.println("Has Ganado");                 }             }         }     } } 

Se puede usar el ISNULL en una condicion IN

La pregunta en general seria si puedo utilizar un ISNULL después de la condición IN en un WHERE.

Tengo un SP al que mando unos IDs separados por coma (NVARCHAR), los ids son numéricos. Para usarlos en el WHERE utilizo una función la cual me los separa en un select y así utilizo el IN.

El detalle es el siguiente: Los ids son de unos select picker de seleccion multiple, antes no tenia esta opción en mi pagina, pero como fue requerida agregue el select multiple. Cabe mencionar que anteriormente en lugar de los IDS tomaba el texto del select y así filtraba, ahora cambia a los ids, porque seria selección mas de una opción. En mi pagina cuando el usuario no seccionaba nada en el select agarraba todos los registros que había en la tabla con el isnull ejemplo:

  AND Linea = ISNULL(@Linea,Linea)        AND nom_reporto = ISNULL(@Reporto,nom_reporto)        AND nom_asignadoa = ISNULL(@Asignado,nom_asignadoa)    

Pero como ahora los parámetros cambiaron no se como puedo utilizar el isnull y forzó al usuario a llenar todos los campos, sin la opción de dejar algún filtro vació y mostrar todos los registros del select picker donde no se selecciono nada

Ahora esta es la manera como tengo el where:

AND a.Linea in (SELECT Value FROM [fnSplitbigint]( @numLinea )) AND a.Departamento in (SELECT Value FROM [fnSplitbigint]( @numAsignado )) AND a.Causa in (SELECT Value FROM [fnSplitbigint]( @numCausa )) 

Se puede reiniciar la interfaz grafica en Java?

Mi problema es el siguiente, tengo un JTextArea que debe mostrar el resultado de unos comandos ejecutados en Linux, estos comandos se reciben por un socket, el caso es que cuando ejecuto el comando, logro recibir los datos de el comando, pero la Interfaz grafica se queda sin responder, ~

            if(!entrada.getText().equals("")){                  enviar(entrada.getText());                 salida = leer();                 while(salida!=null){                     System.out.println(salida);                     salida = leer();                     System.out.println(salida);                     }                                                   }else{                 JOptionPane.showMessageDialog(null, "Ingrese un comando");                                 }                

Este es el metodo que se ejecuta cuando presiono ejecutar, y estos son los metodos leer y enviar: ~

     public String leer(){         String Msg ="";         try{             InputStream fAuxEntrada = Cliente.skCliente.getInputStream();             DataInputStream fEntrada = new DataInputStream(fAuxEntrada);             Msg = fEntrada.readUTF();             if(Msg==null){                 fEntrada.close();             }          }catch(Exception e){          }         return Msg;     }      public void enviar(String h){         String Msg = h;         try{              OutputStream fAuxSalida = Cliente.skCliente.getOutputStream();             DataOutputStream fSalida  = new DataOutputStream(fAuxSalida);             fSalida.writeUTF(Msg);             if(h==null){                 fSalida.close();             }                         }catch(Exception e){          }     } 

¿Se puede agregar una imagen de header en wkhtmltopdf usando Django?

Muy buenas a todos, me preguntaba si puedo poner hacer si puedo poner una imagen de header o footer con pdfkit y wkhtmltopdf.

options = {     '--page-size': 'Letter',     '--no-outline': None,     '--quiet': '',     '--header-center':'Escribir texto',     '--footer-center': 'Escribir texto', } 

Se que de ésta manera se puede colocar el header y el footer, pero no sabría como hacer para mostrar una imagen en alguna de ellas. Tal vez alguno de vosotros me puede ayudar. De antemanos, muchas gracias!!!

¿Alguien me puede explicar que hace este bucle?

Necesito sabes qué hace este código, lo encontré en un ejemplo de programación php y no entiendo para que sirve y que finalidad tiene y cómo lo puedo usar.

function view($  vista, $  datos) {     foreach ($  datos as $  id_assoc => $  value) {         $  {$  id_assoc} = $  value;     }     require_once 'core/HelpVistas.php';     $  helper = new HelpVistas();     require_once 'view/' . $  vista . 'View.php'; }