I was recently trying to transfer a pdf file from my Linux machine to my iOS device for reading. I can't access iCloud Drive, and I couldn't AirDrop since I am using Linux, so I came up with a fairly simple solution. First, I put the PDF into some random folder (I used my Downloads folder)
$> cp reading.pdf ~/Downloads
Then I started a simple HTTP Server there:
$> cd Downloads; python3 -m http.server
Then I used Linux's
ifconfig command to find my local network IP address (not the external one that websites see). Depending on your situation, I'd do a quick search to see how you can find your local network IP address on your machine.
Then I browsed to that IP on Safari, using the port that python3 was running the server out of. There was just a list of files in the directory that my iOS device could see, and I clicked on the filename of the PDF. Then I uploaded/copied from Safari to the iOS Books app, and then closed down python's HTTP Server. The PDF stays in iOS Books of course so that I can keep reading.