1. Produkter
  2.   PDF
  3.   GO
  4.   unipdf  
 
  

Gå till API för att skapa och bearbeta PDF-dokument 

Open Source Go-bibliotek som ger utvecklare möjligheten att skapa, redigera, manipulera och konvertera PDF-dokument.

unipdf är ett Go-bibliotek med öppen källkod som enkelt kan hantera alla dina frågor relaterade till skapande och manipulering av PDF-dokument. Biblioteket är tillgängligt med dubbla licenser där AGPL-licens kan användas för utveckling av programvara med öppen källkod. Biblioteket ger komplett stöd för att generera PDF-dokument med en hög nivå av text, ritningar och bilder.

Unipdf-biblioteket med öppen källkod stöder flera vanliga såväl som avancerade funktioner för att bearbeta och optimera PDF-dokument, som att skapa PDF-rapporter, skapa PDF-rapporter, skapa fakturor, skapa och hantera stycken, slå samman och dela PDF-sidor, rotera sidor, extrahera text från PDF-filer, exportera PDF till CSV, konvertera bilder till PDF, komprimera och optimera PDF, vattenstämpla PDF-filer, stöd för sammansatta teckensnitt (Unicode-tecken), digitala signaturer och många fler.

.

Previous Next

Komma igång med unipdf

För att installera unipdf på ditt system, kör följande kommando. 

Installera gofpdf via GitHub

go get github.com/unidoc/unipdf/v3

För den senaste uppdateringen besök produktreleasesidan .

Generera PDF-rapport via Go API

Open source unipdf API ger utvecklare möjlighet att skapa PDF-rapporter i sina egna Go-applikationer. Biblioteket tillåter utvecklare att effektivt arbeta med PDF-dokument och har inkluderat stöd för att enkelt lägga till bilder, tabeller, sidhuvuden, sidfötter och mycket mer i dina PDF-rapporter. Du kan också placera dynamiskt innehåll i dina PDF-rapporter med bara ett par rader kod.

Konvertera PDF-fil till CSV via Go API

unipdf-biblioteket gör det möjligt för mjukvaruutvecklare att konvertera PDF-filer till CSV-filformat i sina egna Go-applikationer. PDF till Excel-konverterare är ett mycket användbart verktyg för företag och forskningsinstitutioner. Det är väldigt lätt att använda och ger möjlighet att extrahera TextMarks från PDF och gruppera dem i ord, rader och kolumner för CSV-dataextraktion.

Infoga bilder i PDF

Open source unipdf API ger programvaruprogrammerare möjlighet att lägga till bilder efter eget val i PDF-dokument i GO-applikationer. Det gör utvecklarens jobb enklare samtidigt som bilderna placeras i PDF-dokumentet, utan att behöva oroa sig för koordinater. Du behöver bara ange bildens väg och storlek utan att oroa dig för koordinaterna. Biblioteket har inkluderat stöd för populära bildformat som JPEG, PNG, GIF, TIFF och mer.

 // Images to PDF.
func imagesToPdf(inputPaths []string, outputPath string) error {
	c := creator.New()
	for _, imgPath := range inputPaths {
		common.Log.Debug("Image: %s", imgPath)
		img, err := c.NewImageFromFile(imgPath)
		if err != nil {
			common.Log.Debug("Error loading image: %v", err)
			return err
		}
		img.ScaleToWidth(612.0)
		// Use page width of 612 points, and calculate the height proportionally based on the image.
		// Standard PPI is 72 points per inch, thus a width of 8.5"
		height := 612.0 * img.Height() / img.Width()
		c.SetPageSize(creator.PageSize{612, height})
		c.NewPage()
		img.SetPos(0, 0)
		_ = c.Draw(img)
	}
	err := c.WriteToFile(outputPath)
	return err
}
  

Lägg till lösenord till PDF-dokument

Det kostnadsfria unipdf API ger utvecklare möjlighet att skydda sina PDF-dokument genom att använda ett lösenord på dem med hjälp av Go-kommandon. Du kan begränsa användare från att öppna och läsa PDF-dokument. Du kan också ställa in ägarlösenordet för att ge full åtkomst till PDF-filen. Dessutom kan du också begränsa användare från att göra någon form av ändringar i vissa delar av PDF-dokument.

func protectPdf(inputPath string, outputPath string, userPassword, ownerPassword string) error {
	permissions := security.PermPrinting | // Allow printing with low quality
		security.PermFullPrintQuality |
		security.PermModify | // Allow modifications.
		security.PermAnnotate | // Allow annotations.
		security.PermFillForms |
		security.PermRotateInsert | // Allow modifying page order, rotating pages etc.
		security.PermExtractGraphics | // Allow extracting graphics.
		security.PermDisabilityExtract // Allow extracting graphics (accessibility)
	encryptOptions := &model.EncryptOptions{
		Permissions: permissions,
	}
	f, err := os.Open(inputPath)
	if err != nil {
		return err
	}
	defer f.Close()
	pdfReader, err := model.NewPdfReader(f)
	if err != nil {
		return err
	}
	isEncrypted, err := pdfReader.IsEncrypted()
	if err != nil {
		return err
	}
	if isEncrypted {
		return fmt.Errorf("The PDF is already locked (need to unlock first)")
	}
	// Generate a PdfWriter instance from existing PdfReader.
	pdfWriter, err := pdfReader.ToWriter(nil)
	if err != nil {
		return err
	}
	// Encrypt document before writing to file.
	err = pdfWriter.Encrypt([]byte(userPassword), []byte(ownerPassword), encryptOptions)
	if err != nil {
		return err
	}
	// Write to file.
	err = pdfWriter.WriteToFile(outputPath)
	return err
}
  
 Svenska