Téigh API le haghaidh Cruthú & Próiseáil Doiciméad PDF
Open Source Go Library a thugann an cumas d'fhorbróirí Doiciméid PDF a Chruthú, a Chur in Eagar, a ionramháil agus a Thiontú.
Is leabharlann oscailte Source Go í an unipdf ar féidir léi gach ceist a bhaineann le cruthú agus ionramháil doiciméad PDF a láimhseáil go héasca. Tá an leabharlann ar fáil faoi cheadúnas déach áit ar féidir ceadúnas AGPL a úsáid chun bogearraí foinse oscailte a fhorbairt. Soláthraíonn an leabharlann tacaíocht iomlán chun doiciméid PDF a ghiniúint le leibhéal ard téacs, líníochtaí agus íomhánna.
Tacaíonn leabharlann foinse oscailte unipdf le roinnt gnéithe coitianta chomh maith le gnéithe casta chun doiciméid PDF a phróiseáil agus a bharrfheabhsú, mar shampla tuarascálacha PDF a chruthú, tuarascálacha PDF a ghiniúint, sonraisc a chruthú, cruthú agus láimhseáil alt, leathanaigh PDF a chumasc agus a scoilteadh, leathanaigh a rothlú, téacs a bhaint as. Comhaid PDF, onnmhairiú PDF go CSV, tiontaigh Íomhánna go PDF, comhbhrú agus barrfheabhsú PDF, comhaid PDF comhartha uisce, tacaíocht do chlónna ilchodacha (carachtair Unicode), sínithe digiteacha agus go leor eile.
.
Tús a chur le unipdf
Chun an unipdf a shuiteáil ar do chóras, rith an t-ordú seo a leanas.
Suiteáil gofpdf trí GitHub
go get github.com/unidoc/unipdf/v3
Chun an nuashonrú is déanaí a fháil tabhair cuairt ar an táirgeleathanach eisiúintí .
Gin Tuairisc PDF trí Go API
Soláthraíonn API foinse oscailte unipdf an cumas d’fhorbróirí tuarascálacha PDF a chruthú laistigh dá bhfeidhmchláir Go féin. Ligeann an leabharlann d’fhorbróirí oibriú go héifeachtach le doiciméid PDF agus chuimsigh sí tacaíocht chun íomhánna, táblaí, ceanntásca, buntásca, agus go leor eile a chur isteach i do thuarascálacha PDF gan stró. Is féidir leat freisin ábhar dinimiciúil a chur isteach i do thuarascálacha PDF gan ach cúpla líne de chód.
Tiontaigh Comhad PDF go CSV trí Go API
Cuireann leabharlann unipdf ar chumas forbróirí bogearraí comhaid PDF a thiontú go formáidí comhaid CSV laistigh dá bhfeidhmchláir Go féin. Uirlis an-úsáideach d’institiúidí gnó agus taighde is ea tiontairí PDF go Excel. Tá sé an-éasca le húsáid agus soláthraíonn sé an cumas TextMarks a bhaint as PDF, agus iad a ghrúpáil le chéile i bhfocail, i sraitheanna agus i gcolúin le haghaidh sonraí CSV a eastóscadh.
Íomhánna a chur isteach i bhformáid pdf
Tugann an API foinse oscailte unipdf an cumas do ríomhchláraitheoirí bogearraí íomhánna dá rogha féin a chur isteach i ndoiciméid PDF taobh istigh d’fheidhmchláir GO. Déanann sé poist fhorbróra níos éasca agus íomhánna á gcur sa doiciméad PDF, gan a bheith buartha faoi chomhordanáidí. Ní mór duit ach cosán agus méid na híomhá a sholáthar gan a bheith buartha faoi na comhordanáidí. Áiríodh sa leabharlann tacaíocht d’fhormáidí íomhánna coitianta mar JPEG, PNG, GIF, TIFF, agus go leor eile.
// 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
}
Cuir Pasfhocal le Doiciméid PDF
Tugann an API unipdf saor in aisce an chumhacht d’fhorbróirí a ndoiciméid PDF a chosaint trí phasfhocal a chur i bhfeidhm orthu ag baint úsáide as orduithe Go. Is féidir leat srian a chur ar úsáideoirí doiciméid PDF a oscailt agus a léamh. Is féidir leat pasfhocal an úinéara a shocrú freisin chun rochtain iomlán ar an gcomhad PDF a dheonú. Ina theannta sin, is féidir leat srian a chur ar úsáideoirí ó aon sórt athruithe a dhéanamh ar chodanna áirithe de dhoiciméid 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
}