Avatar billede TV47 Seniormester
25. marts 2023 - 18:49 Der er 3 kommentarer og
1 løsning

ASP:Image og JPG/PDF

Hejsa.
Jeg bruger følgende kode i asp:

<asp:Image ID="Image" Height="750px" ImageUrl='<%# Eval("Filnavn") %>' runat="server" />                       

Der vises imidlertid kun billeder (JPG) og ikke PDF filer.
Ved PDF filer kommer der bare en lille firkant i toppen ved runtime.

Nogen der kender en løsning på det?
Avatar billede claes57 Ekspert
25. marts 2023 - 19:03 #1
det er besværligt - pdf er ikke et billede
men se på https://www.codeproject.com/articles/421645/displaying-the-contents-of-a-pdf-file-in-an-asp-ne

din nuværende kode skal fravælge pdf-filer, og sende dem videre til fx ovenstående
Avatar billede Slettet bruger
25. marts 2023 - 19:44 #2
Det er normalt ikke muligt at vise PDF-filer direkte i en <asp:Image> kontrol, da kontrollen kun understøtter billeder i almindelige billedformater som JPG, PNG, GIF osv.

Hvis du vil vise PDF-filer på en webside, er der flere måder at gøre det på. En mulighed er at bruge et tredjeparts PDF-viewer-plugin, f.eks. Adobe Acrobat Reader eller Foxit Reader, som brugeren skal have installeret på sin computer.

En anden mulighed er at bruge en tredjeparts PDF-viewer-kontrol i dit asp.net projekt, som f.eks. PDF.js eller Syncfusion PDF Viewer. Disse kontroller giver dig mulighed for at vise PDF-filer direkte i en HTML-side ved hjælp af JavaScript.

Her er et eksempel på, hvordan du kan bruge PDF.js til at vise en PDF-fil i en HTML-side:

1    Tilføj følgende script tags i head-sektionen af dit HTML-dokument:

html

<head>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.11.338/pdf.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.11.338/pdf.worker.min.js"></script>
</head>



2  Tilføj følgende HTML-kode, hvor du vil vise PDF-filen:

html

<div>
  <canvas id="pdfCanvas"></canvas>
</div>



3    Tilføj følgende JavaScript-kode for at indlæse PDF-filen og vise den i canvas-elementet:

javascript

<script>
  // Hent URL'en for PDF-filen fra din database eller hvor du gemmer den.
  var pdfUrl = '<%= Eval("Filnavn") %>';

  // Indlæs PDF-filen ved hjælp af PDF.js biblioteket.
  pdfjsLib.getDocument(pdfUrl).promise.then(function(pdfDoc) {
    // Hent den første side af PDF-filen.
    pdfDoc.getPage(1).then(function(page) {
      // Beregn viewport størrelsen for at skalere PDF-siden til canvas-elementet.
      var viewport = page.getViewport({scale: 1});
      var canvas = document.getElementById("pdfCanvas");
      var context = canvas.getContext("2d");
      canvas.height = viewport.height;
      canvas.width = viewport.width;

      // Tegn PDF-siden i canvas-elementet.
      page.render({
        canvasContext: context,
        viewport: viewport
      });
    });
  });
</script>



Bemærk, at PDF.js biblioteket er afhængig af andre JavaScript-biblioteker, så du skal inkludere disse i din HTML-fil, hvis de ikke allerede er inkluderet. Derudover skal du muligvis justere kodeeksemplet for at passe til dit projekt og dine krav.

----

Alternativt har du brug for at vise PDF-filer i stedet for billeder i din ASP.NET-applikation. Jeg fandt en løsning på Stack Overflow, hvor du kan bruge en tredjeparts PDF Viewer-kontrol til at vise PDF-filer i stedet for billeder. Du kan også bruge en iframe til at vise PDF-filer. Du kan finde mere information om dette på følgende link. Håber det hjælper!

https://stackoverflow.com/questions/17114433/display-pdf-in-image-box-in-asp-net
Avatar billede TV47 Seniormester
25. marts 2023 - 20:40 #3
Tak for svar begge to.

Nu er meningen med det jeg laver, at mine data/filer skal vises samlet på en liste i et gridview. Så derfor er det nok nemmest, hvis alle filer er billedfiler eller alle er pdf-filer.
Nu er det imidlertid lavet sådan, at jeg kører asp:image, altså at vise billedfiler.
Er det nemmeste så at konvertere pdf filer til billedfiler, f.eks. JPG?
Jeg har en upload funktion, hvor brugeren i runtime, kan udvælge filer og uploade.
Måske er det her konverteringen skal foregå.
Avatar billede TV47 Seniormester
31. marts 2023 - 10:24 #4
Tak for svarene.

Er lidt for svært for mig.

Men tak.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester