Lägg till QR-kod i PowerPoint-presentation med C#

PowerPoint är ett populärt verktyg som används för att presentera information i form av ett bildspel. Där varje bild innehåller specifik information/data i form av text, lista, bild, video, grafer, etc. I en PowerPoint-presentation kan vi bädda in valfri specifik URL, presentatörens sociala mediekontolänk eller en e-postadress med hjälp av en QR-kod . Så att personer med en QR-läsare på sin smartphone kan fånga webbadressen utan att behöva skriva ner den. I den här artikeln kommer vi att lära oss hur du lägger till en QR-kod till en PowerPoint-presentation med C#.

Följande ämnen ska behandlas i den här artikeln:

Vad är QR-kod

En (Quick Response) QR-kod är en typ av matrisstreckkod som består av en rad svarta och vita rutor. Som namnet visar låter QR-koden användarna få tillgång till information direkt när de skannas. Den används för att lagra kodad alfanumerisk information som kan avkodas av QR-kodläsare tillgängliga på digitala enheter, såsom mobiltelefoner.

C# API för att lägga till QR-kod till PowerPoint-presentation

För att generera en QR-kod och lägga till den i PPT- eller PPTX-filer kommer vi att följa en tvåstegsprocedur. Först kommer vi att använda Aspose.Slides for .NET API för att skapa eller ladda en PowerPoint-presentation, sedan kommer vi att generera och lägga till QR-kodbilden till presentationsbilderna med hjälp av Aspose.BarCode for .NET API.

Aspose.Slides för .NET API gör det möjligt att läsa, skriva, skydda, ändra och konvertera presentationer av de format som stöds i .NET-applikationer utan att använda MS PowerPoint. Den erbjuder olika klasser för att utföra olika operationer. Klassen Presentation i API:t gör det möjligt att skapa en ny presentation eller ladda en befintlig presentationsfil i applikationen. Metoden Save() för denna klass sparar presentationen i det angivna formatet på den givna sökvägen. API:ts ISlide-gränssnitt representerar en bild i en presentation.

Vi kommer att använda Aspose.BarCode för .NET API för att generera en QR-kod. Det tillåter generering av olika typer av streckkoder som stöds. För detta ändamål tillhandahåller den klassen BarcodeGenerator för att generera QR-koden eller streckkoden för den specificerade EncodeType. Vi kan spara den genererade QR-/streckkodsbilden med metoden Save() för denna klass. API:et tillhandahåller även BarCodeImageFormat-uppräkningen för att specificera lagringsformaten. Vi kan läsa streckkoden eller QR-koden från bilder med hjälp av klassen BarCodeReader i API:t.

Vänligen antingen ladda ner API:ernas DLL:er eller installera dem med NuGet.

PM> Install-Package Aspose.BarCode
PM> Install-Package Aspose.Cells

Generera och lägg till QR-kod till presentationen i C#

Vi kan skapa en ny presentation och lägga till en QR-kodbild till presentationsbilden genom att följa stegen nedan:

  1. Skapa först en tom presentation med hjälp av klassen Presentation.
  2. Skapa sedan en instans av klassen BarcodeGenerator. Den tar kodningstypen som ett argument.
  3. Lägg sedan till text för att koda och ställ in andra valfria streckkodsegenskaper.
  4. Skapa sedan en instans av minnesströmobjektet.
  5. Anropa sedan metoden BarcodeGenerator.Save() för att spara QR-kodbilden i minnesströmmen.
  6. Anrop sedan metoden AddImage() för att lägga till bilden i presentationens image-samling.
  7. Anropa sedan metoden InsertEmptySlide() för att infoga en tom bild vid det angivna indexet med en titellayout.
  8. Hämta sedan den nyligen infogade bilden efter dess index.
  9. Efter det, infoga QR-kodbilden på bilden med metoden AddPictureFrame().
  10. Alternativt kan du ställa in bildramens formatering som fyllningstyp, färg, bredd, rotation, etc.
  11. Anropa till sist metoden Presentation.Save(). Den tar utdata PPTX-filsökvägen och SaveFormat som argument.

Följande kodexempel visar hur man genererar och lägger till en QR till en ny presentationsbild med C#.

// Detta kodexempel visar hur man lägger till QR-kod i presentationen.
// Sökvägen till dokumentkatalogen.
string dataDir = @"C:\Files\BarCode\";

// Skapa en instans av presentationsklassen
Presentation presentation = new Presentation();

// Instantiera linjärt streckkodsobjekt, Ställ in symboltyp för streckkoden
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR);

// Text att koda i QR-kod
generator.CodeText = "https://www.aspose.com";

// Dölj text i displayen
generator.Parameters.Barcode.CodeTextParameters.Location = CodeLocation.None;

// Ställ in storlek på QR
generator.Parameters.Barcode.XDimension.Pixels = 10;

// Skapa minnesström och spara QR-kodbild till minnesström
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Lägg till bild till presentationen
System.Drawing.Image img = new Bitmap(ms);
IPPImage image = presentation.Images.AddImage(img);

// Infoga en tom bild vid angivet index med en titellayout
IMasterLayoutSlideCollection layoutSlides = presentation.Masters[0].LayoutSlides;
var layoutSlide = layoutSlides.GetByType(SlideLayoutType.Title);
presentation.Slides.InsertEmptySlide(1, layoutSlide);

// Få bild av dess index
ISlide slide = presentation.Slides[1];

// Lägger till en bildram med bildens motsvarande höjd och bredd
IPictureFrame pf = slide.Shapes.AddPictureFrame(Aspose.Slides.ShapeType.Rectangle, 235, 200, image.Width, image.Height, image);

// Använd viss formatering på PictureFrame
pf.LineFormat.FillFormat.FillType = Aspose.Slides.FillType.Solid;
pf.LineFormat.FillFormat.SolidFillColor.Color = System.Drawing.Color.Blue;
pf.LineFormat.Width = 3;
pf.Rotation = 0;

// Spara presentationen
presentation.Save(dataDir + "presentation.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
Generera och lägg till QR-kod till presentationen i C#

Generera och lägg till QR-kod till presentationen i C#.

Lägg till QR-kod till befintlig presentation i C#

Vi kan ladda en befintlig presentation och lägga till en QR-kodbild genom att följa stegen nedan:

  1. Först laddar du en befintlig presentation med hjälp av klassen Presentation.
  2. Skapa sedan en instans av klassen BarcodeGenerator. Det krävs kodningstyp och text för att koda som argument.
  3. Skapa sedan en instans av minnesströmobjektet.
  4. Efter det, anropa metoden BarcodeGenerator.Save() för att spara QR-kodbilden i minnesströmmen.
  5. Anrop sedan metoden AddImage() för att lägga till bilden i presentationens image-samling.
  6. Hämta sedan den specifika bilden efter dess index.
  7. Efter det, infoga QR-kodbilden på bilden med metoden AddPictureFrame().
  8. Till sist, anropa metoden Presentation.Save(). Den tar utdata PPTX-filsökvägen och SaveFormat som argument.

Följande kodexempel visar hur man genererar och lägger till en QR till en befintlig presentation med C#.

// Detta kodexempel visar hur man lägger till QR-kod i den befintliga presentationen.
// Sökvägen till dokumentkatalogen.
string dataDir = @"C:\Files\BarCode\";

// Ladda en befintlig presentation
Presentation presentation = new Presentation(dataDir + "presentation.pptx");

// Instantiera linjärt streckkodsobjekt, Ställ in kodtext och symboltyp för streckkoden
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.QR, "https://www.aspose.com");

// Dölj text i displayen
generator.Parameters.Barcode.CodeTextParameters.Location = CodeLocation.None;

// Ställ in storlek på QR
generator.Parameters.Barcode.XDimension.Pixels = 10;

// Skapa minnesström och spara QR-kodbild till minnesström
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Lägg till bild på bilden
System.Drawing.Image img = new Bitmap(ms);
IPPImage image = presentation.Images.AddImage(img);

// Få bild av dess index
ISlide slide = presentation.Slides[0];

// Lägger till en bildram med bildens motsvarande höjd och bredd
IPictureFrame pf = slide.Shapes.AddPictureFrame(Aspose.Slides.ShapeType.Rectangle, 235, 100, image.Width, image.Height, image);

// Spara ändringar
presentation.Save(dataDir + "presentation1.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
Lägg till QR-kod till befintlig presentation i C#

Lägg till QR-kod till befintlig presentation i C#.

Lägg till streckkod till PowerPoint-presentation i C#

På samma sätt kan vi också generera en streckkodsbild och lägga till den i presentationen genom att följa stegen som nämnts tidigare. Men vi behöver bara ställa in kodningstypen annan än QR eller GS1QR i det andra steget. Vi kan också behöva justera bildpositionen i steg 7.

Följande kodexempel visar hur man lägger till en streckkod i en PowerPoint-presentation med C#.

// Detta kodexempel visar hur man lägger till streckkod i presentationen.
// Sökvägen till dokumentkatalogen.
string dataDir = @"C:\Files\BarCode\";

// Instantiera linjärt streckkodsobjekt, Ställ in kodtext och symboltyp för streckkoden
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.Code39Standard, "1234567");

// Skapa minnesström och spara streckkodsbild till minnesström
Stream ms = new MemoryStream();
generator.Save(ms, BarCodeImageFormat.Bmp);

// Skapa en instans av presentationsklassen
Presentation presentation = new Presentation();

// Få bild av dess index
ISlide slide = presentation.Slides[0];

// Lägg till bild på bilden
System.Drawing.Image img = new Bitmap(ms);
IPPImage image = presentation.Images.AddImage(img);

// Lägger till en bildram med bildens motsvarande höjd och bredd
IPictureFrame pf = slide.Shapes.AddPictureFrame(Aspose.Slides.ShapeType.Rectangle, 200, 100, image.Width, image.Height, image);

// Spara ändringar
presentation.Save(dataDir + "presentation2.pptx", Aspose.Slides.Export.SaveFormat.Pptx);
Lägg till streckkod till PowerPoint-presentation i C#.

Lägg till streckkod till PowerPoint-presentation i C#.

Läs QR-koden från presentationen i C#

Vi kan känna igen alla streckkoder eller QR-koder som finns tillgängliga på någon av bilderna i presentationen genom att följa stegen nedan:

  1. Först laddar du en befintlig presentation med hjälp av klassen Presentation.
  2. Gå sedan igenom alla bilder i presentationens bildsamling.
  3. Spara sedan bilden i strömmen.
  4. Skapa sedan en instans av klassen BarCodeReader med bildström och DecodeType som argument.
  5. Efter det, anropa metoden ReadBarCodes() för att få objektet BarCodeResult.
  6. Till sist, visa QR-kodinformationen.

Följande kodexempel visar hur man läser en QR-kodbild från en presentation med C#.

// Detta kodexempel visar hur man läser QR-kod från presentationen.
// Sökvägen till dokumentkatalogen.
string dataDir = @"C:\Files\BarCode\";

// Ladda presentationen
Presentation presentation = new Presentation(dataDir + "presentation.pptx");

// Få presentationsbilder
var images = presentation.Images;

// Gå igenom alla bilder
foreach (IPPImage image in images)
{
  var code = image.SystemImage;
  // Spara bilden i minnesströmmen
  MemoryStream imgStream = new MemoryStream();
  code.Save(imgStream, ImageFormat.Bmp);

  // Känn igen streckkoden från bildströmmen ovan
  using (BarCodeReader reader = new BarCodeReader(new Bitmap(imgStream), DecodeType.QR))
  {
    foreach (BarCodeResult result in reader.ReadBarCodes())
    {
      Console.WriteLine("Codetext found: " + result.CodeText);
      Console.WriteLine("Symbology: " + result.CodeType);
    }
  }
}
Codetext found: https://www.aspose.com
Symbology: QR

Skaffa en gratis licens

Du kan få en gratis tillfällig licens för att prova biblioteket utan utvärderingsbegränsningar.

Slutsats

I den här artikeln har vi lärt oss hur man:

  • skapa en PowerPoint-presentation programmatiskt;
  • lägg till en ny bild i presentationen med en fördefinierad bildlayout;
  • generera en QR-kodbild och lägg till den i presentationen;
  • skapa en streckkod och infoga den i presentationen;
  • läs en QR-bild från en PowerPoint-presentation med C#.

Dessutom kan du lära dig mer om Aspose.BarCode för .NET API med hjälp av dokumentationen. I händelse av oklarheter, var god kontakta oss på forumet.

Se även