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

Przejdź API do tworzenia i przetwarzania dokumentów PDF 

Biblioteka Open Source Go, która daje programistom możliwość tworzenia, edytowania, manipulowania i konwertowania dokumentów PDF.

Unipdf to otwarta biblioteka Source Go, która może z łatwością obsłużyć wszystkie zapytania związane z tworzeniem i manipulacją dokumentami PDF. Biblioteka jest dostępna na podwójnej licencji, gdzie licencja AGPL może być używana do tworzenia oprogramowania open source. Biblioteka zapewnia pełną obsługę generowania dokumentów PDF z wysokim poziomem tekstu, rysunków i obrazów.

Biblioteka unipdf typu open source obsługuje kilka popularnych i zaawansowanych funkcji przetwarzania i optymalizacji dokumentów PDF, takich jak tworzenie raportów PDF, generowanie raportów PDF, tworzenie faktur, tworzenie i obsługa akapitów, łączenie i dzielenie stron PDF, obracanie stron, wyodrębnianie tekstu z Pliki PDF, eksportuj PDF do CSV, konwertuj obrazy do PDF, kompresuj i optymalizuj PDF, pliki PDF ze znakami wodnymi, obsługa czcionek kompozytowych (znaków Unicode), podpisy cyfrowe i wiele innych.

.

Previous Next

Pierwsze kroki z unipdf

Aby zainstalować unipdf w swoim systemie, uruchom następujące polecenie. 

Zainstaluj gofpdf przez GitHub

go get github.com/unidoc/unipdf/v3

Aby uzyskać najnowszą aktualizację, odwiedź stronę wersji produktu .

Generuj raport PDF za pomocą Go API

API unipdf o otwartym kodzie źródłowym zapewnia programistom możliwość tworzenia raportów PDF we własnych aplikacjach Go. Biblioteka umożliwia programistom wydajną pracę z dokumentami PDF i zawiera obsługę łatwego dodawania obrazów, tabel, nagłówków, stopek i wielu innych elementów do raportów PDF. Możesz także umieścić dynamiczną zawartość w swoich raportach PDF za pomocą zaledwie kilku linijek kodu.

Konwertuj plik PDF na CSV za pomocą Go API

Biblioteka unipdf umożliwia programistom konwertowanie plików PDF na formaty plików CSV w ich własnych aplikacjach Go. Konwertery PDF na Excel to bardzo przydatne narzędzie dla biznesu i instytucji badawczych. Jest bardzo łatwy w użyciu i zapewnia możliwość wyodrębniania TextMarks z pliku PDF i grupowania ich w słowa, wiersze i kolumny w celu wyodrębnienia danych CSV.

Wstaw obrazy do PDF

API unipdf o otwartym kodzie źródłowym daje programistom możliwość dodawania własnych obrazów do dokumentów PDF w aplikacjach GO. Ułatwia pracę programisty podczas umieszczania obrazów w dokumencie PDF, bez martwienia się o współrzędne. Wystarczy podać ścieżkę i rozmiar obrazu, nie martwiąc się o współrzędne. Biblioteka zawiera obsługę popularnych formatów graficznych, takich jak JPEG, PNG, GIF, TIFF i innych.

 // 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
}
  

Dodaj hasło do dokumentów PDF

Bezpłatny interfejs API unipdf daje programistom możliwość ochrony dokumentów PDF poprzez zastosowanie do nich hasła za pomocą poleceń Go. Możesz ograniczyć użytkownikom możliwość otwierania i czytania dokumentów PDF. Możesz również ustawić hasło właściciela, aby zapewnić pełny dostęp do pliku PDF. Co więcej, możesz także ograniczyć użytkownikom możliwość dokonywania jakichkolwiek zmian w niektórych częściach dokumentów PDF.

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
}
  
 Polski